Session replay for product teams

“It doesn't work” is not
a bug report.

Tracebase records what your users actually did — every click, every console line, every failed request — and plays it back on one timeline. No reproduction steps, no screen-sharing calls, no guessing.

Free plan · 1,000 sessions/mo · no card required

tracebase.dev/replay/48211replay
perch.shop
Payment details
Order summary
Total$84.00
DOM mutations every change, replayableclicks & scrolls with rage-click detectionconsole output levels, args, locationsfetch / XHR headers, bodies, timingJS errors grouped into issuesroute changes SPA navigation includedweb vitals LCP, CLS, INP per sessionDOM mutations every change, replayableclicks & scrolls with rage-click detectionconsole output levels, args, locationsfetch / XHR headers, bodies, timingJS errors grouped into issuesroute changes SPA navigation includedweb vitals LCP, CLS, INP per session
The whole picture

The replay is the easy part. The context is the point.

Plenty of tools show you a video. Tracebase lines the video up with everything the browser knew at that moment, so the answer to “why?” sits on the same screen as “what?”.

The session, exactly as it happened.

Sessions are rebuilt from DOM snapshots and events — not screen capture. Playback stays crisp at any viewport size, and a 50-minute session weighs less than a single screenshot.

  • Clicks, scrolls, inputs and navigation
  • Inactivity skipped automatically
  • Deep links to any moment in a recording
has errorlast 24hurl: /checkout
DM
d.moreau@…/checkout
2 errors4m ago
KT
k.tanaka@…/account/billing
1 error19m ago
RS
anonymous/pricing
rage click33m ago
AB
a.bauer@…/onboarding
slow route51m ago

Search that finds the session

Filter by user, URL, error, custom event or device. “Show me checkout sessions with an error from yesterday” is one query, not an afternoon.

Share the exact moment

Every replay position has a URL. Paste it in a ticket and the next person starts two seconds before the bug — not at minute zero.

Performance, in context

Long tasks, slow routes and layout shifts appear on the timeline, so you see the moment users felt the delay — not just an average.

Setup

Shipping by lunch is a reasonable expectation.

One package, one init call. The SDK records DOM changes and events — not video — so the overhead on your users' browsers stays negligible.

  1. Install the SDK

    npm, yarn, pnpm or a script tag — whatever your build uses.

  2. Initialize once

    Sessions, errors and logs start flowing within seconds.

  3. Open your first replay

    Search by user, URL, error or event and hit play.

app.tstypescript
import { Tracebase } from "@tracebase/browser";

// that's the whole integration
Tracebase.init({
  projectKey: "tb_live_1a2b3c",
  environment: "production",
  privacy: { maskAllInputs: true },
});
Privacy

Record the behavior. Skip the personal data.

Inputs are masked before anything leaves the browser — the keystrokes for a card number simply never reach us. Block selectors, redact request fields and exclude whole routes with a few lines of config.

Read the security overview

•••• •••• •••• ••••masked in browser
Next bug incoming

The next report deserves
a replay, not a shrug.

1,000 sessions/mo included · cancel anytime