Browser session replay tools have long relied on intricate architectures to capture and replay user interactions, often requiring multiple systems to handle ingestion, storage, and indexing. A new open-source project, RePlaya, simplifies this process by adopting a stream-per-session model that enables live tailing without additional infrastructure overhead.
A stream-per-session foundation for replay
RePlaya, developed by the team behind s2.dev, leverages the rrweb library to record browser sessions and store them in a self-hosted stream system. Unlike traditional tools that funnel data through a centralized ingest pipeline—typically involving message queues, databases, and blob storage—RePlaya assigns a dedicated stream to each browser session. This design choice not only reduces architectural complexity but also introduces a unique capability: live tailing.
The tool’s architecture ensures that the player component can read directly from the same stream where the recorder appends data. This eliminates latency issues common in systems that require data transformation and indexing before playback becomes possible. The only dependency for RePlaya is S2, an open-source stream storage system that can be self-hosted using the s2-lite version.
Key technical innovations
RePlaya’s approach introduces several technical refinements that address common challenges in session replay tools. Large rrweb events, such as full DOM snapshots, are broken into multiple binary records within the S2 stream and reassembled during playback. This granular handling prevents bottlenecks while maintaining data integrity.
For active sessions, RePlaya employs a tailing mechanism that bridges the S2 stream to the browser interface via Server-Sent Events (SSE). This enables real-time monitoring without the need for polling or additional polling layers. Session discovery is streamlined by encoding reverse timestamps in stream names, allowing the system to list sessions in reverse chronological order efficiently.
The tool also incorporates safeguards to prevent post-termination data writes. Using fencing tokens, it ensures that once a session is marked as inactive, no late-arriving recorder instances can append data to it. Retention policies are managed through S2 stream configurations, removing the need for background cleanup jobs and reducing operational overhead.
Why this architecture matters
The stream-per-session model adopted by RePlaya offers a compelling alternative to traditional replay tools, particularly for teams focused on self-hosting and real-time capabilities. By consolidating storage, retrieval, and live playback into a single system, it reduces infrastructure complexity and operational costs.
This approach also aligns with modern data streaming trends, where durability and low-latency access are prioritized. For developers evaluating session replay solutions, RePlaya presents a minimalist yet powerful option that can scale from small-scale prototypes to production environments without requiring extensive system integrations.
As browser-based applications continue to evolve, tools that simplify monitoring and debugging while preserving data ownership will gain significance. RePlaya’s design philosophy—prioritizing self-hosting, real-time access, and architectural simplicity—positions it as a noteworthy addition to the session replay toolkit.
AI summary
Tarayıcı oturumlarınızı kendi sunucunuzda gerçek zamanlı olarak kaydetmek ve analiz etmek için RePlaya'yı kullanın. Basit mimarisi ve gizlilik odaklı yapısıyla dikkat çekiyor.


