Product

Everything you need to understand traffic

Stomatopod is a privacy-friendly analytics appliance: cookieless collection, self-hosted storage, a small process footprint, and tools for both dashboards and agents.

Footprint

Light enough to co-host

Run analytics on a small VPS or the same machine as the product you measure. One binary, embedded storage, no external database.

How we measure →

~40 MiB

RSS idle

After boot, no traffic

~80-100 MiB

Under load

History + light dashboard use

~1000/s

Ingest headroom

Pageviews sustained in sample

1 process

No sidecar DB

SQLite + WAL + Parquet on disk

Sample on Apple Silicon (release build): ~40 MiB idle RSS; ~80-100 MiB with ~25k events and light queries; ~1000 pageview RPS with peak RSS around ~120 MiB. Host-dependent - re-run mise run bench:memory for your box. Full table in BENCHMARKS.md.

Browser tracker

Drop-in /tracker.js for pageviews and custom events. Server-side ingest when you prefer not to run script in the browser.

Funnels

Multi-step conversion paths with step filters. Define and inspect funnels from the dashboard or API.

REST API + OpenAPI

JSON at /api/v1 with OpenAPI at /openapi.json. Script workflows or wire agents against a stable contract.

Embedded storage

SQLite metadata, WAL, and Parquet partitions on a local volume. No Postgres or managed DB required.

Lightweight footprint

Sample ~40 MiB RSS idle and ~80-100 MiB under moderate load, with headroom around ~1000 pageview RPS in the same process. Co-host with your app or run on a small VPS.

Dashboard

Dashboard UI for pageviews, funnels, campaigns, alerts, and digests - same design system as this site.

Alerts & digests

Threshold alerts to webhooks or Slack, plus scheduled digests so you catch changes without living in the UI.

stoma CLI

Query pageviews, events, and funnels from the terminal. Built for humans and automation alike.

MIT license

Open source. Fork it, self-host it, or embed the library crates in a larger product.