Website analytics for operators who host their own pipeline.
Page views, clicks, scrolls, sessions, and custom events. GeoIP maps, UTM attribution, device and browser breakdowns, period-over-period comparisons, and PDF reports. Collected through a single POST endpoint you control — no third-party script, no hidden trackers, no data leaving your infrastructure.
Everything your marketing and product team needs in one dashboard.
Drop a tiny async script in your <head>. It fires
session_start, page_view, click, scroll, and page_leave events to
a single POST endpoint. Custom events push onto the queue from any
frontend code.
Break traffic down by source, medium, and campaign. Top referrers, top pages, and top custom events are ranked in the dashboard with period-over-period deltas baked in.
A Natural Earth world map with click-through admin-1 drill-down, plus doughnut breakdowns for device, browser, platform, and screen size. GeoIP runs locally, IPs never leave your host.
Flip any date range to a headless-Chromium PDF with one click. Custom cards let you pin bespoke metrics. Share a property publicly with one toggle — no login required for viewers.
Hot fields (url, referrer, geo, UA, UTMs) live in typed columns
for fast queries. Anything custom lands in an extra
JSON column, no migration required, queryable with SQLite JSON1
(json_extract). Bot traffic is routed to a separate table so
human dashboards never have to filter it.
A single statically linked Rust binary plus SQLite. Ultra performant and very resource friendly, the whole stack runs as a tiny Docker image behind your own reverse proxy. Your domain, your retention policy. No vendor, no pixel, no lock-in.