Repro records a bug as video plus the console, network, storage and performance data behind it, then replays them on one timeline — scrub to the moment it broke and see the request that caused it. The report is a DevTools panel, not a log list: Console, Network, Actions and Performance reveal themselves as the video plays. Copy any request as HAR to seed a test. Trim the clip and the logs slice to match. Captures stay in your browser. No account, no upload, free.
Hey Product Hunt 👋
Every frontend team has the same argument on repeat:
QA: "The save doesn't work sometimes."
Dev: "It works on my machine—send me the steps."
QA: sends a screen recording of a spinner
Dev: "What was the network doing?"
Nobody knows, because DevTools is never open when the bug happens. And by the time anyone opens it, the state that caused it has been refreshed out of existence. Ticket closed as cannot-reproduce. Two sprints later, a customer hits it, and it comes back with a priority label.
That's the actual gap. Bug reporting got solved years ago — plenty of good tools attach a video and a log dump to a ticket. Bug reproduction didn't. Because the bugs that survive to production are almost never "an error was thrown." They're ordering two requests race and the slower one wins. A debounced autosave lands after the explicit save and quietly overwrites it. A response comes back 200 OK with an errors array in the body and every monitoring tool in the stack decides everything is fine.
You cannot see that in a video. You cannot see it in a list of logs beside a video. You need both on the same clock, and you need to scrub.
So Repro's report IS a DevTools panel—video on the left, Console / Network / Actions / Performance / Application on the right, revealing as the video plays. Drag to 0:06 and the network list shows what was in flight at 0:06. Exactly.
Three things that came out of using it on real bugs:
• Copy HAR at any scope, so the capture that proved the bug seeds the test
• Trim the clip and the LOGS get sliced to match—4 minutes becomes the 8 seconds someone will actually read
• An MCP server so Claude or Cursor can read a capture straight off your disk: errors, request bodies, storage diffs, DOM, and CSS. Plus, on-device triage in the report itself (Chrome's Gemini Nano—no key, no API call)
And the constraint I designed around from day one: captures live in IndexedDB on your own machine. No account, no upload. If your company's answer to "can we send a recording of production to a third party?" is a six-week conversation with legal, that's who this is for.
Free. Nothing to sign up for.
Two things I'd genuinely like to hear:
What's the bug that beat you? The intermittent, cannot-reproduce kind—I collect these, and they drive the roadmap.
What's missing? Jira/Linear integration is the top request so far, and I want to know which one to build first.
I'm here all day.