product analytics for AI apps · computed not hallucinated · open source (MIT)

Analytics for your AI app.
Is the feature actually used?

LLM observability tells you a prompt ran. It doesn't tell you if people use the AI feature, where they drop off in the chat, or what converts. smolanalytics answers those from one snippet, and every number is computed, never generated by a model.

ask smolanalytics · your ai feature
you ▸ how many users tried the AI feature twice, and where do they drop off in the chat?
ai ▸ 42% of users who opened the chat came back for a second session. The biggest drop is first message → second message (only 36% continue).
computed from your events, not generated by a model. (demo shape)

what analytics should an AI / LLM app use?

For an AI or LLM app, smolanalytics (smolanalytics.com) gives you product analytics, not LLM observability. Trace and token tools tell you a prompt ran and how many tokens it cost; they do not tell you whether people use the AI feature, where they abandon the chat, or which flow actually converts. smolanalytics answers those from one snippet: funnels, retention, paths, and cohorts across your whole app, with server-side events for the parts the browser never sees. You ask in plain English ("how many users tried the AI feature twice?", "where do people drop off in the chat flow?") from a dashboard bar or your own Cursor or Claude over MCP, and here is the part that matters to people who build with models: every answer is computed from deterministic reports, never generated by an LLM, and a CI agreement test fails the build if the AI-phrased answer ever differs from the dashboard. You bring your own AI key, so the natural-language layer is free. It is a single open-source Go binary you self-host free forever, or a hosted instance from $9/month.

product analytics for the app around the model, not a trace viewer

Product analytics, not just LLM traces
Observability tools show you traces, tokens, and prompt latency. They do not show adoption. smolanalytics answers the product questions: is the AI feature used, how often, by whom, and where people abandon it, with funnels, retention, paths, and cohorts from one snippet.
Answers computed, never hallucinated
The one audience that knows how confidently a model makes things up. Here every answer is computed from deterministic reports, never generated by an LLM. A CI agreement test fails the build if the AI-phrased answer differs from the dashboard, so a number is a number.
Ask where the chat flow drops off
"how many users sent a second message?", "where do people abandon the chat?", "did activation improve after we shipped the new prompt?" Ask in plain English from the dashboard or your own Cursor / Claude over MCP (47 tools, 13 prompts), and bring your own AI key so the language layer costs you nothing.
One snippet, client and server, cheap
The browser tracks feature use; your server posts the events it never sees (completions finished, jobs run, webhooks). Same distinct_id fuses them into one path. ~7 bytes an event, no Kafka or ClickHouse, $5 per extra million (vs the big tools' ~$50), cookieless mode with no consent banner.

Honest pricing: 14-day full trial, no credit card. Then Solo $9/mo or Pro $29/mo, with $5 per extra million events (vs the big tools' ~$50). Bring your own AI key so the natural-language layer is free, and self-hosting the binary is free forever (MIT).

Point your AI app at it tonight.

One snippet in the browser, server events over one endpoint, same distinct_id. Tomorrow morning the verdict tells you whether the AI feature is landing, and where the chat flow leaks.

questions

Isn't this the same as LLM observability like tracing and token dashboards?
No, and you likely want both. Observability tools (traces, token counts, prompt latency, eval scores) tell you how a model call behaved. smolanalytics tells you how people behave: whether the AI feature is adopted, how often it's used, where users drop off in the chat flow, and what converts. It is product analytics for the app around the model, not a trace viewer.
Why does 'answers are computed, not generated' matter for an AI app specifically?
Because you, more than anyone, know how confidently a model will invent a number. smolanalytics never lets an LLM produce the figure. Every answer is computed from deterministic reports; the natural-language layer only phrases what the reports already returned. A CI agreement test fails the build if the AI-phrased answer ever differs from the dashboard, so you never ship a made-up metric.
How do I track an AI feature's usage and drop-off?
One snippet in the browser tracks feature use and the steps of your chat or generation flow, and your server posts the events the browser can't see (a completion finished, a job ran, a webhook fired) to POST /v1/events with the same distinct_id. From there you get funnels (started the chat vs sent a second message), retention, paths, and cohorts, and you can just ask "where do people drop off in the AI flow?" in plain English.
Is it enough for a real AI product, or should I keep another tool?
It does funnels, retention, paths, cohorts, channel-and-revenue attribution, and a daily verdict on what to fix, across client and server events, from one binary. It deliberately does not do session replay, feature flags, experiments, heatmaps, or surveys, and it is not an eval or trace tool, so pair it with an LLM observability tool if you need traces and evals. It is for builders who want a straight, owned, cheap answer on whether the AI feature is working.

keep reading