OpenReplay is an open-source session replay and product analytics tool designed for developers, product managers, and customer support teams who need to see exactly how users interact with their web applications. It solves the problem of opaque user behavior by capturing and replaying every interaction—clicks, scrolls, network requests, console logs, JS errors, and performance metrics—while keeping all data within the user’s own infrastructure. This eliminates privacy risks and compliance overhead associated with SaaS analytics tools.
Built with TypeScript and designed for self-hosting, OpenReplay integrates with major cloud providers (AWS, GCP, Azure, DigitalOcean), Kubernetes, and enterprise logging systems like Sentry, Datadog, and CloudWatch. Its low-footprint 26KB tracker ensures minimal performance impact, and its modular architecture supports plugins for Redux, VueX, GraphQL, and more.
What You Get
- Session Replay - Full-motion replays of user sessions including clicks, scrolls, form inputs, network activity, console logs, JS errors, store state changes (Redux, VueX, NgRx), and performance metrics like LCP and FID.
- Spot (Chrome Extension) - A browser extension that lets developers record bugs directly from their dev environment, capturing full technical context: network calls, console output, DOM state, and JS errors for instant reproducibility.
- DevTools Integration - A built-in debugging interface that mirrors browser DevTools with live session context: network tab, console, store state, CPU/memory usage, and 40+ performance metrics tied to actual user sessions.
- Assist (Co-Browsing) - Real-time co-browsing with users via WebRTC, allowing support teams to see and interact with the user’s screen without third-party tools, screenshots, or meeting links.
- Omni-search - A powerful search engine that queries sessions by user actions, attributes, technical events (e.g., ‘users who saw error X and clicked button Y’), without requiring pre-instrumentation or event tracking.
- Product Analytics - Built-in funnels, user journeys, trends, and heatmaps to identify drop-off points, measure feature adoption, and quantify the impact of product changes using session data as the source of truth.
- Fine-Grained Privacy Controls - Configure what data to capture, obscure (e.g., credit cards, SSNs), or ignore using regex rules, ensuring compliance with GDPR, CCPA, and HIPAA without data leaving your infrastructure.
- Enterprise Integrations - Sync session replays with backend logs from Sentry, Datadog, CloudWatch, Stackdriver, Elastic, and more to correlate frontend issues with backend errors in a single view.
- Multi-Cloud & Kubernetes Deployment - Deploy OpenReplay on AWS, GCP, Azure, DigitalOcean, Scaleway, OVHcloud, or Kubernetes with step-by-step guides and Helm charts for production-grade setups.
Common Use Cases
- Debugging production bugs - A frontend engineer uses Spot and DevTools to replay a user session where a checkout button failed, seeing the exact network error and Redux state that caused it—reducing debug time from hours to minutes.
- Reducing customer churn - A support team uses Assist to co-browse with a frustrated user in real time, identifying a confusing UI flow and guiding them to resolution without asking for screenshots or logs.
- Improving product conversion - A product manager analyzes funnels and heatmaps to discover that 60% of users drop off after encountering a slow API call during onboarding, then uses session replays to validate the fix.
- Validating UX design decisions - A UX researcher replays sessions of users interacting with a new dashboard to observe where they hesitate or misinterpret icons, uncovering hidden usability issues before a full rollout.
Under The Hood
Architecture
- API routes are organized by project scope with resource-based endpoints that enforce multi-tenancy through URL parameters, though authentication logic is decoupled via middleware for reusability
- Integration systems follow a polymorphic base class hierarchy, enabling consistent handling of third-party webhooks while maintaining clear event contracts
- Core components like routing and database connections lack modular boundaries, leading to tight coupling between layers and absence of formal dependency injection
- Event and telemetry tracking uses standalone utility functions instead of injectable services, limiting testability and violating inversion of control
Tech Stack
- Python backend powered by FastAPI with Pydantic for validation and chalicelib for internal service organization
- Go microservices handle high-throughput event ingestion and real-time processing, with tooling like go vet and Lefthook ensuring code quality
- PostgreSQL serves as the primary database with robust drivers and migration support, complemented by Kafka and Redis for event streaming and caching
- Docker and Helm orchestrate the full stack including databases and message queues, while frontend admin interfaces are built with Express and JavaScript
- CI/CD pipelines leverage GitHub Actions, Renovate, and ggshield for automated testing, dependency updates, and secret scanning
Code Quality
- Extensive test coverage spans backend, frontend, and tracker layers with unit and integration tests using Jest and unittest, effectively mocking external dependencies
- Strong type safety in TypeScript frontend code, reinforced by generated protobuf types and explicit error handling across both Python and JavaScript
- Clean separation of concerns with modular service layers and component-based frontend architecture, mirrored in test file organization
- Consistent naming conventions and structured exception handling improve readability and maintainability across languages
- Comprehensive linting, automated database setup, and infrastructure testing via Helm ensure reliability alongside application code
What Makes It Unique
- Real-time session replay that reconstructs user interactions from low-level browser events without manual instrumentation
- Client-side performance instrumentation capturing DOM mutations, network requests, and JavaScript errors with sub-millisecond precision and minimal overhead
- AI-powered issue detection that surfaces usability problems by analyzing session patterns and user frustration signals without predefined rules
- Unified telemetry pipeline normalizing data from web, mobile, and backend sources into a single session-centric model for cross-platform journey analysis
- Interactive replay player with draggable time-range overlays enabling deep-dive analysis, highlighting, and export of events directly in the UI