0.0.10-alpha / actively building

Click anywhere.
Comment.
Ship the fix.

A drop-in visual feedback widget for any web app. Your clients click on the broken thing. You ship the fix. No logins, no Jira, no support tickets. One line to install. Open source.

// how it works

Three steps. Nothing else.

01
Install

One <script> tag in your <head>. The widget loads in a Shadow DOM so it cannot collide with your styles.

02
Click

Visitors click the bug icon, then click any element on the page. The widget anchors a comment to that element with a stable selector.

03
Ship

Comments arrive in your inbox or dashboard with a screenshot, the page URL, and the resolved-PR link-back when you merge the fix.

// try it

This page is the demo.

The bug button in the bottom-right is the live widget. Click it. Your cursor becomes a crosshair, hovered elements glow, and clicking any element on this page drops a sticky-note pin attached to that element. Your notes live in your own browser storage; nothing is sent anywhere.

// captured automatically on every pin

  • Page URL
  • Operating system
  • Browser + version
  • CSS selector (via @medv/finder)
  • XPath fallback
  • Screen resolution + browser window size
  • Color depth + device pixel ratio
  • Language + timezone

// click any of these

A paragraph with its own context. Click anywhere inside this text. The selector captured will resolve to the parent paragraph.

Card one
Card two
Card three

Drop a pin, refresh the page, your pin is still there. Toggle the bug off, all pins hide. Toggle it on, they come back.

// install

One line. Any web app.

script <script src="https://travismakes.org/travis-eats-bugs/widget.js"></script>
vendor git clone https://github.com/travisbreaks/travisEATSbugs.git

Pre-1.0. The script tag above is this page's own bundle, served from the travismakes.org static site at /travis-eats-bugs/widget.js. That's how the bug button bottom-right runs on this page today. A dedicated CDN endpoint and public npm publish both land at v1.0; until then, drop in the script tag for a demo or vendor the repo for production.

// why this exists

Most visual feedback tools cost $50 a month per project and lock the data behind their dashboard.

travisEATSbugs is the inverse: open source, self-hostable, and built so a single drop-in widget works across every product you ship.

// questions

Things people ask.

Where does the data live?
Wherever you point the widget. A localStorage adapter runs entirely in the browser for prototypes and demos (it's what this page uses). A generic HTTP adapter points at any REST endpoint you already run. A Cloudflare D1 adapter is published as @travisbreaks/travisEATSbugs-cloudflare alongside a worker live at eats.travisfixes.com for anyone who'd rather not run their own backend. All three are in the repo today.
Do my visitors need to sign up?
No. Reporters comment via a share link or a project token with no signup required. Members (you and your team) authenticate to triage and resolve.
What about Jira / Linear / GitHub Issues?
On the roadmap, not shipped yet. Two-way sync to GitHub Issues, Linear, and Jira so a comment becomes a ticket and the ticket closing the comment writes back to the pin. Tracked in the public repo at #12, #13, #14.
Is the AI triage optional?
Yes. AI triage is shipped and opt-in: no ANTHROPIC_API_KEY set on the worker = no AI call. When enabled, the worker's POST /triage route returns severity, category, suggested assignee, and possible-duplicate hints via Claude Sonnet 4.6 with tool-use forced structured output. Reporter-mode share-link tokens get 403 on that route, so only member tokens can spend Anthropic credits.
What is the license?
Apache 2.0. Use it in client work, embed it in commercial products, fork it, ship it. The patent grant means your enterprise customers can deploy it without legal getting nervous.

// get started

Drop it in. Ship the fix.

// stay in the loop

Get a note when v1.0 ships.

Signal received.