Sample report · real pipeline output

This is what an Opsis finding looks like

This is a real bug Opsis caught on an intentionally broken demo store — the kind you’d never think to test for. Session signals flagged it, Opsis wrote it up, and Playwright reproduced it in a real browser. Nothing here is staged.

HighReproduced on video Open

API fails for real users on /demo/checkout

From PostHog session replays, Opsis detected an issue (api_failure) on /demo/checkout. Evidence: PostHog detected a rage click on button#pay at /demo/checkout; 4x repeated clicks on button#pay at /demo/checkout within a short window; User started filling a form on /demo/checkout but never submitted.

Real users failed to complete a transaction on /demo/checkout — potential direct revenue loss.

Proof — reproduced in a real browser

Bug REPRODUCED. Expectation met: After the interaction, the following reappears: console errors (TypeError) and failed requests (/api/demo/pay, /api/demo/pay) (matched pattern: "TypeError"). Captured 1 console error(s) and 1 failed request(s). Video, trace, and screenshot saved as evidence.

Screen recording

Final screenshot

The demo store checkout after the failed payment attempt

Matched expected pattern TypeError — a finding is only verified when an expected pattern reproduces.

Captured evidence

consoleFailed to load resource: the server responded with a status of 500 (Internal Server Error)
networkPOST /api/demo/pay500 Internal Server Error

Reproduction steps

  1. Open /demo/checkout using Chrome (Desktop)
  2. Fill in the input#email field(s)
  3. Click button#pay
  4. Watch the console and network tab — the same errors will appear

Then: paste the fix into Cursor, Lovable, or Claude Code

Every bug ships a guard-railed fix prompt — scoped to change nothing but the bug. Paste it into your editor, ship, and one click re-runs the same Playwright proof. If the bug no longer reproduces, it flips to Fixed — keeping its own video as evidence.

safe_fix_prompt.txt
I found a bug in my app (https://your-app.example/demo/checkout). Please fix it safely.
BUG: API fails for real users on /demo/checkout
Category: api_failure · Severity: high
EVIDENCE FROM REAL USER SESSIONS:
- [signal] PostHog detected a rage click on button#pay at /demo/checkout (ref: https://app.posthog.com/replay/fx-checkout-500#fixture)
- [signal] 4x repeated clicks on button#pay at /demo/checkout within a short window (ref: https://app.posthog.com/replay/fx-checkout-500#fixture)
- [signal] User started filling a form on /demo/checkout but never submitted (ref: https://app.posthog.com/replay/fx-checkout-500#fixture)
- [console_error] Console error: TypeError: Cannot read properties of undefined (reading 'total') (ref: https://app.posthog.com/replay/fx-checkout-500#fixture)
- [network_error] POST https://demo-store.opsis.id/api/demo/pay → 500 Internal Server Error (ref: https://app.posthog.com/replay/fx-checkout-500#fixture)
FIX RULES (MANDATORY):
1. Fix ONLY the bug above. Do not refactor, do not delete, do not change unrelated code.
2. Do not change the database schema or dependencies unless strictly required for this fix.
3. Show the diff/file changes you make and briefly explain why they fix the bug.
4. Keep all other behaviour exactly as it was.
5. After fixing, explain how to test manually: which click-through steps I should take to confirm the bug is gone.

Point this at your own app

Start free, poke around this same bug live on the built-in sample project, then connect PostHog when you’re ready.

Start free