Snap it. Mark it.
Ship the bug.
The repro steps write themselves from your own clicks, because the recorder logs every one beside the take. Screen capture, screen recording and eighteen annotation tools, on Windows, and every file lands on your disk first.
- No account to capture
- PNG and Markdown on disk
- Redaction that removes pixels on stills
Precision
The timer counts.
Nothing else moves.
That column is sized for the widest reading the timer will ever have, so the buttons beside it stay where your cursor left them. Five details of the same kind, all of them countable in the shipped code.
- One engine, three surfaces
- The annotation editor is a single file, mirrored byte for byte into the browser extension and the web app. Drift between the copies fails the build, so a mark behaves the same wherever you draw it.
- Redaction that removes pixels
- On a still, redact, blur and pixelate destroy the pixels underneath. The covered content is gone from the image rather than painted over it.
- Trim to the exact time
- Two handles, text fields you can type an exact time into, and a readout that updates as you drag. The default outcome saves a new card and leaves the original take untouched.
- Six accents, contrast checked
- Every accent was contrast-checked at design time, and a build check holds the numbers, so a retuned colour cannot quietly drop below the floor it was measured against.
- Numbers that hold their place
- The recording timer counts in tabular figures, inside a column sized for its widest reading, so the buttons beside it never move while it runs. Card durations, the exact-time trim fields and every changing number on the web are set the same way.
Where it runs
Three places.
One is a link
on this page.
The same eighteen tools and the same editor, on Windows, in the browser extension and on the web. What differs is where the files go, and what happens when you delete one.
Desktop, on Windows
Capture the whole screen, a dragged region or a single window. Record with system audio and the microphone as separate choices, then keep the takes in a local library with a 90 day trash.
Browser extension
Snap the visible area of a tab from the popup and mark it up without leaving the browser. Every card stays in the browser's own storage, and delete there is permanent: the extension keeps no trash.
Web
Sign in for a library of what you have uploaded, or open /annotate and mark up a file with no account. That page stores nothing and says so.
Repro steps
A parser writes
the steps.
Not a model.
On the desktop, the repro steps come from an interaction track written beside the recording: mouse positions, clicks and window focus changes. No keystrokes and no window titles are in it, by design. Past twenty five interactions the export stops listing them and says so, in those words: ...and N more interactions, not listed.
Every saved markdown file and every copied prompt carries an environment line: OS, app version, displays, locale, timezone. It is put together on your machine and is not sent anywhere.
The export is markdown: front matter, the fenced environment block, the steps and your own note, ready to paste into whatever tracker you already use. Console and network logs are not part of it.
The window is a drawing, not a screenshot. Each ring is one step in the export beside it, twenty four rings for twenty five steps, because a window coming to the front happened nowhere and carries no position. Pick a line and the pointer goes to where that click landed.
Keyboard
Five keys, and one
that does nothing.
The board, the editor and the recording pill are all driven from the keyboard. Press one of these while this section is on screen and its cap goes down beside the sentence that says what it does.
The fifth is the one worth knowing. Escape backs out of a region selection, and during a recording it does nothing at all. Discard destroys a take with no confirmation and no recycle bin, so a reflex keypress is not allowed anywhere near it.
Press one and its cap goes down, here on the page. Nothing is captured, saved or recorded, and the keypress is not swallowed either, so your own browser shortcuts still work. Tapping a row, or moving focus to it, does the same thing.
Spec
None of these are
how many people
use it.
That is a different kind of number and we do not have one yet. These are facts about the software: what is in the toolbar, what the recorder writes down, and what a build check refuses to let drift.
Every one of them is countable in the source, which is the only reason any of them is printed here.
18
Annotation tools
Counted off the toolbar, not off a feature list
8
Colour choices
Seven presets, then the native picker for everything else
6
Global hotkeys
All six rebindable, each with a fallback if another app got there first
30
Frames a second
Fixed, and Settings says so instead of offering a control that does nothing
25
Repro steps listed
Then it tells you how many it left out, rather than stopping quietly
3
Copies of one engine
Desktop, extension and web, byte for byte. Drift fails the build
After the marks
Every mark
lands twice.
Drawn, then written.
On a still, redact, blur and pixelate destroy the pixels underneath. On a recording the same marks are overlays that ride on top of the file, and the markdown export says so in bold.
- Marks baked into the picture, and kept as data beside it
- Positions written as percentages of the frame, not screen pixels
- One name and one format, on every save path
On the web
A share link works the moment it is created, before the bytes arrive, and the viewer says so itself. Screenshots share and unfurl today; playback of shared recordings in Chrome is coming soon.
The extension
The same engine,
in the browser.
No network requests.
The browser extension runs the same annotation engine as the desktop app, mirrored byte for byte. It makes no network requests and collects no data.
- One engine across desktop, extension and web; drift fails the build
- Everything stays in the browser, in IndexedDB, never in synced storage
A 56px owl will park where you put it on the desktop and fan out Screen, Region and Record on hover. It will be off by default, and it will hide from its own captures.
The roadmap
Three pictures of things
that do not exist yet.
Three things will land after everything above: Interactive demos, AI assisted tools, and Auto step guides. These are in the workshop, not in the app yet. Each band below says so on itself, and every sentence in them is written in the future tense for that reason.
Interactive demos · coming soon
Walkthroughs
you will build
by pointing.
Hotspots will land on the frames you already captured, branches will go wherever you send them, and reordering a step will not repoint anything at the wrong target.
- Branching
- Chapters
- Reachability check
The tooltip copy in the picture is a suggestion the builder will offer. Nothing in SnapBuddy writes tooltip copy today.
AI · coming soon
Every card will
name itself.
And find itself.
Every capture will get a real title instead of a timestamp, and search will read what is inside the picture, so “the checkout error from Tuesday” will find it.
- Search will take a whole sentence rather than a keyword
- Near duplicates will offer to become one report
You will type
“the checkout error from tuesday”
AI · coming soon
One recording in.
Numbered steps out.
Every click will become a step: a full resolution frame, a caption written for you, and the cursor already circled where it landed. You will hand the result to somebody who has to follow it rather than a video they have to scrub.
- Every click in the interaction track will bring its own frame and caption
- The steps will export as a document, or stay as a walkthrough
- Frames will be stills, so a redaction will remove the pixels it covers
Testimonials
Nobody has said
anything yet
SnapBuddy has not launched, so it has no customers, so it has no customer quotes. Inventing one was never on the table. What it does have is a set of build checks that run against every commit and cannot be talked round, so the reviews below are theirs. Every line is real terminal output from this repository. None of them is a person.
- People quoted below
- 0
- Build checks quoted below
- 5
- Of those, still refusing to sign off
- 1
exit 0scripts/check-annotate.mjsok all 3 copies of the annotate engine are identicalThe annotation editor is one plain file that has to be byte identical in three places. This is the check that fails the build the day one of them drifts.The command that said it
node scripts/check-annotate.mjsexit 0scripts/check-mascot.mjscheck-mascot: geometry holds.It measures the owl. Eye radius, eye separation, stroke width and the clearance between them, in five separate files, every run.The command that said it
node scripts/check-mascot.mjsexit 0scripts/check-tokens.mjs… contrast floors hold, including --accent-fg against both gradient stops on every variantIt reads every colour pair on this site and does the contrast arithmetic itself. It has never once been talked round by a designer.The command that said it
node scripts/check-tokens.mjsexit 0scripts/check-settings.mjsok all 16 Settings fields survive a SaveIt fills in the Settings panel, saves, reloads, and counts what came back. Sixteen out of sixteen, or it says so.The command that said it
node scripts/check-settings.mjsexit 1scripts/check-promises.mjspromise checks FAILEDThis one fails today, and it is right to. It has found a claim on this site that the code behind it no longer supports, and it will not sign off until the claim is fixed. We published it anyway, because a testimonial you are allowed to veto is an advertisement.The command that said it
node scripts/check-promises.mjs
When there is a customer, their words go here and the checks go back to the terminal where they belong. Until then the reviews are from things that cannot be flattered, cannot be comped, and will not stop talking when they disagree.
Questions
One request leaves
on its own.
That one is the update check, and it is the first answer below. The other seven are about the product as it is today, each one sourced from what the app itself says or from what it writes to your disk.
Where an answer names something that is not built yet, it carries the same Coming soon marker the rest of this site uses, and the sentence is written in the future tense.
Does it work offline, and where do my files go?
The desktop app runs on your machine. Every capture is written to the folder you pick in Settings, and the board reads its cards from that disk rather than from a server.
One request goes out on its own: shortly after every start the app asks GitHub for the latest version. It discloses your IP address and not your version, because the same static file is fetched whatever you run and the comparison happens locally.
What actually leaves my computer?
Four things, and the app says which in its own words, in the footer under the board:
Desktop app, under the boardEverything you capture is written to this computer and stays there. Four things leave it: recordings, if you switch Sharing on in Settings; the screenshots and click positions in a walkthrough, when you make one from a recording, which goes through that same switch; signing in, if you press Sign in, which opens your browser at the server address in Settings and posts a one-time code back to it in exchange for your email address and plan; and the update check, which asks GitHub for the latest version at every start. The last two do not go through the Sharing switch.
The sentence ends by naming the notice in full, which is the privacy notice.
Do I need an account?
Not to capture. Install the desktop app or the extension and start working straight away. Both keep their cards on the machine they run on, the extension in its own browser storage, and nothing asks who you are.
Signing in is optional, and it is what turns on the cloud half: uploading a recording, sharing a link that opens in anyone’s browser, and whatever your plan includes. The desktop app has a Sign in button on its board. It opens your browser, you sign in there, and the app is handed back your email address and plan. Your password and any second factor stay in the browser; the app never sees them.
The web library always asks, because it is that cloud half. You sign in with your email address and a link sent to it, and what you see there is your own workspace.
Is it Windows only?Coming soon
The desktop app is built for Windows today, and the installer on the download page is signed. The app carries the public half of that key, so an update it offers you later is checked before it installs.
macOS and Linux are coming soon. Nothing else is tied to Windows in the meantime: the extension runs in Chromium browsers and in Firefox, and the web library needs a browser and nothing more.
Does redaction really remove the pixels?
On a still, redact, blur and pixelate destroy the pixels they cover, and the saved file keeps nothing underneath the mark.
On a recording they behave differently. Every mark there is an overlay drawn at playback time, so the covered pixels stay in the video file until Burn in writes a separate annotated copy with the effects applied. When a mark is hiding something, share the burned in copy rather than the original.
Can I put a password on a share link?
Yes. The gate is a plain form post, so it still works in an email preview pane with no JavaScript running, and a link takes 10 attempts per 10 minutes before it stops accepting them.
A locked link gives nothing away while it waits: the unfurl and the tab title both read Password protected rather than the real name. A guessed, expired or deleted link lands on the same page as a dead one, so probing a link teaches a stranger nothing.
What happens when I delete something?
In the desktop app and in the web library it goes to the trash, where it can be restored for 90 days. Deleting kills its share link the moment you press it, and restoring brings the same link back.
The extension has no trash: a delete there is permanent after one confirm.
Is there an AI in it?Coming soon
Not in what you install. The numbered steps in an exported report are written from the interaction track the desktop recorder writes beside a take, which keeps mouse positions, clicks and window focus changes and deliberately keeps no keystrokes and no window titles. That is mechanical, and no model touches it.
An assistant that drafts the prose around those steps is coming soon, and it is marked as such wherever this site shows one.
Privacy
What leaves
this computer
Quoted exactly as it ships, from the footer under the desktop board:
Desktop app, under the boardEverything you capture is written to this computer and stays there. Four things leave it: recordings, if you switch Sharing on in Settings; the screenshots and click positions in a walkthrough, when you make one from a recording, which goes through that same switch; signing in, if you press Sign in, which opens your browser at the server address in Settings and posts a one-time code back to it in exchange for your email address and plan; and the update check, which asks GitHub for the latest version at every start. The last two do not go through the Sharing switch. In full: https://snapbuddy-web.vercel.app/privacy
