AI QA for web apps · Private beta

Only the bugs that happen twice.

Point Bugbearer at your web app and write one line. Agents plan the test cases, run one real browser per case in parallel and record every case. A clean browser repeats each finding. Only the repeats reach your inbox.

Case 14 · Cart pricing · recordingRepeated in a clean browser
Your cartAcme HoodieSize L · Qty 1
$40.00Expected $50.00, from the page text
Step 5 · 0:51
Acme Hoodie L variant uses the wrong cart priceCart shows $40.00, expected $50.00 from the page text. Step 5, 0:51.

One line in. Real bugs out.

  1. 01

    Point it at your web app

    Bugbearer can build and run your repo itself, or reach your app through a tunnel or a staging URL.

  2. 02

    Write a one-line brief

    Agents read it and plan the test cases.

  3. 03

    One real browser per case

    Every case runs in parallel in its own browser, and every case is recorded on video.

  4. 04

    A clean browser repeats it

    Each finding is run again from scratch. Only the findings that repeat reach your inbox.

Every bug arrives with its proof. A video that seeks to each numbered step. The expected result, and where the expectation came from. The console and network lines. What the case cost.

Expected$50.00
Actual$40.00
Expectation came from
Page textYour briefA rule

Expected, actual, and why

Each expectation names its source: the page text, your brief or a rule you wrote.
Console and network · case 14
0:33networkPOST /api/cart 200
0:34consolecart: added hoodie, variant L
0:51networkGET /api/cart 200
0:51consolecart: line price 40.00
0:58consoleproduct: price 50.00
Cost of this case$0.41

Console, network and cost

The lines from the moment it broke, and what the case cost to run.

Four answers. Each one does something.

Triage each bug from your inbox. What you decide shapes the next run.

Accept

Creates a GitHub issue a coding agent can fix.

Works as intended

Say why in one sentence. It becomes a rule, so the finding never comes back.

Can't reproduce

Mark it when the bug does not happen for you.

Duplicate

Mark it when it repeats a bug you already have.

  1. 01Bug acceptedFrom your inbox, with its video and steps.
  2. 02GitHub issueWritten so a coding agent can fix it.
  3. 03Fix mergedThe pull request with the fix lands.
  4. 04Tested againBugbearer re-tests the fix on merge.
Accept a bug and the loop closes itself: when the fix merges, Bugbearer runs the case again.

It runs when you would forget to.

On a schedule

Pick when it runs. The repeats wait in your inbox.

On a pull request label

Add the label. It tests the preview deployment and comments on the pull request once.

From chat

Ask for a run in a sentence, the way you would write a brief.

Optional · PostHog

Your users find bugs too. Now they get tested.

Connect PostHog and a weekly watch turns real-user errors and rage clicks into tested bugs, with the same video and steps as every other bug.

Weekly watch · from PostHog
Rage clicks on the size selectorTested, repeated
Error on the checkout buttonTested, did not repeat
Error on the cart pageTested, repeated

Built for staging, and only staging.

Staging only

Bugbearer tests staging and preview environments, never production.

Forbidden URLs blocked

The runner blocks any URL you mark as forbidden.

Allowed hosts only

Browsers can only reach the hosts you allow.

Accounts kept secret

Test accounts are encrypted, and passwords are masked in every recording.

Open the app.

Bugbearer is in private beta, and free while we measure what runs cost.