BugSketch

Open-source browser tool · local-first · no account

Annotate a screenshot or record a walkthrough with timed notes. Review the result, then export a clear issue report locally.

Record a walkthrough → · Download source + self-host bundle

A small sample to annotate

This is a synthetic interface, not an account or live dataset.

System sketch

Client calls API. API writes to Database.

Example private-marked content · also masked.

Install with one script

<script defer src="https://aviralgarg.com/bugsketch/bugsketch-0.2.0.js"></script>

The script includes the capture renderer and annotation UI. Self-host the same bundle from the source download. No report backend, account or API key is required.

Full install, callback and keyboard documentation · MIT license · Third-party notices

Local, with a clear review step

Inputs and private-marked content are masked before page rendering. Manual redaction permanently replaces pixels. Downloads contain only the flattened PNG and your explicit report text/annotations; the original image, raw DOM, hidden text and browser logs are not attached.

A page cannot identify every secret. Review the image, issue note and callout text before exporting. The default page URL contains origin and path; its query and fragment are not collected. No host receiver is configured on this demo.

Capture limits

DOM capture reconstructs currently loaded content; it is not a native pixel-exact browser screenshot. Fixed/sticky content, cross-origin or query-bearing assets, frames, video, canvas/WebGL and web components require an imported PNG. Full-page scrollable subregions and oversized images are rejected instead of silently cropped.

PNG import: 20 MB maximum; 128 × 96 px minimum; 4096 px width, 8192 px height and 8 megapixels maximum. Up to 16 marks and 140 characters per callout. Shorten text when it cannot fit legibly. The original note/mark/selected-text flow remains available separately and keeps its existing schema.

Walkthrough and optional dictation

A separate recorder tab continues while you navigate the selected site. Use Start/Stop, local replay, timed notes and WebM/MP4 downloads. Microphone recording is off by default; system audio is off. Video records the selected surface as shown without automatic masks or redaction. Review before export.

Optional dictation works for screenshot issue notes and recorder notes. On-device mode needs an installed language pack; no download or online fallback starts automatically. A browser speech service needs a separate choice and explicit consent for audio that may leave the device. Typing always works.

Recording: supported desktop HTTPS browser, 5 minutes / 64 MB maximum, up to 100 notes. Speech timestamps mark receipt of final text, not word alignment. Keep the recorder tab open; closing it stops capture and discards unsaved data.

Next
  • Optional host-owned delivery through the documented callback; hosted intake remains unselected