These are not hypotheticals. They are what shows up, in roughly this order of frequency, when someone sends over an app they
built with an AI tool and cannot launch.
It works locally and breaks the moment it is deployed
Why: The generated app assumed its development environment: a path that only exists on your machine, a dependency the host builds differently, an environment variable nothing set in production.
Fix: Reproduce the real build in a container first, fix what falls out, then automate the deploy so the difference cannot come back.
Anyone can see data that should be private
Why: Access control was written in the interface rather than in the database. The button is hidden; the endpoint is not, and the key that reaches it ships in your own JavaScript.
Fix: Enforce access on the server, per table and per record, then verify it by querying as a signed-out stranger.
Sign-in works but everything around it does not
Why: Generators finish the happy path. Password reset, email verification, session expiry, and account deletion are consistently left as stubs.
Fix: Complete the flows, expire sessions, and make deletion real — the last one is a GDPR obligation, not a nice-to-have.
Payments look connected but the numbers do not match
Why: A checkout button is not billing. Webhooks are unverified or absent, so failed charges, refunds, and cancellations never reach your database.
Fix: Verify webhook signatures, make handlers replay-safe, and reconcile subscription state against the provider on a schedule.
You are afraid to change anything
Why: Months of prompting left three ways to fetch data and no tests, so nobody can tell what a change will break until a customer finds out.
Fix: Consolidate the duplicated patterns and put tests on the paths that carry money and customer data. Not everywhere — there.
You would learn about an outage from a customer
Why: Nothing is watching it. No error tracking, no external uptime check, no logs you can search after the fact.
Fix: Error reporting that alerts a phone, an external uptime check, and searchable logs. Roughly an hour of work, once.