Good Products Shouldn’t Be Perfect – The Myth of Perfect Systems
When AI accelerates and architecture explodes, something else begins to slip: the clarity of purpose, the decision about what is truly needed, the value behind the effort, and the human the product is actually made for.
When everything seems possible, build with ease and always scalable, do we remember to ask whether it should be done at all? So, for the best reasons, In the past weeks, Mirko asked a sharp and uncomfortable question:
“Would you board a plane designed by someone who just described it to ChatGPT?” Go to Article
Kai and Wolfgang followed up with a perfectly constructed image:
“You moved to the cloud to simplify. Now you’re running a zoo.” Go to Article
Both articles land precisely where the modern tech debate needs clarity. One confronts the illusion of autonomous progress through AI. The other exposes how abstraction, once seen as an elegant escape, has now become a form of architectural self-deception.
What they don’t explicitly say, but both point to, is something deeper:
In all of this acceleration, this abstraction, this seamless promise of progress, something critical is being displaced. The user. The human. The moment of hesitation. And this is where I’d like to add a third perspective.
There is a cost to perfection. And it’s rarely visible in a product demo.
In UX, we’ve been taught to optimise. Remove friction. Shorten paths. Predict intent. All with the promise of making things easier, cleaner, more efficient. But what if clean is not always true? What if perfect isn’t always desirable?
We often forget that friction is not a flaw. It is sometimes the exact place where value emerges. A brief pause. A visible option to go back. A gentle “are you sure” that carries more respect than ten clever defaults.
The most human decisions rarely happen in straight lines. They involve doubt, contradiction, sometimes regret. And yet we increasingly build products that assume their users are either flawless or too distracted to think. We praise intelligence, but quietly remove all forms of negotiation.
Real product design is not about removing error. It’s about making space for it.
To design for imperfection means something very precise. It means creating products that don’t just accept human ambiguity but are structurally built to live with it.
- It means including ways to reverse a decision.
- It means leaving intentional room for interpretation.
- And sometimes, it means offering no automation at all.
Not because we couldn’t predict the next step. But because we shouldn’t. There is an old discipline in industrial design that teaches us: good systems don’t prevent failure, they guide failure gently toward insight. If we carry that wisdom into digital product thinking, we quickly see how over-optimisation is not neutral. It is an opinion. And often, a misplaced one.
The roundabout is not a metaphor. It’s where products live.
Mirko made a brilliant analogy. AI works like self-driving cars. On highways, it’s impressive. But try building trust in it, when it is in the mists of the “no-rules-apply” chaos in the roundabout at the Arc de Triomphe in Paris, and the system collapses in seconds. Kai showed us how cloud architecture was meant to offer clarity, yet has become a maze of micro-decisions, each abstracted just enough to be forgotten.
In both cases, what fails is not speed or structure. What fails is the loss of situational awareness. And that is exactly what great UX preserves.
Designing for imperfection is not about lowering standards. It’s about respecting the context, the edge case, the moment where people are not sure. And it’s about building that space into the experience as a form of maturity, not as an exception to be patched later. It means remembering that the real world is not a cloud dashboard. It’s a roundabout at rush hour.
And the best systems are the ones that don’t just survive that chaos, but respect and embrace it.
What this really comes down to is courage.
Because it takes courage to design something that pauses. That doesn’t finish your sentence. That offers a second chance. It takes confidence to resist the trend of making everything predictive, seamless, fully automated. And it takes empathy to say: this product is not here to impress you with its intelligence, it’s here to help you think better. If we lose that, we lose the very thing that makes software meaningful.
The future is not frictionless. The best products will not be perfect. And the systems we build, if they are to support humans, must learn to live with imperfection not as a flaw to fix, but as a condition to honour.
Design for imperfection is not just a design choice. It is a cultural position. One that believes thinking is more important than speed, and that good technology listens even when it already knows the answer.
Design for imperfection is not a nostalgic cry to avoid change, it’s a forward-looking stance.
So, to all you Designers, UX Experts and visionary Product Leaders:
Don’t design systems that solve everything.
Design systems that make space for us to think.