Case study 06 · My own product

Asklytics

An AI analytics product I founded and build: upload a spreadsheet or connect a source, ask a question in plain English, and get the answer as a chart. For agencies, the same engine writes and delivers client reports from GA4, Search Console, Google Ads and Meta Ads.

Role
Founder, architect and engineer
Year
2026
Stack
NestJS, React, MongoDB, LLM APIs
Asklytics website

01The problem

Asking a simple question about company data meant waiting for whoever could write the query, and questions that spanned several systems meant exporting and joining data by hand. Dashboards answered the questions someone had thought of last quarter, not the one on the table today.

I kept seeing the same bottleneck from the engineering side: people with good questions waiting on people who could write queries. Asklytics is my answer to that, built as a product rather than a feature, which means I own every part of it, from the data model to billing to the privacy promises on the landing page.

02Architecture

A modular NestJS backend on MongoDB, a React client, and a language model behind a typed JSON contract. A question goes in as plain English. Simple questions are answered by rules without the model; the rest go to the model, which sees the column names and summary statistics and returns a structured intent, never a query. The backend checks that intent against the real columns, builds the query itself and returns the answer shaped as a chart.

Ingestion
CSV, Excel and Google Sheets, stored in 1,000-row chunks tagged with the organisation; each plan sets its row limit.
Ask
Plain-English questions turned into a structured intent and matched to the dataset's own columns. Code, not the model, builds the query.
Charts
Bar, line, pie, KPI cards, tables and multi-chart dashboards generated from one prompt.
History
Every query saved with its chart and dataset reference, so any past analysis replays in one click.
Workspaces
Organisation-based teams with shared datasets, access control and audit trails.
Agency reporting
GA4, Search Console, Google Ads and Meta Ads per client; AI-written PDF reports, scheduled delivery and branded portal links.
questionrules firstlanguage modelcolumns + stats onlyJSON intentcheckedvs real columnssimple questions skip the modelquery built by codeorg match firstruns on one datasetchart + history
Asklytics question pipeline, simplified from the code

Underneath: every query filtered to the organisation that owns the data, dataset ownership checked again before a query runs, HTTP-only JWT cookies for sessions, and TLS in transit.

03Decisions

  1. 01

    The question is the interface

    No dashboard to build first. A team connects a source and asks; the chart is the answer, not a project. That is what lets a team get its first answer the same day it connects its data.

    Trade-off Every answer depends on reading the question correctly, so the mapping from words to columns carries the whole product.

  2. 02

    Map questions to the real schema, not to guesses

    The model works from the dataset's actual column names, and the backend builds and runs the query. Answers come from the stored data, not from the model's memory of what data like this usually looks like.

    Trade-off Messy or cryptic column names make for weaker answers until the dataset is cleaned up.

  3. 03

    Organisation scoping, checked twice

    Every stored row carries its organisation, and every query starts by matching it. Ownership of the dataset is checked again right before a query runs, and the query is assembled by code from a fixed set of operations, never from text the model wrote. For a product that asks companies to upload their data, that is the product, not a feature.

    Trade-off It is row-level scoping in shared collections, not separate databases, so the scoping code has to be right every time.

  4. 04

    Keep every answer replayable

    Each query is stored with its chart and a reference to the dataset it ran on, so an analysis can be reopened, rerun and shared instead of rebuilt from memory.

    Trade-off More storage per question, and history has to respect the same access rules as the data.

04Proof

3
Ways to bring data in: CSV, Excel, Google Sheets
4
Ad and search platforms for agency reports
Same day
From connecting a source to the first answer

NextTalk

I build products end to end, not just features.

If you need someone who can take an idea from the data model to paying customers, let's talk.

Md Shoharab Pk, Senior Full-Stack Engineerdevshoharab@gmail.com