We build forms with 15 fields because “we need the data.” We bury features three menus deep because “that’s where it logically belongs.” We optimise for our convenience, not theirs.
Then we wonder why users struggle.
The Developer Trap
When we optimise for implementation simplicity, users pay the complexity tax. We’re brilliant problem solvers — give us hard constraints and we’ll find clever solutions. But without constraints, we default to forms, dropdowns, and menu navigation.
Here’s the truth: developers thrive on constraints. “This must load in 100ms” or “handle 1 million users” forces creative solutions. So why don’t we treat user experience as a constraint?
Vision-Driven Development
I ran an experiment: instead of starting with technical requirements, I started with vision.
I imagine myself as the user. I open the product. I type what I want. The system understands. Asks one clarifying question. Done. I smile.
Then I built it — just HTML, CSS, JavaScript. No frameworks, no over-engineering. It looked amazing. It felt intuitive.
Once the vision was crystal clear, implementation became straightforward. No forms? Infer from context. No menus? Natural language. The constraint forced creativity.
The Flow State
Having that demo changed everything. When someone suggested more fields, I pointed to the demo: “Users never see this. We can infer it.” The constraint made us creative.
Every decision became easier because I had a north star. We stopped debating theory and started solving concrete problems: “How do we make this exact experience work?”
The Practice
Close your eyes. Use your product. Be specific. What frustrates you? What delights you?
Write it as a narrative, not requirements. Build the interface first — the thing users touch. Make it real. This becomes your constraint.
Then protect that vision relentlessly.
The Shift
We’ve normalised building products that are easy to develop but hard to use. We’ve prioritised our convenience over theirs.
Start with the vision. Protect the experience. Build from there.
Your users deserve products built for them, not around them.