Analysis updated 2026-05-18
Record what visitors do on your website and replay their sessions later
Watch an active visitor session live, without waiting for any processing delay
Add form field masking automatically so passwords and personal data never leave the browser
Replace a multi-service session replay backend with one Node.js server plus S2
| s2-streamstore/replaya | abeehive/annado | antfu/vite-dev-rpc | |
|---|---|---|---|
| Stars | 75 | 75 | 75 |
| Language | TypeScript | TypeScript | TypeScript |
| Last pushed | — | — | 2026-05-01 |
| Maintenance | — | — | Maintained |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | vibe coder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an S2 account or self-hosted S2-compatible deployment plus an access token and basin.
RePlaya is a self-hosted session replay tool, meaning it lets you record what visitors do on your website (mouse movements, clicks, scrolls, form interactions) and watch those recordings back later. What makes it different from most session replay systems is that it stores each recording session directly in S2, a streaming data service, rather than splitting storage across a database, a message bus, and an object store. Because S2 streams can be read as data arrives, RePlaya can also play back a session live while the visitor is still on the page. You open the dashboard and see an active session appearing in real time, without waiting for any ingest or processing delay. Finished sessions can be scrubbed through like a video timeline. Adding recording to a website is a small JavaScript snippet. You paste the script tag into your HTML, point it at your RePlaya host, and sessions begin flowing in. By default, all text typed into form fields is masked before it leaves the browser, so passwords and personal data are never sent to the server. You can also mark specific page regions with a CSS class to exclude them from recordings entirely. On the backend, RePlaya runs as a single Node.js server. You need an S2 account (or a self-hosted S2-compatible deployment) to hold the stream data. The setup requires providing an S2 access token and a basin name in an environment file, then running standard npm/pnpm install and start commands. The dashboard and read APIs are meant to stay private behind a VPN or access control layer, only the collector endpoints that receive recordings from browsers need to be public. The project is written in TypeScript and uses rrweb, an open-source browser recording library, for the capture side. The README includes a full architecture document reference and a comparison table showing how a typical session replay backend uses multiple services where RePlaya uses one server plus S2.
A self-hosted tool that records and replays website visitor sessions, storing everything in one S2 stream instead of a database.
Mainly TypeScript. The stack also includes TypeScript, Node.js, S2.
No license information was found in the README.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.