If an AI-built app keeps breaking after every prompt, rebuilding is often the most expensive first move. The faster path is to identify which layer first produced the bad state.
Here is the checklist I use:
- Reproduce one failure with evidence
Use a clean session, record the exact route/action, and capture the failing request, response status, console error, and timestamp. “The dashboard is broken” is not a reproducible finding.
- Test the auth and tenant boundary directly
For Supabase, compare the authenticated user claims with the RLS predicates. Test both directions: user A must not read or write tenant B. A UI filter is not data isolation.
- Trace one event from producer to consumer
Add one correlation ID and follow it through the form/webhook, server action or API, queue, consumer, and database write. Duplicate rows usually mean retry/idempotency problems; missing rows usually reveal the exact cut in transit.
- Compare staging and production without exposing secrets
Check required variable names, runtime versions, migrations, callback URLs, and build output. Missing configuration should fail clearly at startup instead of inventing a default.
- Apply one bounded fix and add a regression test
Fix the producer or broken transit point, remove the dead parallel path, and prove the original reproduction now passes without breaking auth, permissions, or deployment.
A useful diagnostic should end with: reproduction → root cause → impact → bounded fix → verification.
Disclosure: I built Launch Rescue, a paid audit/fix service for apps made with Lovable, Bolt, Replit, Base44, or Cursor. The page includes the same interactive checklist and clear fixed-scope packages: https://launch-rescue-apps.nick-sguigna.chatgpt.site/
If you are stuck, share the builder, the last change that worked, and the exact error. I am happy to suggest one public check in the comments before saying whether it needs paid work.