Steps
- Install peepshow
npm install -g peepshow - Run on the recording
Scene detection catches UI state changes — frames land where pixels shift.
peepshow ./bug-repro.mov - Hand to your LLM
Drag into Claude / ChatGPT — paste the frames as a conversation turn.
peepshow ./bug-repro.mov --emit json | claude-cli -p 'What changed between frames?' - Auto-post to your bug tracker
GitHub Issues or Linear sinks file a ticket with the frames attached.
peepshow ./bug-repro.mov --sink github-issues
Why it works
QA teams have used screen-recordings since QuickTime existed. The cost has always been: someone has to watch them. peepshow flips the workflow — every recording becomes a structured frame timeline + transcript that an LLM can triage, file, and link to a tracker automatically. Cycle time drops from minutes to seconds.
When it helps
- Bug reports where the user attaches a .mov.
- Design reviews captured in Screen Studio / Loom / OBS.
- Customer-success calls where one frame explains the issue better than the transcript.
Pitfalls
- Scene threshold defaults to text content — for video games / continuous-motion recordings, switch to `--strategy fps`.
- Audio narration is usually quiet — `whisper.cpp --gain 1.5` (set via `PEEPSHOW_WHISPER_GAIN`) helps.