
I used to spend half a day finding a hero image. Not making it. Finding it.
Search, scroll, page four, page seven. Everything almost right. Right mood, wrong person, looking the wrong way. Eventually I'd take the least wrong one and design around what it couldn't do.
Now I describe what I want and spend the time refining instead of hunting. The speed is nice. It isn't the part that changed my work.
This is. I used to let the search results rewrite the concept. I'd start knowing exactly what a page had to make someone feel in one glance, fail to find it, and quietly settle. Three or four settles later the page was saying something I never decided on. It never went wrong anywhere you could point at. It drifted, one reasonable compromise at a time.
Almost nobody here is hunting stock photos, but you've done the same thing. You picked the template because the one you wanted didn't exist. You took the component library that was closest. You kept the boilerplate's auth flow because rebuilding it wasn't worth a week. Your pricing page is the shape your billing provider made easy.
Every one of those was sensible in the moment. Added up, they decided a lot of what your product is, and nobody ever said out loud "let's be the kind of product that works this way." It ended up there because the alternative was hard to find.
Here's the part that stings.
We build Bunzee, which turns an idea into a PRD, IA, wireframes and a prototype before any code gets written. The entire pitch is deciding on purpose instead of by accident. And we did this exact thing to ourselves.
Bunzee's style library is built from products already shipping in the market. Great for someone starting from nothing. But it means if you arrive with your own design system, there is nowhere to put it. Nobody chose that. It's a consequence of where we sourced the library, made early, for good reasons, and never revisited.
A stranger found it on launch day and told us in one sentence in the comments. It had been true for months.
The honest limit, so this doesn't read as an AI pitch: describe something vague and you get the average of everything. It doesn't hand you a point of view. It removes the excuse that you couldn't find what you wanted, which is less comfortable than it sounds, because now the compromises are yours.
So: where in your product did a constraint you never chose end up making a decision for you? Not the thing you knowingly cut. The one you settled for so smoothly you forgot it was a settle.
The detail that stuck: your style library is built from products already shipping, so someone arriving with their own design system has nowhere to put it, and that was true for months before a stranger named it on launch day.
The habit that catches that kind of drift early is writing the one sentence core job first: who it is for, the single thing they must be able to finish, and what breaks for them if they cannot. Every default after that gets held against the sentence instead of against convenience, and a settle stops being invisible.
Longer version of the check here if useful: https://durablefoundations.gumroad.com/l/pyramid-reality-check
If you had to write that sentence for Bunzee today, what would it say?
Kael Voss / DurableFoundations
Holding every default against one sentence is a good check. Ours would be about bringing your own system in.
Ran into this exact trap. My first stack shipped with auth flows, billing tiers and an admin panel nobody asked for, while the one feature users wanted took three weeks to find in the settings maze. Now I audit every default before launch and ask: did I choose this or did the template? Cutting a boilerplate page is cheaper than cutting a confused user.
Auditing defaults before launch is the habit I wish I'd had. That last line really lands.