Live demo — no signup

Read the output
before you request access.

This is a worked example over 9 sessions and 4,127events \u2014 the exact format GhostView prints for your own project. Judge it on whether the findings tell you something you'd have missed watching the clips yourself. That's the only claim we're making.

Sample dataset — representative example data in the product's real output format, not a capture of a live customer project.

Sample project — Snapcart

captured 2026-08-14

A checkout flow generated with an AI app builder, instrumented with the GhostView embed and shown to 9 invited testers over 4 days.

9

Sessions

4,127

Events

3m 34s

Median session

2 of 9

Completed

Synthesis output

Four findings. One pass over every session.

Each finding cites the sessions and the specific events behind it, so you can go watch the clip and disagree with it.

drop-off5 of 9 sessions

Five of nine testers left on /pricing without clicking a plan.

They did not leave immediately. Median dwell on /pricing was 41s with repeated hover cycles across the three plan cards — a comparison stall, not a bounce. Every one of them scrolled back up to the plan cards at least twice before leaving.

Evidence

Hover enter/exit pairs on .plan-card averaged 6.2 per session for the leavers vs 1.5 for completers.

friction2 of 9 sessions

Rage-clicks on a disabled Continue button in /checkout.

Two testers clicked the disabled Continue button 4+ times in under 3 seconds. The blocking field is a required billing ZIP that sits above the fold but renders its validation message below the button, so the reason for the block was never on screen at the same time as the block.

Evidence

click events on button[disabled] — 4 in 2.4s (s_06), 7 in 3.1s (s_05).

error1 of 9 sessions

One session hit an unhandled error and never recovered.

Session 05 threw on the payment step and the app rendered an empty div rather than an error state. The tester stayed on the blank screen for 71 seconds, reloaded twice, and left. There is no error boundary on this route.

Evidence

console error captured at t+331s, followed by two navigation events to the same URL.

surprise2 of 9 sessions

Both completers skipped the onboarding tour entirely.

The two testers who reached /success dismissed the onboarding modal within 2 seconds and went straight to the editor. Every tester who actually read the tour abandoned later. The tour is not helping, and may be selecting for people who were going to bounce anyway.

Evidence

modal_dismiss at t+1.8s (s_02) and t+1.4s (s_08); no completer triggered a tour step past step 1.

4,127 raw events reduced in code to 9 session summaries, then 1 model call across all of them — why it stays cheap.

Where they went

/9 reached · 22s median
/pricing9 reached · 41s median
/checkout4 reached · 88s median
/success2 reached · 12s median

The sessions behind it

SessionDurationEventsLast screenOutcome
Session 011m 36s213/pricingabandoned
Session 025m 41s702/successcompleted
Session 033m 08s431/pricingabandoned
Session 041m 17s154/pricingabandoned
Session 056m 42s918/checkouterrored
Session 063m 34s486/checkoutabandoned
Session 072m 09s267/pricingabandoned
Session 084m 58s611/successcompleted
Session 092m 41s345/pricingabandoned

In your own account each row opens the full rrweb replay. This page is a static snapshot so it loads for everyone without an invite.

Now run it on your app.

One script tag, then invite a handful of real users. You'll have your own version of this page in about a day of traffic.

Request early access

Free during early access · see pricing