Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
smolanalytics
command
Command smolanalytics is the single binary: product analytics you can run with one command, no cluster.
|
Command smolanalytics is the single binary: product analytics you can run with one command, no cluster. |
|
internal
|
|
|
acted
Package acted is the outcome ledger: which findings a human said they acted on, and when.
|
Package acted is the outcome ledger: which findings a human said they acted on, and when. |
|
agent
Package agent computes agent-observability reports over the same generic event log everything else in the engine runs on — no new storage, no schema change.
|
Package agent computes agent-observability reports over the same generic event log everything else in the engine runs on — no new storage, no schema change. |
|
aicrawl
Package aicrawl aggregates $ai_crawl events: the AI crawlers' own visits to the customer's site, recorded server-side.
|
Package aicrawl aggregates $ai_crawl events: the AI crawlers' own visits to the customer's site, recorded server-side. |
|
aivis
Package aivis aggregates $geo_check events — AI-visibility sampling results the cloud runner (or any self-hoster's script) records as ordinary events on the instance.
|
Package aivis aggregates $geo_check events — AI-visibility sampling results the cloud runner (or any self-hoster's script) records as ordinary events on the instance. |
|
alert
Package alert defines threshold alerts on event metrics — "fire when <event> count over the last N hours is above/below a threshold".
|
Package alert defines threshold alerts on event metrics — "fire when <event> count over the last N hours is above/below a threshold". |
|
alias
Package alias joins anonymous pre-login activity to the logged-in user — identity stitching.
|
Package alias joins anonymous pre-login activity to the logged-in user — identity stitching. |
|
api
Package api serves the single-binary HTTP surface: event ingestion + the server-rendered dashboard.
|
Package api serves the single-binary HTTP surface: event ingestion + the server-rendered dashboard. |
|
audit
Package audit is the change log every real product needs — a record of the operator actions that mutate config or data (account changes, key create/revoke, retention, data clears).
|
Package audit is the change log every real product needs — a record of the operator actions that mutate config or data (account changes, key create/revoke, retention, data clears). |
|
botua
Package botua identifies crawler/bot user agents so autocaptured web traffic ($pageview/$click) doesn't inflate every report.
|
Package botua identifies crawler/bot user agents so autocaptured web traffic ($pageview/$click) doesn't inflate every report. |
|
brief
Package brief computes the morning "what to fix" digest: the pulse (last N days vs the N before), the per-product portfolio split, and the verdict engine's findings.
|
Package brief computes the morning "what to fix" digest: the pulse (last N days vs the N before), the per-product portfolio split, and the verdict engine's findings. |
|
claim
Package claim turns a merged pull request into a prediction with a deadline.
|
Package claim turns a merged pull request into a prediction with a deadline. |
|
cohort
Package cohort defines reusable user groups — "users who did checkout", "users from Hacker News who activated" — that you define once and apply across every report.
|
Package cohort defines reusable user groups — "users who did checkout", "users from Hacker News who activated" — that you define once and apply across every report. |
|
connector
Package connector reads the analytics tool someone ALREADY has, and does it without pulling their raw event log.
|
Package connector reads the analytics tool someone ALREADY has, and does it without pulling their raw event log. |
|
defined
Package defined implements retroactive, zero-code events — the Heap wedge.
|
Package defined implements retroactive, zero-code events — the Heap wedge. |
|
demo
Package demo seeds a realistic dataset so `smolanalytics demo` shows a populated, beautiful dashboard with zero setup — the 60-second "oh" moment.
|
Package demo seeds a realistic dataset so `smolanalytics demo` shows a populated, beautiful dashboard with zero setup — the 60-second "oh" moment. |
|
deploys
Package deploys records deployment markers — a timestamped point ("this shipped then") you overlay on any metric to answer the one question every other analytics tool leaves you guessing: did that deploy move the number? Markers are cheap to record (a git sha + message from CI, or a named release by hand); the impact math lives in impact.go and is the same trends engine the dashboard renders, so the answer is computed, never guessed, and a CI test pins it to the dashboard.
|
Package deploys records deployment markers — a timestamped point ("this shipped then") you overlay on any metric to answer the one question every other analytics tool leaves you guessing: did that deploy move the number? Markers are cheap to record (a git sha + message from CI, or a named release by hand); the impact math lives in impact.go and is the same trends engine the dashboard renders, so the answer is computed, never guessed, and a CI test pins it to the dashboard. |
|
desk
Package desk is the ONE assembly of an investigation, shared by every door that serves it.
|
Package desk is the ONE assembly of an investigation, shared by every door that serves it. |
|
engagement
Package engagement computes the standard engagement reports — lifecycle (new/returning/resurrected/dormant) and stickiness (DAU/WAU/MAU) — that every product-analytics tool ships.
|
Package engagement computes the standard engagement reports — lifecycle (new/returning/resurrected/dormant) and stickiness (DAU/WAU/MAU) — that every product-analytics tool ships. |
|
errortrack
Package errortrack turns the $exception events the SDK already captures into an error report: grouped, ranked by the people they hit, and joined to the funnel they broke.
|
Package errortrack turns the $exception events the SDK already captures into an error report: grouped, ranked by the people they hit, and joined to the funnel they broke. |
|
event
Package event defines the core analytics event — the single unit everything (funnels, retention, trends) is computed from.
|
Package event defines the core analytics event — the single unit everything (funnels, retention, trends) is computed from. |
|
exportlink
Package exportlink mints one-time download links for the full raw event export (GET /export/<token>) — "give me my data" from the editor without dumping millions of rows through a conversation.
|
Package exportlink mints one-time download links for the full raw event export (GET /export/<token>) — "give me my data" from the editor without dumping millions of rows through a conversation. |
|
flag
Package flag is feature flags for smolanalytics — boolean and multivariate, with property targeting and percentage rollouts, evaluated deterministically so the same user always lands in the same bucket.
|
Package flag is feature flags for smolanalytics — boolean and multivariate, with property targeting and percentage rollouts, evaluated deterministically so the same user always lands in the same bucket. |
|
formula
Package formula evaluates arithmetic across trend series — the derived metrics every mature analytics tool has and this engine did not.
|
Package formula evaluates arithmetic across trend series — the derived metrics every mature analytics tool has and this engine did not. |
|
funnel
Package funnel computes ordered conversion funnels — the headline feature: of the users who did step 1, how many went on to do step 2, then 3, and where do they drop off.
|
Package funnel computes ordered conversion funnels — the headline feature: of the users who did step 1, how many went on to do step 2, then 3, and where do they drop off. |
|
geo
Package geo resolves visitor IPs to a country code using the DB-IP Lite free database (db-ip.com, CC BY 4.0 — the dashboard credits it wherever countries render).
|
Package geo resolves visitor IPs to a country code using the DB-IP Lite free database (db-ip.com, CC BY 4.0 — the dashboard credits it wherever countries render). |
|
goal
Package goal stores named conversion goals — "what counts as success on this site" — defined once, reusable everywhere.
|
Package goal stores named conversion goals — "what counts as success on this site" — defined once, reusable everywhere. |
|
groups
Package groups computes account-level (B2B) analytics — aggregate by a group property (company, account_id, team) instead of by user.
|
Package groups computes account-level (B2B) analytics — aggregate by a group property (company, account_id, team) instead of by user. |
|
gsc
Package gsc integrates Google Search Console: the search queries that bring people to your site, next to what they did after arriving — the one report neither GA nor the privacy tools unify well.
|
Package gsc integrates Google Search Console: the search queries that bring people to your site, next to what they did after arriving — the one report neither GA nor the privacy tools unify well. |
|
heatmap
Package heatmap turns autocaptured $click events into a click-density grid for a page, plus the top clicked elements — computed at query time over the existing events, no new stored config and no screenshots.
|
Package heatmap turns autocaptured $click events into a click-density grid for a page, plus the top clicked elements — computed at query time over the existing events, no new stored config and no screenshots. |
|
importer
Package importer brings history over from another tool so day one here isn't a zero dashboard.
|
Package importer brings history over from another tool so day one here isn't a zero dashboard. |
|
insight
Package insight produces the proactive "what's broken / what to look at" digest — the verdict founders actually want instead of a dashboard.
|
Package insight produces the proactive "what's broken / what to look at" digest — the verdict founders actually want instead of a dashboard. |
|
insights
Package insights persists saved reports and the boards they live on — the "pin this report" feature that turns ad-hoc Explore into a dashboard you open every morning.
|
Package insights persists saved reports and the boards they live on — the "pin this report" feature that turns ad-hoc Explore into a dashboard you open every morning. |
|
instrument
Package instrument turns "the agent instruments your app" from a pasted prompt into a real capability.
|
Package instrument turns "the agent instruments your app" from a pasted prompt into a real capability. |
|
investigate
Package investigate is the part of a product manager's week that is mechanical.
|
Package investigate is the part of a product manager's week that is mechanical. |
|
mcp
Package mcp exposes the analytics engine over the Model Context Protocol so the user connects smolanalytics to THEIR OWN Claude / Cursor / Claude Code and asks questions in plain English — their model calls these tools, we never call a model ourselves (no API keys, no inference cost on our side).
|
Package mcp exposes the analytics engine over the Model Context Protocol so the user connects smolanalytics to THEIR OWN Claude / Cursor / Claude Code and asks questions in plain English — their model calls these tools, we never call a model ourselves (no API keys, no inference cost on our side). |
|
paths
Package paths computes user flows — "what do users do after event X?" — the Flows / Pathfinder / Paths report.
|
Package paths computes user flows — "what do users do after event X?" — the Flows / Pathfinder / Paths report. |
|
payments
Package payments turns a payment provider's webhook into an ordinary event in the log.
|
Package payments turns a payment provider's webhook into an ordinary event in the log. |
|
person
Package person builds person profiles — the last-known traits of every user — from the event log, at query time.
|
Package person builds person profiles — the last-known traits of every user — from the event log, at query time. |
|
provenance
Package provenance answers the one question no other analytics tool can: SHOW ME THE ROWS BEHIND THIS NUMBER.
|
Package provenance answers the one question no other analytics tool can: SHOW ME THE ROWS BEHIND THIS NUMBER. |
|
query
Package query is the segmentation backbone: filter events by their properties and break them down (group by) a property.
|
Package query is the segmentation backbone: filter events by their properties and break them down (group by) a property. |
|
retention
Package retention computes cohort retention — the other core product-analytics primitive: group users by the day they first showed up, then track what % come back on day 1, 2, ...
|
Package retention computes cohort retention — the other core product-analytics primitive: group users by the day they first showed up, then track what % come back on day 1, 2, ... |
|
session
Package session reconstructs a user's journey from events already captured — pages, clicks (with positions), rage-clicks, and timing — and plays it back.
|
Package session reconstructs a user's journey from events already captured — pages, clicks (with positions), rage-clicks, and timing — and plays it back. |
|
settings
Package settings holds the operational config every real product needs — project name, timezone, managed API keys, and the session-signing secret — persisted as a single JSON file (atomic rewrite), separate from event data.
|
Package settings holds the operational config every real product needs — project name, timezone, managed API keys, and the session-signing secret — persisted as a single JSON file (atomic rewrite), separate from event data. |
|
share
Package share issues revocable read-only share links — show your traffic to a cofounder or investor without giving them a login.
|
Package share issues revocable read-only share links — show your traffic to a cofounder or investor without giving them a login. |
|
sql
Package sql is a small, read-only SQL dialect over the event stream.
|
Package sql is a small, read-only SQL dialect over the event stream. |
|
store
Package store is the data layer.
|
Package store is the data layer. |
|
store/blob
Package blob is object storage as one small interface: whole-object Put/Get/List/ Delete.
|
Package blob is object storage as one small interface: whole-object Put/Get/List/ Delete. |
|
store/file
Package file is a durable store.Store: an append-only JSONL event log that replays into memory on open.
|
Package file is a durable store.Store: an append-only JSONL event log that replays into memory on open. |
|
store/memory
Package memory is an in-memory store.Store: enough to run the full engine in tests and the zero-setup CLI demo.
|
Package memory is an in-memory store.Store: enough to run the full engine in tests and the zero-setup CLI demo. |
|
store/segment
Package segment is the scale tier: a durable hot append-log that seals into immutable, time-bounded, compressed columnar segments on a Blob backend (local disk now, S3/R2 next).
|
Package segment is the scale tier: a durable hot append-log that seals into immutable, time-bounded, compressed columnar segments on a Blob backend (local disk now, S3/R2 next). |
|
survey
Package survey is in-product micro-surveys — one question (NPS, rating, choice, or text), targeted by URL + sampling, answered by a tiny SDK widget.
|
Package survey is in-product micro-surveys — one question (NPS, rating, choice, or text), targeted by URL + sampling, answered by a tiny SDK widget. |
|
testrun
Package testrun is the record of the agent using your app: what it tried, what it found, and whether it needed a model to do it.
|
Package testrun is the record of the agent using your app: what it tried, what it found, and whether it needed a model to do it. |
|
trackplan
Package trackplan stores the intended instrumentation — the events (and their properties) an app MEANS to track.
|
Package trackplan stores the intended instrumentation — the events (and their properties) an app MEANS to track. |
|
trends
Package trends computes time-series — how many times an event happened per day (optionally unique users), the third core analysis primitive alongside funnels and retention.
|
Package trends computes time-series — how many times an event happened per day (optionally unique users), the third core analysis primitive alongside funnels and retention. |
|
web
Package web composes the one-glance web-analytics view — live visitors, top pages, referrers, UTM sources, device split — from $pageview events.
|
Package web composes the one-glance web-analytics view — live visitors, top pages, referrers, UTM sources, device split — from $pageview events. |
|
webhook
Package webhook delivers outbound notifications to operator-configured URLs (used by alerts and the daily digest).
|
Package webhook delivers outbound notifications to operator-configured URLs (used by alerts and the daily digest). |
|
whatchanged
Package whatchanged finds WHEN a metric changed and WHICH commits could explain it.
|
Package whatchanged finds WHEN a metric changed and WHICH commits could explain it. |
Click to show internal directories.
Click to hide internal directories.