tessera
quickstart github

tessera

self-hosted event tracker

Every app's signups. One chart.

Your apps POST /track when something happens. One dashboard shows all of them.

MIT · one container + Postgres · no PII

tessera
fleet · signup
◈ all projectssignup30 daysrefresh
signup
214
last 30 days
unique ids
198
across projects
projects
7
reporting
last event
14:22
2 minutes ago

Daily trend — 30d

hooksense uptimecrow scryver

Projects in range

projecttotaluniquevolumelast seen
hooksense96912m ago
uptimecrow747018m ago
scryver44371h ago

A tessera is one tile in a mosaic. Each app is a tile.

quickstart

Three steps, ten minutes.

01

Deploy

Railway, or docker compose up.

# two variables, that's it
DASHBOARD_USER=you
DASHBOARD_PASSWORD=••••••
02

One key per app

The key pins the project server-side.

TESSERA_URL=https://…
TESSERA_KEY=TSR-EXAMPLE…
03

Fire the event

Fire-and-forget. Never throws, never blocks.

await createUser(…);
track("signup", {}, user.id);

what's in the box

The whole product.

One endpoint

Apps POST /track. No SDK, no client bundle.

Per-app keys

One TSR-… per app, revocable. A leaked key can't reach another app.

Fleet view

One event across every app, a coloured line each.

Per-project stats

Daily trend, event breakdown, the last 50 events.

Retention rollup

Old days archive to daily totals in one transaction. Nothing is lost.

No PII

An event name and an opaque id. Nowhere to put an email.

honest limits

What it is not.

nofunnels nocohorts nosessions nopageviews noclient SDK nowarehouse scale

Counts and trends per app, not per-user journeys. Need that depth? Run PostHog alongside it.

Lay the first tile.