Small self-hosted session replay

See exactly
what your users did.

TinyReplay records browser sessions, stores them in one SQLite file, and replays them on your own server.No analytics. No accounts. No cloud.

replaysession 4f2a9cREC
app.acme.io/checkout
••••••••••
Pay
00:54
02:18
318 eventswal · sqlite
Self-hosted
One app writing to a local SQLite file. Mount a data directory and your sessions survive restarts.
Privacy-conscious
Inputs are masked in the browser before replay events are sent to your server.
Fast Replay
Open a session and scrub straight to the moment you care about. No loading spinners in the way.
Not Analytics
No funnels, heatmaps, or user profiles to wade through. Only the recording of what happened.

How it flows

Five small parts, one direction.

Events flow one way: captured in the browser, batched, posted to the ingest API, and written to SQLite. The dashboard only ever reads them back.

01Browser SDKrrweb capture + masking
02Batch Transportbuffer · flush · beacon
03Ingest APIPOST /api/ingest
04SQLitesessions · events (WAL)
05Replay Dashboardscrub · inspect