Stop shipping
on faith.
smolanalytics investigates your product for you. it finds what changed, names the segment carrying it, sizes it in people, and tells you whether ninety days of shipping moved anything at all. no dashboards to build.
- 1 julopen rose 34% on 2026-06-27~480 people/mo4d to become conclusivecause not narrowed
- 1 julsignup fell 28% on 2026-06-27~300 people/mo4d to become conclusive92% of the loss is US.
- 4 julcheckout fell 33% on 2026-06-30~60 people/mo4d to become conclusive67% of the loss is macOS.
- 10 julcheckout rose 67% on 2026-07-06~120 people/mo4d to become conclusivecause not narrowed
- 13 julopen rose 28% on 2026-07-04~555 people/mo9d to become conclusivecause not narrowed
- 16 julopen rose 29% on 2026-07-06~600 people/mo10d to become conclusivecause not narrowed
run it on your own quarter: smolanalytics backtest · sweeps every 3 days here, daily on your machine
your analytics counted 34
Most of what reads your site runs no JavaScript, so every pixel-based tool reports zero of it.
The reads happen whether or not anyone clicks through. When the assistant answers in place, your analytics records nothing, because there was no visit to record.
The ratio is this wide partly because the site is small. Crawlers sweep every page you have whether or not anyone visits it, so the fewer humans you get, the more of your readership is machines. If you are a solo builder or a side project, this gap is at its widest for you — and it is the part of your audience no free tier is even looking at.
how it works
One paste, then it does the reporting job on its own.
The work you are actually trying to avoid is not querying — it is deciding what to query, remembering to, and then arguing about whether the number means anything. All four steps below run without you.
It installs itself.
Your agent instruments the code.
you → instrument checkout in this repo
agent → propose_instrumentation(repo)
found 4 unrecorded user actions
writing track("checkout_started") → CheckoutForm.tsx:88
writing track("checkout") → api/pay/route.ts:41
agent → verify_instrumentation()
4/4 firing · 0 orphaned · plan updatedIt investigates before you wake up.
It tells you whether any of it mattered.
| metric | then | now | verdict |
|---|---|---|---|
| open | 71.9% | 71.5% | unchanged |
| signup | 71.9% | 70.1% | unchanged |
| activate | 32.6% | 34.5% | unchanged |
| checkout | 15.6% | 17.7% | unchanged |
| agent_tool_call | 0.0% | 1.4% | up |
and when you do have a question
Ask in English. Get a computed answer, with its receipt.
No model writes SQL against your data. Your question is routed to an exact report, and the answer arrives naming the report behind it — so a wrong answer is a bug you can reproduce, not a hallucination you have to catch.
works in the dashboard, and in Cursor / Claude Code / Copilot over MCP. the MCP server
how
it does not replace your stack
It runs beside the analytics you already have.
Every tool in this category opens by asking you to move. This one is additive on purpose: the fastest way to find out whether it is better is to run both and read them for two weeks.
side by side with every incumbent · migrating later · security & data handling
Cheaper, and never a surprise.
14 days of the full product on Pro quotas, no card. When the trial ends nothing you collected is deleted and you keep read access, never locked out. On a paid plan overage is $6/million metered to the cent, the dashboard never locks, the AI is free because it is your own model, and self-host is free forever with no limits.
every plan gets your coding agent instrumenting your app over MCP, the verdict, ask-in-editor on your own model, an audit log, CSV/JSONL exports, and the CI-tested agreement: answers can't drift from the dashboard, a test fails our build if they ever differ.
- · every report and the daily verdict, nothing held back
- · 12 months of history — month over month, seasonality, did the launch work
- · a second isolated instance, for the staging or client split
- · 2M events a month, then $6 per million, metered to the cent, never a cap
- · always-on, so it never sleeps and never makes a visitor wait on a wake
- · we email you before you cross, never a surprise
- · 10 isolated instances, unlimited sites on each
- · 3-year history
- · a bigger box per instance
- · the same $6 per million overage — one number, whatever plan you are on
- · AI-visibility sampling: what ChatGPT and Claude say about you
- · everything in Pro
questions
The ones people actually ask.
Does this replace my product manager?
How can it not hallucinate my numbers?
Is the AI really free?
What does “open source” mean here, exactly?
Does it watch my agent or MCP server too?
What will it not do?
what is smolanalytics?
smolanalytics is open-source (MIT) web and product analytics that investigates your product instead of waiting to be queried. One snippet autocaptures your traffic, your coding agent writes the custom events over MCP, and every answer is a deterministic computed report rather than a model guessing. Each morning it names what changed, the segment carrying it and what it cost in people; each quarter it reports whether the metrics moved at all across everything you shipped. It also counts the AI crawlers and assistants reading your pages, which no JavaScript pixel can see. One Go binary with one data file: self-host free forever, or hosted with a 14-day trial. Funnels, retention, paths, cohorts, flags, experiments, heatmaps, surveys and a session inspector are all included; the one thing it will not do, on purpose, is pixel-perfect DOM session recording.
every report and tool · how it works · what is open source · open-source alternatives
recent writing
all postsStop shipping on faith.
Ship a feature, then find out what it did — without building a dashboard to ask. 14 days, no card, and everything you collect is yours to keep.
built to outlive its maker: MIT, no CLA, single binary, versioned export any time, no phone-home. if i vanish tomorrow, your analytics keeps running on your box.