{"repo":"s2-streamstore/replaya","free":true,"listed":false,"github":"https://github.com/s2-streamstore/replaya","clone":"git clone https://github.com/s2-streamstore/replaya.git","description":"Self-hosted browser session replay built on S2 with live tailing","language":"TypeScript","stars":88,"topics":["observability","rrweb","s2","self-hosted","session-recording","session-replay","streaming","typescript"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"RePlaya Self-hosted session replay built on S2. Each session is stored as one S2 stream, and that stream is the whole backend — there's no separate database, message bus, object store, or search index. Because an S2 stream can be tailed as it's written, RePlaya can replay a session live, while the visitor is still on the page, as well as play back finished ones. Add the recorder snippet to your site and sessions are stored as streams you can replay, live-tail, filter, and export. Demo A new session appears in the list and is live-tailed from its S2 stream — the replay and activity feed update as the visitor uses the app. ( MP4 ) Quickstart You'll need an S2 access token and a basin. Put them in .env.local : The basin is created on first use with RePlaya's stream defaults. The dashboard's health pill reports the basin and the effective S2 endpoints so you can confirm what you're pointed at. To use s2-lite or another compatible deployment instead of S2 Cloud, set the endpoints explicitly: Then install dependencies and start the dev server: The API runs on http://localhost:8787 and Vite serves the dashboard on http://localhost:5173 . To create a test recording without instrumenting another app, open http://localhost:8787/recorder-test ; it records through the same hosted recorder script. For a production-style local run, build and serve everything from Express on one port: Drop-in recorder Add this to any page to start capturing, pointing it at your RePlaya host: In local develo","default_branch":null,"files":null,"tree":[],"storefront":"/r/s2-streamstore","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/s2-streamstore/replaya/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}