bugme

No bug arrives alone.

The moment a user hits send, bugme seals seven things to the report: the session replay, the console, the network log, a screenshot, the device, the events you tag, and the form they filled in. Your engineers open a specimen, not a sentence.

Free for 3 people and 500 reports a month. No card.

Seven things, sealed to every report

Not attachments a user remembers to add. The widget collects all of it at the moment of the report, and it travels with the ticket for as long as the ticket exists.

  • Session replay

    The last minutes before it broke, playable.

    click .checkout-submitinput #card-numbererror boundary caught
  • Console

    Every log line, in order, with its level.

    warn retrying payment intent (2/3)error TypeError: total is undefinedat applyDiscount (cart.ts:88)
  • Network

    The requests, their status, and how long they took.

    POST /v1/intents 502 1.4sGET /v1/cart 200 90ms
  • Device and session

    Browser, OS, viewport, locale, the page URL.

    Chrome 141 · macOS 151512×982 · en-GB/checkout?step=payment
  • Your own events

    The trail you tag yourself, alongside ours.

    cart.discount_appliedcheckout.step_2
  • Screenshot

    What the user was looking at when they hit send.

    checkout-blank-total.png284 KB
  • What they wrote

    The form you designed, answered in their words.

    What went wrong?What did you expect?

One script tag, then never again

The snippet queues calls until the bundle lands, so you can call the widget on the very next line. Point it at a project key and the capture starts.

<script src="…/bugme.js" async></script>
Bugme.initialize("your-project-key");

One widget. Four surfaces.

Bug reports

The widget captures the report and everything around it, then files it into a board your team works from.

  1. New
  2. Open
  3. In progress
  4. Resolved

Feature requests

Users vote. Merge a duplicate and its votes carry over to the survivor.

Support with handover

A bot answers what it can and hands the conversation to a human without dropping it.

Public roadmap

Planned, in progress, shipped — published per project, for your users to follow.

Multi-tenant on purpose, not by accident

Scoped to your organization
Every query that touches tenant data takes the organization as its first argument and filters on it. There is no path that resolves a row by id alone.
Roles, and teams inside them
Owner, admin and member across the organization; admin and member again inside each team.
One public surface, held shut
The widget is the only route that accepts writes without a session. It gets per-project origin checks, a size cap on every body, and its own rate limit on every endpoint.
Your Postgres, if you want it
One database and one object store. Run it on your own infrastructure and nothing phones home.

Start with the free tier

3 people, 1 project, 500 reports and 200 conversations a month. Move up when you outgrow it.

© 2026 bugme — bug reports, feature requests, support with human handover, and public roadmaps. Pricing