For teams whose users find the bugs first
Your users report it.
The AI writes it up.
Paste one script tag and the people using your site can record a bug the moment it happens. SceneRecap watches the pixels and the console, so what reaches your Inbox is not a vague complaint and a video — it is repro steps, expected versus actual, and the failed request that caused it, each linked to its second in the recording.
How it works
- 01
Paste one script tag
A single tag on your site. Under 4 KB, no cookies, no storage, and no network call at all until somebody actually clicks.
- 02
Your visitor records the problem
They click “Report a problem”, record their tab, and watch it back before anything is sent. On a phone they attach a recording instead.
- 03
The report arrives written
Repro steps, expected vs actual, the first bad moment, and the console error and failed request that caused it — in your Inbox, ready to file.
What makes it different
See what one produces: Checkout payment failure (402 → 500) — written from a silent recording, evidence and all.
The error, not just the video
The widget is already on the page when things break, so the JavaScript exception and the failed request travel with the recording. “The button did nothing” arrives as POST /api/cart returned 500 at 0:14.
Five reports, one row
Reports about the same bug on the same page are grouped by meaning, not wording. “Pay now does nothing” and “Cannot pay — I get a red error” collapse into a single row marked ×2, so a broken checkout does not bury the Inbox.
Phones included
iOS Safari and Android Chrome cannot record a tab at all — that is half of consumer traffic. Those visitors record with the phone’s own screen recorder and attach the file; the report is identical.
Nothing sent without a look
Every visitor sees their own recording and confirms before it uploads. Passwords and card fields are masked at capture, keystrokes are never logged, and URLs are stored as paths — query strings are dropped.
One click to your tracker
File the AI-written report to GitHub, Linear or Jira with the body already composed, and keep the issue link on the report.
Yours, not ours
Match the panel to your brand colour with one attribute. On the top plan the SceneRecap mark comes off entirely. Set a retention window per site key, or keep reports forever — the default deletes nothing.
Frequently asked
What does the widget cost?
It is a $39/month add-on to any plan, including 200 analysed reports a month, then $0.25 per report after that. The reports themselves are ordinary recordings, so everything else in your plan — search, exports, sharing, integrations — applies to them.
Will it slow my site down?
The loader is about 3 KB gzipped and does two things: draw the launcher, and watch for JavaScript errors and failed requests in memory. It sets no cookies, writes no storage, and makes no network request — not even to us — until a visitor clicks. The panel and the recorder are separate chunks fetched only at that point.
What do you collect from people who never click?
Nothing leaves their browser. Errors and failed requests are held in memory, capped at the most recent hundred of each, and discarded when the page unloads. They are only ever transmitted if a visitor completes a report and presses Send. You can switch that capture off entirely with one attribute.
Do my users need an account?
No. They click, record, review and send. The report lands in your workspace; they can optionally leave an email address to hear when it is fixed.
How do you stop someone else embedding my key?
The site key is public by design — it ships in your HTML — so the control is the origin allowlist attached to it. Every call checks the browser’s Origin against that list, and a mismatch is refused before an upload is even opened. Per-key rate limits bound the rest.
What exactly counts as a duplicate?
Two reports must be on the same page path and be close in meaning before they are grouped. Both conditions are required: page path alone would merge every complaint about a busy checkout, and similarity alone would merge “the button is broken” across unrelated pages. The threshold is deliberately tight, because wrongly merging two bugs would hide one of them.
Does it work on mobile?
Yes, by a different route. Screen capture does not exist on iOS Safari and is effectively absent on Android Chrome, so instead of turning those visitors away the widget asks them to record with their device’s own screen recorder and pick the file. Annotated screenshots are on the roadmap.
Let your users file the bug properly.
One script tag. The report writes itself.
Free plan · No card · EU hosted