Complexity doesn't make products powerful, it makes them harder to use.
There's a certain pride in building elaborate systems. Eleven filter options. Three types of dashboards. A notification preference centre with twenty-three toggles. It feels thorough. It isn't. Complexity is easy to add and nearly impossible to take back, and users pay for it with every interaction.
Teams add features when they're unsure who their user is. More options feel like covering all the bases. But every toggle, every menu item, every additional step is a small tax on attention. They compound. A product that requires thirty minutes to configure loses users who needed five minutes to succeed.
The instinct to add is natural. Removing something feels like admitting a mistake. Keeping it feels safe, 'someone uses this.' But that reasoning fails at scale: ten users who need a feature can easily be served another way. Two hundred users confused by it cannot.
When everything is important, nothing is. The most powerful moment in a product redesign is often removing a feature that ten users loved but two hundred found confusing.
Over-engineered UX creates three compounding problems. First, it slows down first-time users who can't find the core value. Second, it bloats maintenance costs, every additional state is a potential failure mode. Third, it obscures the product's actual promise behind configuration noise.
I've seen products where the onboarding flow had seventeen steps before a user could do anything meaningful. The engineering team was proud of the flexibility. The conversion numbers told a different story.



The seventeen-step onboarding flow, mapped.
Before adding anything, ask: what happens if we remove it? If the answer is 'most users won't notice,' reconsider the addition. Build the minimal version, observe behaviour, add only what friction demands.
The best products feel inevitable, like every feature is exactly where it should be and nothing is missing. That feeling is the result of relentless subtraction, not addition. It's harder to achieve than it looks.
Key Takeaways
Add features last, they compound complexity faster than they compound value
Confusion is usually a signal of unnecessary complexity, not user error
The best redesigns are often net removals of features and steps
Run the subtraction test before every addition: what if we didn't build this?
More from the journal
The hard problem is not showing more profiles. It is deciding who gets seen, how often, and under what fairness rules.
Jun 2026
A practical look at scale, rhythm, hierarchy, responsive type, and the token decisions that make text usable across product surfaces.
Jun 2024
Foundations, surfaces, semantic roles, accessibility, and how to build an 11-stop scale that teams can apply consistently.
Jun 2024