blog · Jul 4, 2026

why i built smolanalytics

Arjun Varma · maker of smolanalytics

the short version

GA4 confused me into quitting analytics entirely. so i built the tool i wanted: a verdict that says what to fix, exact answers in my editor, one isolated instance per project.

i ship products constantly. web apps, a trading bot, a billing engine, side bets that live or die in a month. every one of them needs the same boring answer: is anyone using this, and did the thing i shipped yesterday actually work.

for years my answer was GA4, because it was free and it was the default. GA4 is also the reason i quit analytics entirely.

the ga4 breakup

i would open GA4 to answer something simple, like "how many people hit the pricing page this week." twenty minutes later i'd be three menus deep in explorations and dimensions, looking at thresholded numbers i didn't trust, still without the answer. so i did what a lot of people quietly do: i stopped opening it. then i stopped adding it to new projects at all. i shipped blind for months and told myself i'd feel product-market fit in my gut.

shipping blind is worse. i just didn't want to admit that the fix was "spend more time inside an analytics dashboard," because every tool i tried had the same shape: the data lives over there, in their app, and you are expected to come visit, learn their UI, and dig. i live in my editor. that's where i build, that's where i want the answer.

so i built the thing i wanted.

what is smolanalytics

this post is where it started, and the product has moved since. what it is now: smolanalytics runs end-to-end tests that have no test code. you write one sentence describing what should work, an agent drives a real browser on every pull request, and one comment says what broke. a run that passes is recorded and replays with no model call at all. the same walk through your product knows which user actions exist, so it also writes and maintains your tracking calls inside the SDK you already run — PostHog, Mixpanel, Amplitude, GA4, Plausible or Segment. it does not replace them; it keeps their instrumentation correct. $19/month, one plan, with a 14-day trial at Pro limits and no card.

the analytics engine this post is about is still underneath, and it is still the answer if you have none: web analytics (visitors, referrers, UTM, live view) and product analytics (funnels, retention, trends, paths, cohorts) from the same events, plus flags, experiments, heatmaps, surveys and a session inspector. it is also an MCP server, so Claude Code or Cursor answers questions in your editor with exact computed numbers, using the model you already pay for; smolanalytics itself runs no AI on that path, so it costs nothing. answers come from deterministic reports, never AI-generated SQL, and a CI test asserts the editor's answer always equals the HTTP API's. the one thing it deliberately does not do is pixel-perfect DOM session recording, and your data sits on its own isolated instance, exportable in one file any time.

analytics that comes to you

the core inversion is simple. every tool wants you to come to the data. smolanalytics sends the data to where you already are:

the verdict. the dashboard doesn't open with charts, it opens with a sentence: what dropped, where the leak is, what to look at. the charts are underneath as evidence. whats_notable is the same thing as an MCP tool, so your agent can run that check for you any time.

your editor. run npx smolanalytics connect once and your coding assistant gets 97 tools and 15 prompts. then you just ask, in the same window you write code:

you ▸ did signups improve this week?
ai  ▸ signups: 212 this week vs 180 last week, up 18%.
      the lift is /pricing traffic from news.ycombinator.com.
      the funnel after signup is unchanged: 62% reach activate.
      want the breakdown by plan?

those numbers are example output, the shape of a real answer. they are not my traffic. i launched this month; i don't have traffic worth quoting yet.

the weekly email. the brief digests every site on the instance: what grew, what broke, what to look at, split per product. it just arrives, once a week, on a monday. i point all my projects at one instance and read one digest instead of opening a tab per dashboard.

the number can't be made up

this is the part i'd be most skeptical of if someone else wrote this post. AI assistants bolted onto analytics tools mostly work by generating queries: PostHog's MCP, for example, lets the model write HogQL. a generated query is a second path to your data, and a second path can disagree with what the API computes. smolanalytics can't drift like that, structurally. the MCP tools don't generate queries at all; they call the exact same deterministic report functions the HTTP API serves, so there is no second query path. and that isn't a promise in a README, it's a test: the agreement test seeds a server, asks the same question through the HTTP API and through the MCP server, and fails the build if the answers aren't identical. it runs in CI on every commit, so the claim can't quietly rot. the honest caveat: your model can still ask the wrong question. it just cannot invent the number.

what it will never do

the graveyard of analytics tools is "one tool that became nine services, each needing its own cluster." so the whole toolkit here (flags, experiments, heatmaps, surveys, a session inspector) runs from the same engine and the same events, and the never-list stays short, written down: no pixel-perfect DOM session recording, no data warehouses, no multi-node clustering. other tools do those well, and bundling a warehouse and a cluster is how an analytics bill turns into a pricing calculator. this stays one small engine that answers questions about your events, exactly. events are about 7 bytes each on disk, which is a big part of why the flat price can stay flat.

the trust model

i should be upfront about what this is. it's me, solo. it launched this month. there are no testimonials on the site because there are no testimonials, and i won't fake any.

so trust can't come from a track record. it has to come from the design: every answer ships a computed_by receipt you can re-run, the agreement test runs on every commit, the storage format is documented with compatibility guarantees, export is one call to csv or jsonl, and there's no phone-home. each project runs on its own isolated instance, and the worst case, if this isn't for you, is that you export everything in one file and leave. i'm not asking anyone to trust me. i'm asking for 14 days.

the price is flat: a 14-day trial at Pro limits with no card, then $19/month, with the brief delivered by email. going over your included events never locks the dashboard. that's the business, the whole business: no ads, no reselling your data.

try it

open the live demo: a populated dashboard, verdict and ask bar included, no signup.

if you're weighing it against what you run now: the docs. the 15 built-in prompts, with the shape of each answer, are in the docs.

if you read this far and something's missing before you'd switch, tell me. i'm easy to find and i answer.

smolanalytics runs your end-to-end tests: one sentence per test, an agent in a real browser on every pull request. try the cloud or start the 14-day trial.

related posts