One pipeline, from event to insight.
The same data that flows in through the SDK powers Live, Insights, and Profiles — async, enriched, and stored for fast queries.
How data flows
- SDKtrack() & identify()
- APIConnect RPC ingest
- NATSAsync pipeline
- WorkersGeo & enrichment
- ClickHouseAnalytics store
- DashboardInsights & profiles
Ingest
SDKs batch events to a Connect RPC endpoint. Auto-properties — geo, device, UTM — are attached the moment they arrive.
Process
NATS fans events out to Go workers for enrichment and identity resolution. Fully async and back-pressure safe.
Serve
Enriched events land in ClickHouse, where Trends, Funnels, Retention, and Profiles query them in milliseconds.
Programmatic access, typed end to end.
Read profiles, query insights, and ingest events over Connect RPC — Protobuf in, Protobuf out.
Connect RPC
Typed services over HTTP — call from any Connect or gRPC client.
Protobuf
Schema-first payloads, binary on the wire, generated clients on every platform.
JWT auth
Project-scoped API keys and JWT sessions. Nothing leaves your project boundary.
Run the whole stack yourself.
Pug is AGPL-3.0 and self-hostable end to end. Deploy on your own infrastructure — your data never leaves your servers.
- Postgres Metadata, orgs & projects
- ClickHouse Event & analytics store
- NATS Async event pipeline
- Go workers Geo & enrichment
Ready to understand your users?
Open source and self-hostable. Spin up your first project in minutes.