Part I · The problem with how we build today
The Cost of Design-First
Version 1.0 · November, 2026
In this section2
High fidelity artifacts too early
One of the biggest traps in modern product development is producing high-fidelity artifacts too early—polished designs, detailed flows, perfect copy, complete diagrams, and intricate prototypes before a single line of working code exists.
These artifacts look impressive.
They feel like progress.
They create a sense of clarity.
But that clarity is false.
When fidelity rises too early, teams start making decisions in a world that doesn’t exist yet. They commit to details before they understand the constraints, and they lock themselves into ideas that haven’t been tested in reality.
High fidelity creates illusion, not insight
A polished Figma mockup can look final, but it hides the hard parts:
- performance constraints
- real data
- edge cases
- layout inconsistencies
- integration complexity
- backend limitations
- unknowns that only surface in code
High fidelity artifacts broadcast confidence long before confidence is earned.
The result is a fragile plan: beautiful, detailed, and often wrong.
High fidelity delays discovery
When teams spend time producing pixel-perfect designs before building, they postpone the moment of truth. The build inevitably exposes issues the design couldn't predict:
- workflows that feel clunky in motion
- interactions that don’t scale
- layouts that break at real screen sizes
- assumptions that collapse with real data
- features that sounded good but feel awkward
Every one of those discoveries leads to rework—design rework, engineering rework, or both.
High fidelity early means expensive changes later.
High fidelity anchors expectations
Once something looks final, people start to treat it as final:
- stakeholders get attached
- teams hesitate to deviate
- discussions shift from “should this exist?” to “can we fit this in?”
The artifact becomes a commitment instead of a hypothesis. Design becomes a contract instead of a tool for thinking.
And the cost of changing direction skyrockets.
High fidelity masks ambiguity instead of reducing it
Early in a project, the team knows the least. Ambiguity is at its peak. This is the worst time to invest in detailed artifacts.
High fidelity gives the impression that things are clear, but the fidelity came from effort, not insight. When you polish something before you understand it, the polish hides the uncertainty instead of confronting it.
Build First flips this pattern:
- start with the simplest working slice
- let the build reveal the unknowns
- design with real constraints instead of guessing
- raise fidelity as understanding increases
Fidelity should track clarity—not lead it.
High fidelity should be late, not early
This doesn’t mean eliminating design or sacrificing quality. It means sequencing work to match reality:
- Early: loose ideas, lightweight conversations.
- Midway: evolving the working build, refining flows based on how they feel in practice.
- Late: high-fidelity polish, final aesthetics, details that matter only when the foundation is solid.
High fidelity is powerful when timed correctly—and dangerous when premature.
Build First ensures fidelity grows as understanding grows, keeping teams from wasting effort on artifacts that reality will soon contradict.
Design locked too soon → reality hits during implementation
One of the most common—and costly—failure modes in traditional product workflows is locking the design before the build begins. Teams treat design as a prerequisite: the “final” mockups must be approved, detailed, and handed off before any real implementation starts.
It feels orderly. It feels controlled. It feels like a plan.
But as soon as implementation begins, reality arrives—and it rarely matches the plan.
Implementation confronts the truth the design couldn’t see
No matter how thoughtful the design team is, a static artifact cannot capture what happens when real code, real data, real interactions, and real constraints collide.
Implementation surfaces things that design alone can’t:
- technical limitations
- unexpected state changes
- performance bottlenecks
- layout shifts at real breakpoints
- edge cases that weren’t imagined
- model or API constraints
- onboarding flows that feel awkward in motion
What looked elegant in Figma may feel awkward when it actually moves. What seemed clear in a diagram may be confusing when a user interacts with it. And what seemed small on paper may balloon in complexity once the code reveals its true shape.
The design wasn’t wrong—it was premature.
The cost of change skyrockets once design is “final”
When design is treated as “locked,” teams lose flexibility at the exact moment they need it most.
During implementation, the team discovers:
- “This flow breaks in the real UI.”
- “This layout doesn’t work with real data.”
- “This interaction is technically expensive.”
- “This step feels unnecessary after using it.”
- “This assumption isn’t true anymore.”
But if the design is locked:
- designers must revise the “final” work
- engineers must wait or hack around mismatches
- product must negotiate scope changes
- timelines stretch
- frustration builds
- the team enters a cycle of design → un-design → re-design → reconcile
Instead of building momentum, they burn it.
All because the design pretended to be certain before the team actually understood the problem.
Locking design early creates the wrong incentives
When designs must be finalized up front:
- Designers polish too soon, to avoid rework.
- Engineers treat the mockups as requirements instead of hypotheses.
- Product tries to “protect the scope” instead of learning.
- Stakeholders fixate on the artifact rather than the experience.
Everyone becomes attached to the picture, not the product.
This is how teams end up defending decisions that haven’t been validated in real use.
Reality always wins
No matter how detailed the design, it is still an abstraction. And abstractions always break when they collide with reality.
Reality is:
- data, not placeholder text
- device variability, not ideal screens
- latency, not instant transitions
- true state complexity, not simplified flows messy user behavior, not scripted paths
You can’t anticipate all of that in Figma, Notion, or a diagram. You uncover it by building.
Build First solves this by reversing the sequence
Instead of finalizing design before implementation:
Build First creates a working slice early
→ uses that slice to discover what the product actually wants
→ and lets design evolve alongside reality rather than ahead of it.
Design and engineering co-create inside the build.
Constraints appear early.
Changes are cheap.
Details are refined at the right time, not the wrong time.
Locking design too soon leads to friction.
Letting design grow inside working software leads to clarity.
Design should harden only after reality is known
In Build First:
- early design is intentionally loose
- the build is the place where truth emerges
- design becomes precise only once the team has seen the real constraints
- fidelity increases when certainty increases
- the final polish happens when it’s truly final
This sequencing avoids the trap of premature commitment and ensures that when the design is locked, it’s locking onto reality—not a guess.