OpenReplay is an open-source session replay platform designed for developers and product teams who need to understand user behavior, reproduce bugs, and improve web application performance — all while maintaining full control over sensitive user data. Unlike third-party SaaS tools, OpenReplay is self-hosted, ensuring compliance with privacy regulations and eliminating data leakage risks. It captures not just mouse movements and clicks but also network requests, JavaScript errors, console logs, state changes in popular frameworks (Redux, VueX, etc.), and performance metrics like CPU/memory usage. This deep visibility allows teams to diagnose issues faster, reduce mean time to resolution (MTTR), and make data-driven product decisions without compromising user privacy.
Built with TypeScript and optimized for low performance impact (~26KB compressed tracker), OpenReplay is ideal for engineering teams, DevOps professionals, and product managers working on high-traffic web applications where data sovereignty and accurate bug reproduction are non-negotiable. Whether you’re troubleshooting a checkout flow failure or analyzing drop-offs in a SaaS dashboard, OpenReplay provides end-to-end visibility into the user journey with zero vendor lock-in.
What You Get
- Session replay - Replays user interactions with full technical context including network activity, JS errors, console logs, state changes (Redux/VueX/MobX), page speed metrics, and CPU/memory usage — enabling accurate bug reproduction without needing to replicate environments.
- Spot (Chrome extension) - Allows developers to record bugs directly from their browser with automatic capture of technical details like network calls, console output, and DOM state for immediate debugging.
- DevTools integration - Provides a browser-like debugging interface within the OpenReplay dashboard, showing real-time network requests, store state changes, and 40+ performance metrics to diagnose performance bottlenecks.
- Assist (live cobrowsing) - Enables real-time WebRTC-based screen sharing with users to provide instant support without third-party tools, while preserving privacy through granular data controls.
- Omni-search - Query sessions using any user action, attribute (e.g., location, device), or technical event (errors, API calls) without requiring pre-instrumentation — search across millions of sessions instantly.
- Analytics dashboard - Surfaces high-impact issues affecting conversion and revenue by correlating user behavior with technical events like errors, slow APIs, or abandoned carts.
- Fine-grained privacy controls - Mask or exclude sensitive data (PII, passwords, credit cards) before it leaves the user’s browser using regex patterns or built-in sanitizers — no raw data ever reaches your servers unless explicitly allowed.
- Plugin system - Extend tracking to application state libraries (Redux, Pinia, NgRx, Zustand) and HTTP clients (Axios, Fetch) or GraphQL libraries (Apollo, Relay) with pre-built integrations.
- Backend log integration - Sync frontend session replays with backend logs from Sentry, Datadog, CloudWatch, Stackdriver, and Elastic to correlate frontend issues with backend errors in a single view.
Common Use Cases
- Building a multi-tenant SaaS dashboard with frequent UI bugs - When users report ‘the button doesn’t work’ but you can’t reproduce it, OpenReplay lets you replay their exact session — showing the JavaScript error, slow API response, and state mismatch that caused it.
- Reducing cart abandonment on an e-commerce platform with 10k+ SKUs - Use analytics and session replay to identify where users drop off, then inspect their network calls to see if a product API is timing out or returning invalid data.
- Problem → Solution flow: User reports ‘page freezes during checkout’ → OpenReplay replay shows a 7s delay on /api/checkout/submit due to a misconfigured rate limit → Dev fixes backend and verifies with new session replay
- DevOps teams managing microservices across multiple cloud providers - Correlate frontend session replays with backend logs in CloudWatch or Datadog to pinpoint whether an issue is caused by frontend code, API latency, or infrastructure degradation.
Under The Hood
OpenReplay is a comprehensive web analytics and user session replay platform that combines frontend instrumentation with backend processing to deliver real-time insights and monitoring capabilities. The system is built as a monolithic application with modular structure, supporting multiple services through a unified API layer and emphasizing extensibility across domains.
Architecture
The system follows a layered monolithic architecture with well-defined functional modules such as alerts, metrics, and issue tracking. It applies design patterns like strategy for integrations and middleware for authentication to maintain clean separation of concerns.
- Modular component organization with clear service boundaries
- Use of strategy and middleware patterns for extensibility and authentication
- Unified API layer that supports multiple backend services
Tech Stack
The platform is a multi-language project leveraging modern frontend and backend technologies to enable real-time analytics and session replay.
- Built with TypeScript on the frontend and Python on the backend
- Relies on React ecosystem libraries and FastAPI for API development
- Uses Yarn, Parcel, and Docker for build, bundling, and containerization workflows
- Employs Jest, Playwright, and Cypress for frontend testing with Python-based backend tests
Code Quality
The codebase reflects a mixed quality profile with strengths in testing and error handling but areas needing improvement in consistency and architectural clarity.
- Comprehensive validation and schema management in the API layer
- Strong emphasis on structured error handling and type safety with TypeScript
- Extensive test coverage in frontend components and backend modules
- Some technical debt present in core modules affecting overall consistency
What Makes It Unique
OpenReplay distinguishes itself through its modular architecture and real-time processing capabilities, particularly in session replay and user analytics.
- Combines frontend instrumentation with backend event stream processing in a unified platform
- Modular design allows for flexible integrations and alerting systems
- Clean separation of concerns across multiple domains while maintaining real-time responsiveness