The 4:47 PM Slack Message Every AI Builder Eventually Gets
Nothing was broken. That's what made it worse.
You demoed it on a Tuesday. It was beautiful.
The AI-built onboarding flow took a new customer’s info, matched them to the right pricing tier, and sent a welcome email with their account details already filled in. You’d typed maybe forty words into the prompt box that morning. Four hours later, you had a feature. You loaded up a fake account, clicked through it three times, and it worked every single time. You told your co-founder. You might have told your mom.
You shipped it Wednesday.
Thursday afternoon, a real customer signed up. A messy one, the kind you never think to make up when you’re testing. Two email addresses on the account. A middle name sitting in the last-name field. A coupon code that was supposed to be 40% off, but her plan showed her paying full price. Support dropped a screenshot in your Slack at 4:47 PM with one line: “hey is this supposed to happen?”
It was not supposed to happen.
Here’s the part that stings a little: nothing was technically broken. The AI did exactly what it was built to do. It read the account, matched a tier, sent an email. Every step worked. The problem was that “works” and “handles a real customer” turned out to be two different questions, and you’d only ever asked the first one.
Go back and look at what you actually told the AI to build. It’s something like: “Build a signup flow that matches new customers to the right pricing tier and sends them a welcome email.” Reasonable sentence. You’d sign off on it in a meeting. But read it again, slower, the way the AI had to read it: it never says what happens if the account looks weird. It never says what “right tier” means when two answers seem to apply. It never says what to do if something doesn’t fit. It just assumes something will always fit, because in your three test runs, something always did.
That’s not a prompting problem. More wordsmithing wouldn’t have caught this. You could’ve spent another hour polishing that sentence and it still wouldn’t have occurred to you to mention two email addresses, because you didn’t think of it either. The gap wasn’t in how you asked. It was in what you’d actually decided before you asked, and the honest answer is you hadn’t decided much. You had a demo that worked and a Tuesday afternoon that felt productive, and those two things are not the same as knowing what “done” means.
Here’s the thing almost nobody tells you when you start building product with AI tools: it isn’t guessing because it’s dumb. It’s guessing because you left it a gap, and it is, if nothing else, an extremely confident gap-filler. Ask it to handle “a customer” and it will happily build for the customer it can picture: three test runs in, that was always you.
And here’s why this isn’t just your Thursday: most people building products with AI tools right now aren’t developers. Nobody handed you a syllabus on what questions to ask before you hit build. You didn’t skip a step. You just never got told the step existed.
If you’ve ever caught yourself staring at a support screenshot on a Thursday afternoon, quietly doing the math on how many other “obviously fine” features are sitting one weird customer away from the same conversation, you already know something a lot of people building with AI haven’t figured out yet. You don’t need a computer science degree to see it. You just need to have been the one who got the screenshot.
The fix for this isn’t complicated, and it’s not really about the AI at all. But that’s a conversation for another day.
For today, just sit with this one: the feature didn’t fail because the AI got worse between Tuesday and Thursday. It failed because Tuesday’s test and Thursday’s customer were never asking the same question. Nobody had written down, anywhere, what the real question actually was.


