Start with the error, not the prompt
When an AI build breaks, the instinct is to prompt again. Resist it for ten minutes. Open the browser console, open the network tab, and read the deployed build's logs. The real message is almost always there in plain English, and it is almost never what the chat said went wrong.
Write the exact error down before you touch anything. A model that can see the error text fixes it in one pass; a model guessing from your paraphrase will invent a second bug.
The four failures that account for most stuck projects
Auth and permissions: the app works as you, fails as everyone else. That's row-level security or a missing policy, not the UI.
Environment drift: works in preview, breaks live. A key, a build setting, or server-only code being imported into the browser.
Pattern collision: two versions of the same feature both half-wired, so every fix breaks the other one.
Silent data shape changes: the database returns a field the screen no longer expects, and the page renders blank instead of erroring.
How to break the loop yourself
Shrink the problem. Delete the branch you don't need, comment out the half-finished feature, and get back to a version that runs. An AI cannot fix a project that never gets past the first error.
Change one thing per prompt and check it. Batching five fixes into one request is how a loop starts.
If three attempts in a row have not moved the error, the approach is wrong, not the wording. Step back and change the design of the thing rather than the phrasing of the ask.
When to bring in a person
Bring someone in when money, personal data, or a launch date is involved. Those are the three cases where a wrong guess is expensive, and they're also the three that AI tools handle worst.
We're full-stack designers — UI/UX people who learned the engineering — so you get the interface fixed and the stack underneath it fixed in the same pass, usually in days rather than weeks.