How Replayowl works
Replayowl has three parts. A small script records the page in the visitor's browser, a server stores what it sends, and a dashboard lets you search sessions and play them back.
The parts
The recorder is a single script, recorder.js, that you add to your site. It takes one snapshot of the page when it loads, then records changes to the page and what the visitor does: mouse movement, clicks, scrolling, typing (masked by default), page changes and console errors. It uploads a batch every 4 seconds and sends the rest when the visitor leaves. It has no dependencies and works with any framework, or none.
The server receives those batches at /api/ingest, stores each one as a file in object storage, and keeps a summary of every session in a database so you can search. The same code runs as a Cloudflare Worker or as a Node process.
The dashboard lists sessions, filters them, and plays them back. It is protected by an admin password. When you open a replay, your browser downloads the stored batches directly and rebuilds the page, so the server does almost no work.
Where your data lives
Everything is in accounts you control:
| What | Where |
|---|---|
| Recordings | An S3-compatible bucket: Cloudflare R2, AWS S3, MinIO, RustFS, Aliyun OSS and others. On Node, local files also work. |
| Session summaries and search indexes | Cloudflare D1, or Postgres (directly on Node, through Hyperdrive on Workers) |
| Admin password | The same database, hashed with PBKDF2-SHA256 |
Nothing is sent to Replayowl or anyone else. See Storage and your data for the exact layout.
Pick a deployment
- Cloudflare Workers if you want no servers to look after. The Worker, D1 and R2 can all live in one Cloudflare account. The Workers paid plan is recommended.
- Node and Postgres if you already run servers or need everything on your own hardware. Requires Node 24 or later.
Either way, the last step is the same: add the recorder to your site.
Try it before you deploy
The live demo runs the real recorder and player in your browser without any server. To run the full stack on your laptop, follow the Node guide: it includes a demo shop you can click through and then replay in the dashboard.