Convert Figma logo to code with AI

openreplay logoopenreplay

Session replay and analytics tool you can self-host. Ideal for reproducing issues, co-browsing with users and optimizing your product.

9,290
510
9,290
146

Top Related Projects

38,510

Developer-first error tracking and performance monitoring

2,057

A behavioral analytics library that uses dom mutations and user interactions to generate aggregated insights.

20,606

🦔 PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host.

19,603

Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests!

19,637

Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.

Quick Overview

OpenReplay is an open-source session replay tool that helps developers and product teams understand how users interact with their web applications. It provides a comprehensive set of features for recording, replaying, and analyzing user sessions, enabling teams to identify and fix issues, optimize user experiences, and improve overall application performance.

Pros

  • Comprehensive Session Replay: OpenReplay captures and replays user sessions, including mouse movements, clicks, scrolls, and form interactions, providing valuable insights into user behavior.
  • Detailed Analytics: The tool offers a range of analytics features, such as heatmaps, session recordings, and user journey analysis, to help teams identify and address pain points.
  • Open-Source and Self-Hosted: OpenReplay is an open-source project, allowing teams to self-host the solution and maintain full control over their data.
  • Integrations and Extensibility: The platform integrates with various tools, such as Jira, Slack, and Sentry, and can be extended with custom plugins to fit specific workflow needs.

Cons

  • Setup Complexity: Deploying and configuring OpenReplay may require some technical expertise, especially for self-hosting the solution.
  • Limited Mobile Support: While OpenReplay supports web applications, its mobile support is currently limited, which may be a drawback for teams with a significant mobile user base.
  • Performance Impact: Depending on the volume of user traffic and the level of detail captured, the session recording and replay features may have a noticeable impact on application performance.
  • Ongoing Maintenance: Self-hosting OpenReplay requires ongoing maintenance and updates to ensure the platform remains secure and up-to-date.

Code Examples

N/A (OpenReplay is not a code library)

Getting Started

N/A (OpenReplay is not a code library)

Competitor Comparisons

Pros of APM Server

  • Part of the Elastic ecosystem, integrating seamlessly with Elasticsearch and Kibana
  • Supports multiple programming languages and frameworks out-of-the-box
  • Provides detailed performance metrics and distributed tracing capabilities

Cons of APM Server

  • Requires setup and maintenance of Elasticsearch cluster
  • May have higher resource requirements for large-scale deployments
  • Learning curve for configuring and optimizing the Elastic Stack

Code Comparison

APM Server configuration example:

apm-server:
  host: "localhost:8200"
output.elasticsearch:
  hosts: ["localhost:9200"]

OpenReplay configuration example:

import Tracker from '@openreplay/tracker';

const tracker = new Tracker({
  projectKey: "YOUR_PROJECT_KEY"
});
tracker.start();

While APM Server focuses on performance monitoring and distributed tracing, OpenReplay specializes in session replay and user behavior analysis. APM Server is more suitable for traditional application performance monitoring, while OpenReplay excels in capturing and analyzing user interactions for debugging and UX improvements.

38,510

Developer-first error tracking and performance monitoring

Pros of Sentry

  • More mature and widely adopted project with a larger community
  • Supports a broader range of programming languages and frameworks
  • Offers more advanced features like performance monitoring and release tracking

Cons of Sentry

  • Can be more complex to set up and configure
  • Higher resource consumption, especially for large-scale applications
  • Pricing can be expensive for high-volume usage

Code Comparison

Sentry (Python):

import sentry_sdk

sentry_sdk.init(
    dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
    traces_sample_rate=1.0
)

OpenReplay (JavaScript):

import Tracker from '@openreplay/tracker';

const tracker = new Tracker({
  projectKey: "YOUR_PROJECT_KEY"
});
tracker.start();

Both repositories provide error tracking and monitoring solutions, but they differ in their approach and feature set. Sentry offers a more comprehensive suite of tools for error tracking, performance monitoring, and release management across various platforms. OpenReplay focuses primarily on session replay and user interaction tracking, providing a more specialized solution for front-end applications.

2,057

A behavioral analytics library that uses dom mutations and user interactions to generate aggregated insights.

Pros of Clarity

  • Backed by Microsoft, ensuring long-term support and development
  • Offers a more user-friendly interface for non-technical users
  • Provides advanced AI-powered insights and heatmaps

Cons of Clarity

  • Less flexible for self-hosting and customization
  • Limited integration options compared to OpenReplay
  • May have privacy concerns due to data being processed on Microsoft servers

Code Comparison

OpenReplay:

import Tracker from '@openreplay/tracker';

const tracker = new Tracker({
  projectKey: "YOUR_PROJECT_KEY"
});
tracker.start();

Clarity:

(function(c,l,a,r,i,t,y){
    c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
    t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
    y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "YOUR_PROJECT_ID");

Both OpenReplay and Clarity offer session replay and analytics capabilities, but they cater to different user needs. OpenReplay is more developer-friendly and offers greater control over data, while Clarity provides a more polished, user-friendly experience with advanced AI-powered insights. The choice between the two depends on specific project requirements, privacy concerns, and the level of customization needed.

20,606

🦔 PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host.

Pros of PostHog

  • More comprehensive product analytics suite with features like A/B testing, feature flags, and session recording
  • Larger and more active community, with more frequent updates and contributions
  • Supports multiple data storage options, including ClickHouse and PostgreSQL

Cons of PostHog

  • Can be more complex to set up and configure due to its broader feature set
  • May have higher resource requirements for self-hosted installations
  • Learning curve can be steeper for new users due to the extensive functionality

Code Comparison

PostHog (JavaScript snippet for data capture):

!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
posthog.init('<YOUR_PROJECT_API_KEY>', {api_host: '<YOUR_POSTHOG_HOST>'})

OpenReplay (JavaScript snippet for data capture):

var initOpts = {
  projectKey: "YOUR_PROJECT_KEY",
  ingestPoint: "https://api.openreplay.com/ingest",
  defaultInputMode: 0,
};
(function(A,s,a,y,e,r){
  r=window.OpenReplay=[e,r,y,[s-1, e]];
  s=document.createElement('script');s.src=A;s.async=!a;
  document.getElementsByTagName('head')[0].appendChild(s);
})("https://static.openreplay.com/latest/openreplay.js", 1, 0, initOpts);
19,603

Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests!

Pros of Matomo

  • More established project with a larger community and longer history
  • Offers a wider range of features, including e-commerce tracking and A/B testing
  • Provides both self-hosted and cloud-hosted options for flexibility

Cons of Matomo

  • Can be resource-intensive for high-traffic websites
  • Learning curve may be steeper due to the extensive feature set
  • UI can feel cluttered compared to OpenReplay's more streamlined interface

Code Comparison

Matomo (PHP):

$tracker = new MatomoTracker($idSite = 1, 'http://example.org/matomo/');
$tracker->doTrackPageView('Page Title');

OpenReplay (JavaScript):

import Tracker from '@openreplay/tracker';
const tracker = new Tracker({ projectKey: 'PROJECT_KEY' });
tracker.start();

Both projects offer easy-to-use tracking implementations, but OpenReplay's JavaScript-based approach may be more familiar to front-end developers. Matomo's PHP example demonstrates its server-side tracking capabilities, which can be advantageous for certain use cases.

19,637

Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.

Pros of Plausible

  • Simpler setup and lightweight implementation
  • Privacy-focused with GDPR compliance out of the box
  • Open-source business model with transparent pricing

Cons of Plausible

  • Limited feature set compared to OpenReplay's comprehensive toolkit
  • Lacks session replay and advanced user behavior analysis
  • Less suitable for complex applications or enterprise-level needs

Code Comparison

OpenReplay (JavaScript snippet):

<script>
var initOpts = {
  projectKey: "PROJECT_KEY",
  ingestPoint: "https://openreplay.yourdomain.com/ingest",
};
(function(A,s,a,y,e,r){
  r=window.OpenReplay=[e,r,y,[s-1, e]];
  s=document.createElement('script');s.src=A;s.async=!a;
  document.getElementsByTagName('head')[0].appendChild(s);
})("https://static.openreplay.com/latest/openreplay.js", 1, 0, initOpts);
</script>

Plausible (JavaScript snippet):

<script defer data-domain="yourdomain.com" src="https://plausible.io/js/plausible.js"></script>

The code comparison shows that Plausible's implementation is more straightforward, requiring just a single line of code. OpenReplay's setup is more complex but offers greater customization options.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Français  |  Español  |  Русский  |  العربية

Session replay for developers

The most advanced session replay for building delightful web apps.

OpenReplay is a session replay suite you can host yourself, that lets you see what users do on your web app, helping you troubleshoot issues faster.

  • Session replay. OpenReplay replays what users do, but not only. It also shows you what went under the hood, how your website or app behaves by capturing network activity, console logs, JS errors, store actions/state, page speed metrics, cpu/memory usage and much more.
  • Low footprint. With a ~26KB (.br) tracker that asynchronously sends minimal data for a very limited impact on performance.
  • Self-hosted. No more security compliance checks, 3rd-parties processing user data. Everything OpenReplay captures stays in your cloud for a complete control over your data.
  • Privacy controls. Fine-grained security features for sanitizing user data.
  • Easy deploy. With support of major public cloud providers (AWS, GCP, Azure, DigitalOcean).

Features

  • Session replay: Lets you relive your users' experience, see where they struggle and how it affects their behavior. Each session replay is automatically analyzed based on heuristics, for easy triage.
  • DevTools: It's like debugging in your own browser. OpenReplay provides you with the full context (network activity, JS errors, store actions/state and 40+ metrics) so you can instantly reproduce bugs and understand performance issues.
  • Assist: Helps you support your users by seeing their live screen and instantly hopping on call (WebRTC) with them without requiring any 3rd-party screen sharing software.
  • Feature flags: Enable or disable a feature, make gradual releases and A/B test all without redeploying your app.
  • Omni-search: Search and filter by almost any user action/criteria, session attribute or technical event, so you can answer any question. No instrumentation required.
  • Analytics: For surfacing the most impactful issues causing conversion and revenue loss.
  • Fine-grained privacy controls: Choose what to capture, what to obscure or what to ignore so user data doesn't even reach your servers.
  • Plugins oriented: Get to the root cause even faster by tracking application state (Redux, VueX, MobX, NgRx, Pinia and Zustand) and logging GraphQL queries (Apollo, Relay) and Fetch/Axios requests.
  • Integrations: Sync your backend logs with your session replays and see what happened front-to-back. OpenReplay supports Sentry, Datadog, CloudWatch, Stackdriver, Elastic and more.

Deployment Options

OpenReplay can be deployed anywhere. Follow our step-by-step guides for deploying it on major public clouds:

OpenReplay Cloud

For those who want to simply use OpenReplay as a service, sign up for a free account on our cloud offering.

Community Support

Please refer to the official OpenReplay documentation. That should help you troubleshoot common issues. For additional help, you can reach out to us on one of these channels:

  • Slack (Connect with our engineers and community)
  • GitHub (Bug and issue reports)
  • Twitter (Product updates, Great content)
  • YouTube (How-to tutorials, past Community Calls)
  • Website chat (Talk to us)

Contributing

We're always on the lookout for contributions to OpenReplay, and we're glad you're considering it! Not sure where to start? Look for open issues, preferably those marked as good first issues.

See our Contributing Guide for more details.

Also, feel free to join our Slack to ask questions, discuss ideas or connect with our contributors.

Roadmap

Check out our roadmap and keep an eye on what's coming next. You're free to submit new ideas and vote on features.

License

This monorepo uses several licenses. See LICENSE for more details.

NPM DownloadsLast 30 Days