Getting found · Edition No. 9 · 3 Sep 2026

openreplay/openreplay

Four minutes of watching one real person struggle with your product will teach you more than a month of guessing.

← Getting foundRead the whole edition →

12.8k stars · Multiple licences — LICENSE file references sub-directory licences separately · v1.27.0 (2026-05-05) · Track this in Scout

Four minutes of watching one real person struggle with Grasppy will teach you more than a month of guessing.

▶Repo detailsthe review · specs · pros & cons

What it is

Self-hosted session replay — Hotjar or FullStory, but on your own infrastructure. Records mouse movement, clicks, scrolls, network calls and console errors as one replayable timeline you scrub through in the browser.

What it is good for. Umami tells you a page bounced. GoAccess (Ed.8 #4) tells you at what URL. Neither can show that the visitor clicked the same control twice, waited, clicked again, and left. OpenReplay does. For a product whose main screen is the product, seeing one person use it is worth more than every dashboard combined. This is the empirical answer to "why do people leave this screen" that no analytics tool in the ledger has produced.

Stars12.8k
LicenceMultiple licences — LICENSE file references sub-directory licences separately
Latestv1.27.0 (2026-05-05)checked 7 Sep 2026
Written inTypeScript
NeedsPostgreSQL, Redis, ClickHouse and S3-compatible storage
RunsSelf-hosted on your own server
Setup effort
4 / 5
Payoff
5 / 5
Good
  • The single most useful thing you can install for a product whose UX is unclear
  • Records network calls and console errors alongside mouse — some of what Bugsink (Ed.7 #2) catches, plus context
  • Self-hosted — no external company gets your users' sessions
Watch for
  • Heavy: needs Postgres, Redis, ClickHouse and S3-compatible storage for the recording blobs
  • Licence is not pure MIT/Apache — read the LICENSE file before assuming rights, especially before embedding in a paid feature
  • Storage grows fast — an hour of active use is tens of MB per recording; write a retention policy on day one
Replaces

FullStory, Hotjar, LogRocket

Works well with

Twenty — a recording ID on a contact record pulls up the visit when they email

Screenshots
openreplay/openreplay: GitHub preview cardopenreplay/openreplay: Screenshot 1openreplay/openreplay: Screenshot 2

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.