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
One <script> tag in your <head>. The widget loads in a Shadow DOM so it cannot collide with your styles.
Visitors click the bug icon, then click any element on the page. The widget anchors a comment to that element with a stable selector.
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
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
@medv/finder)// click any of these
A paragraph with its own context. Click anywhere inside this text. The selector captured will resolve to the parent paragraph.
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
<script src="https://travismakes.org/travis-eats-bugs/widget.js"></script>
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
@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.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.// stay in the loop
Get a note when v1.0 ships.
Signal received.