Self-hosted event tracking platform. Fire HTTP events, stream them in real time, query time-series stats. Zero cookies, zero PII. Go API + React dashboard + TimescaleDB. Plateforme de tracking d'événements auto-hébergée. Envoie des événements HTTP, stream en temps réel, requête des stats time-series. Zéro cookies, zéro PII. API Go + dashboard React + TimescaleDB.
$ curl -X POST https://count.example.com/api/v1/events \ -H "Authorization: Bearer sk_live_..." \ -d '{"trigger": "signup", "metadata": {"plan": "free"}}' → {"id": "evt_9f2a", "trigger": "signup", "ts": "2026-04-26T14:02:00Z"} $ curl https://count.example.com/api/v1/triggers/signup/stats?bucket=1h ┌──────────────────┬───────┬─────────┐ │ bucket │ count │ uniques │ ├──────────────────┼───────┼─────────┤ │ 2026-04-26 12:00 │ 247 │ 182 │ │ 2026-04-26 13:00 │ 312 │ 201 │ │ 2026-04-26 14:00 │ 34 │ 28 │ └──────────────────┴───────┴─────────┘ → no cookies set · no PII stored $
docker compose up — Go API, React dashboard, TimescaleDB, and Redis. Or make dev for local development with hot-reload.
Triggers are named event buckets. Create them via the dashboard or API. Set visibility (private/public), tags, and event modes.
POST /api/v1/events with a trigger name and optional JSON metadata. Events stream in real time via SSE. Query time-bucketed stats via the API or dashboard.
Track signups, deploys, and feature usage on your side project without selling your users' data to a third-party analytics platform.
Need event tracking for your product but can't send data to external services? Self-host BeCounted, keep everything on your infra.
Track CI/CD events, deploy frequencies, internal tool usage. Fire events from scripts via curl — no SDK needed.
We needed event tracking for our own projects but every solution was either cloud-only, expensive, or harvested user data. Plausible is great for page views but we wanted event-level granularity. So we built BeCounted — zero cookies, zero PII, self-hosted first. The OSP auth model came from a question: what if logging in didn't require an identity at all? No email, no username — just a passphrase that rotates on every login.
On avait besoin de tracking d'événements pour nos propres projets mais chaque solution était soit cloud-only, soit chère, soit elle aspirait les données utilisateurs. Plausible c'est bien pour les page views mais on voulait de la granularité événementielle. Donc on a construit BeCounted — zéro cookies, zéro PII, self-hosted d'abord. Le modèle d'auth OSP est venu d'une question : et si se connecter ne nécessitait aucune identité ? Pas d'email, pas de username — juste une passphrase qui tourne à chaque login.
Page analytics tools — they count visitors and page views. BeCounted is event-level tracking: you define triggers and fire arbitrary events with JSON metadata via API.
Same category (event tracking) but cloud-hosted, expensive, and your data leaves your servers. BeCounted is self-hosted, open source, and your data stays with you.
Zero cookies, zero PII by default. All data stays on your TimescaleDB instance. Zéro cookies, zéro PII par défaut. Toutes les données restent sur ton instance TimescaleDB.