Open-source product analytics. An open Amplitude.
Track events, build funnels, measure retention, explore user journeys, and own every byte of your data. Self-hosted, MIT-licensed, built for collaboration.
Amplitude is the reference for product analytics, but it is closed and priced per event. Amplio rebuilds the same capabilities in the open: event ingestion, segmentation, funnels, retention, cohorts, and dashboards, running on infrastructure you control.
- Own your data. Events land in your own ClickHouse. Nothing leaves your servers.
- Amplitude-compatible. The ingestion API mirrors Amplitude's HTTP V2 contract, so existing SDKs and event schemas port over with minimal changes.
- Built to scale. ClickHouse for the event columnar store, Postgres for metadata. The same architecture real analytics platforms run on.
- MIT-licensed. Use it, fork it, ship it. No open-core bait and switch.
Early and moving fast. See the roadmap for what is live and what is next.
| Component | Status |
|---|---|
| Event schema (shared types) | 🟢 done |
Ingestion API (/2/httpapi, /batch) |
🟢 done |
| ClickHouse storage | 🟢 done |
| Query engine (funnels/retention/segmentation) | 🟢 done |
| Query API | 🟢 done |
| Browser SDK + Node SDK | 🟢 done |
| Dashboard (segmentation, funnels, retention, user lookup, live feed) | 🟢 done |
| Saved charts, cohorts, API-key management (Postgres or SQLite) | 🟢 done |
| Feature flags & experiments (rollouts, A/B, variant analysis) | 🟢 done |
| Desktop app (Docker-free, macOS + Linux installers) | 🟢 done |
| Self-host deploy (Docker + Caddy) | 🟢 done |
Prefer a native app? Amplio ships as a desktop app that runs the entire stack on your machine with no Docker and nothing to configure. It manages a local ClickHouse and an embedded SQLite for you, and opens the dashboard in its own window. Your data never leaves your computer.
Download the latest release
(macOS .dmg today; Linux from the same build). Details in
apps/desktop/README.md.
Segmentation, funnels, and retention, with a live chart builder against your own data.
SDKs / HTTP ─▶ Ingest API ─▶ ClickHouse (events)
(browser, (Fastify, columnar store
node, curl) zod, auth) │
▼
Dashboard ◀── Query API ◀── Query engine
(React) (Fastify) (funnels, retention,
│ segmentation, cohorts)
▼
Postgres (projects, api keys,
charts, dashboards)
Full detail in docs/ARCHITECTURE.md.
Requires Node 20+, pnpm, and Docker.
pnpm install
pnpm stack:up # ClickHouse + Postgres via docker compose
pnpm dev # run services in watch modeSend a test event:
curl -X POST http://localhost:8787/2/httpapi \
-H 'content-type: application/json' \
-d '{
"api_key": "dev-key",
"events": [
{ "event_type": "signup", "user_id": "u_123", "event_properties": { "plan": "pro" } }
]
}'Or populate a realistic demo dataset (signup to purchase funnel, retention, and segmentation all get shape) with one command:
node scripts/seed-demo.mjs
# tune with env: AMPLIO_USERS=500 AMPLIO_DAYS=30 node scripts/seed-demo.mjsapps/
ingest/ Event ingestion service (Amplitude-compatible HTTP API)
api/ Query + dashboard backend
web/ React dashboard
packages/
schema/ Shared event types and validation (zod)
query/ Analytics query builders (funnels, retention, segmentation)
sdk-browser/ Browser tracking SDK
deploy/ docker-compose, ClickHouse + Postgres init
docs/ Architecture, roadmap, guides
Amplio is built in the open and welcomes contributors. Read CONTRIBUTING.md and pick up anything from the roadmap or open issues.
MIT. See LICENSE.



