Keep your product analytics honest.
Docs · Quick start · Try the demo
A volume spike on one event, attributed to the slice that caused it.
tripl keeps your tracking plan — the events, fields, and values your product is supposed to send — and checks it continuously against the events that actually land in your warehouse. When the two diverge, it tells you.
- Plan as code. One catalog for every event, field, and value; changes are made on branches, reviewed, and merged.
- Checked against real data. Scans read your warehouse tables and propose events and fields; reconciliation flags what is undocumented and what stopped arriving.
- Anomalies with a cause. Seasonal baselines per event, schema and value drift, release regressions — each signal broken down by the slice that moved.
- Alerts where your team works. Slack, Telegram, email, webhooks, Jira, Linear.
No SDK. tripl reads from the warehouse you already have — ClickHouse, BigQuery, or PostgreSQL — and never writes to it.
Built for product managers, analysts, and data engineers who own a tracking plan.
cp .env.example .env
docker compose -f compose.dev.yaml up --buildOpen http://localhost:5173, create the first account, and click Generate demo project. No warehouse is needed: the demo builds a project with events, fields, a week of metrics, and a few anomalies, backed by a local synthetic warehouse. Scans, metric collection, anomaly detection, and reconciliation run against it for real (what is synthetic).
To use your own data, add a warehouse under Settings → Data sources and follow the Quick Start guide.
| Local dev stack | URL |
|---|---|
| App | http://localhost:5173 |
| API | http://localhost:8000 |
| API reference (interactive) | http://localhost:8000/docs |
tripl is organised around three jobs: Plan, Observe, and Govern.
📐 Plan |
📊 Observe |
🛡️ Govern |
Automation. Scoped, revocable API keys; a CLI (pip install tripl); and an
MCP server (tripl-mcp) through which an LLM agent can search the plan and
propose changes on a branch.
See Concepts for how the pieces fit together.
The default compose.yaml runs the published release image: set your secrets,
run docker compose up -d, and the app comes up on :8000. The
deployment guide covers the rest, and
cutting a release is one command, bin/release.sh (see the
release process).
📖 The full documentation lives at vladenisov.github.io/tripl
(sources under website/docs/). Good places to start:
- Quick Start — from
docker compose upto a scanned plan, your own metrics, and a first alert. - Concepts — tracking plans, events, branches, and monitors, in plain language.
- User guide — a hands-on walkthrough from your first project to a working alert.
- Variables & templates — documented values, source bindings, per-event overrides, and value drift.
- Agent & API guide — letting an LLM agent or a script read and update the plan.
tripl is a FastAPI + PostgreSQL backend, a Celery worker that talks to your warehouses, and a React frontend, all runnable locally with Docker Compose.
- CONTRIBUTING.md — local setup and commands. The root
Makefilecollects the common ones; runmaketo list them. - Architecture — how the system is built, and why.
- AGENTS.md — a navigation map of the repo for coding agents.