Three hours into checkout flow design and forgot payment failures exist
You know that moment when you're deep in Figma wiring up the perfect checkout flow, cart slides in smooth, address form validates like butter, payment modal pops with that satisfying animation. Everything feels golden. Then you stare at the screen for a solid minute before the horrifying realization hits: what if the card declines? What if they hit back after entering shipping? Or worse, what if the API hiccups and the whole thing 500s mid-submit?
Of course I forgot to map any of that because apparently my brain decided edge cases were for tomorrow's me. Now the flow is this pristine happy path fantasy that would crumble faster than a house of cards in a wind tunnel. Spent the next hour frantically sketching failure states, rollback logic, and those awkward 'try again' loops that nobody loves but everybody needs.
Classic case of optimism bias winning the design sprint. How do you all prevent this amateur hour mistake? Do you start with the failure flows first to keep it real, or is there some magic flowchart that reminds you humans aren't robots? Spill your war stories because I'm clearly too trusting of smooth user journeys.