Record the bug once. Skip the write-up.
Here is the file you paste. You typed none of it.
--- id: "0f8a3c21-6b94-4e57-9d1a-2c7e5b408f63" kind: "video" status: "fail" created: "2026-09-12T09:41:07.000Z" file: "20260912-1141-fail-checkout-total-goes-negative.png" duration_ms: 47320 source: "C:\\Users\\dana\\Videos\\SnapBuddy\\20260912-1141-fail-checkout-total-goes-negative.mp4" annotations: 3 frame: "1920x1080" app: "SnapBuddy 0.24.1" os: "Windows 11 Pro 10.0.26100 (64-bit)" --- # QA card - FAIL Remove the last item from a full basket and the order total goes to minus the delivery fee. The basket badge still says 1. --- - Captured: 2026-09-12 11:41 - Image:  - Recording: C:\Users\dana\Videos\SnapBuddy\20260912-1141-fail-checkout-total-goes-negative.mp4 - Duration: 0:47 - Interaction track: C:\Users\dana\Videos\SnapBuddy\20260912-1141-fail-checkout-total-goes-negative.events.jsonl ## Marked up _Positions are percentages of the 1920x1080 frame._ - **arrow** (red) at 62%,48% -> 71%,41% - visible 0:31.4 to 0:39.0 - **counter** (orange) at 24%,66% - step 1 - visible throughout - **arrowtext** (yellow) at 40%,20% -> 55%,26% - "total flips negative here" - visible throughout ## Steps to reproduce _Reconstructed from what was recorded. Positions are percentages of the 1920x1080 frame; times are from the start._ 1. Click at 22%,31% - 0:03.1 2. Click at 48%,52% - 0:07.9 3. Double-click at 61%,44% - 0:12.4 4. Another window came to the front - 0:18.2 5. Drag from 33%,58% to 33%,22% - 0:24.6 6. Right-click at 71%,40% - 0:29.8 7. Click at 71%,47% - 0:31.2 **Expected:** **Actual:** ## Environment ``` OS: Windows 11 Pro 10.0.26100 (64-bit) App: SnapBuddy 0.24.1 Displays: 2560x1440 @1.5x (primary), 1920x1080 @1x Locale: en-GB Timezone: Europe/Belgrade ```
Nobody typed any of this. The recorder wrote the steps, the app wrote the rest, and this is the whole file.
The verdict at the top is yours, and it is a separate field from the one an upload writes, because a transcode that died and a bug that reproduces are opposite news.
The pointer walks a recorded track. The markdown lands one line behind it.
Press Play and the two run together. At twenty five the list stops and counts what it left out. Copy puts the exact text on the screen onto your clipboard, so you can paste it into whatever you file bugs in and read it there.
The steps and the environment block are the two parts the app fills in on its own, so they are the two this demo builds. Nothing here reads anything from your computer.
What was recorded
Mouse positions, clicks and window focus changes. No keystrokes and no window titles go into the track, which is what makes it safe to hand to somebody else.
What the export writes
## Steps to reproduce 1. 2. 3. **Expected:** **Actual:** ## Environment ``` OS: Windows 10 Pro App: SnapBuddy 0.9.0 Displays: 1920x1080, 2560x1440 Locale: en-GB Timezone: Europe/London ```
Steps, timestamps and the environment block. Expected and Actual are left empty, because those two are the only parts of a bug report you have to write yourself.
Your clicks go into the track. Your keystrokes do not.
Recording writes an interaction track beside the video: mouse positions, clicks and window focus changes. No keystrokes and no window titles go into it, by design. The steps in the report are read back out of that track, with positions given as percentages of the frame and times counted from the start, so a colleague on a different screen size is reading about the same place you clicked.
It watched where you clicked. It never once looked at what you typed.
The list stops at twenty five interactions and says so, in these words: ...and N more interactions, not listed.
A list that stopped quietly would read as the whole story.
On a recording, a blur or a redaction is an overlay riding on top of the video rather than something burned into it, and the export says so in bold and withholds the coordinates instead of handing a reader a map to what you covered.
The recording side of this, the pre-record picker, the pill and the take that survives a crash, is on the recording page.
No plugin to install, on either side
The export is markdown, so it pastes into the tracker you already use with no plugin to install and no account to connect on either side. On the desktop, console and network logs are not part of it. The browser extension can capture them per site, when you ask it to.
Filing a report straight into your tracker from the app will land in a later release.
AI · coming soon
Your marks will
write the
first draft.
Press once on a capture and a draft will come back with the title written for you, and expected and actual started from the marks you drew and the labels you typed on them.
- 1Will read the marks you drew and the labels you typed on them
- 2Will leave the numbered steps exactly as the recorder wrote them
- 3Will hand you a draft to edit before anybody else sees it
Today
Your repro steps already ship. The desktop app numbers them off the interaction track it writes beside a recording, and no model is anywhere near them. Everything above is what will join them.