This is what an Opsis finding looks like

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 Opsis MCP reproduced it in a real browser. Nothing here is staged.

Severity High
StatusReproduced
Route/demo/checkout
SourcePostHog session replay

API fails for real users on /demo/checkout

Category api_failure · Severity high

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

Opsis-reproduced bug: the demo store checkout stuck after a failed payment attempt (final screenshot)
VerifiedExpected pattern TypeError reproduced. A finding is only verified when an expected pattern reappears.

Captured evidence

1 console error · 1 failed request

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

The fix · paste 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 Opsis MCP proof. If the bug no longer reproduces, it flips to Fixed and keeps 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.

Curious how this gets verified? Read how Opsis MCP proof works.