PROTOTYPE USER ASSUMPTION VALIDATED RESULT ASSUMPTION: will users find this? prototyping · assumption → build → test → validated or invalidated · learn cheaply

Prototyping

Make your assumptions tangible so they can be tested and killed cheaply. A prototype is the cheapest version of a thing that can answer a specific question — build only what you need to learn what you need to know.

User TestingDesign ValidationFeature ScopingStakeholder AlignmentEngineering HandoffConcept Testing

Two sentences.

Prototyping is the practice of building a lightweight, testable representation of a design — ranging from paper sketches to clickable Figma flows to coded front-end shells — specifically to answer a defined question about whether the design will work before full engineering cost is committed. The prototype is not a preview of the final product; it is a scientific instrument for testing a specific assumption, and its fidelity should be calibrated to the question being asked.

What makes prototyping valuable is the asymmetry of costs: a prototype that takes a day to build and reveals a fundamental problem saves weeks of rework, and a prototype that confirms the design is correct gives the team confidence to proceed. Either outcome has positive expected value — the only bad outcome is the absence of a prototype, which means shipping assumptions as facts.

Apply this when…

A new flow has never been tested with users and the team is about to commit engineering time
Two or more competing directions exist and user feedback is needed to resolve the choice
An existing flow is being redesigned and you need to validate the new structure does not break mental models
Engineering needs to understand a complex interaction that static mockups cannot convey
Stakeholders are debating decisions that user testing could resolve

When NOT to apply it

Skip it when the question is technical feasibility (use a spike), when the flow is an established pattern with strong prior validation, when time pressure means the prototype cannot be tested before the build decision, or when the decision hinges on live product metrics (use A/B testing).

The mechanism

Prototyping works by making assumptions concrete enough to fail. An assumption about navigation lives safely in a design file until a real user interacts with a prototype. At that point, the assumption either holds or does not — and the cost of discovering it does not hold is the cost of the prototype, not the engineering build.

01
Tangibility changes how people evaluate ideas
Users can approve a feature description in a focus group while being completely unable to use that feature when prototyped — because approval of a description requires no cognitive model of interaction. A prototype forces the evaluative cognition that abstract descriptions defer.
02
Fidelity should match the question being tested
Paper prototypes test IA and flow. Clickable Figma prototypes test task completion and navigation. Coded prototypes test perceived performance and motion. Using a coded prototype to test IA is over-investment; paper to test animation timing is under-investment. Matching fidelity to question is the core skill.
03
Too-polished prototypes suppress honest feedback
Users respond to apparent finish level: a pixel-perfect prototype signals decisions are made and suppresses critical feedback. Participants with high-fidelity prototypes are less likely to report confusion than those with low-fidelity versions of the same design — because polish makes admitting difficulty feel like personal failure. Low fidelity invites honesty.
04
Measure questions answered, not tasks completed
Before every test, write down the specific assumptions being tested (three to five). After the session, evaluate how many were resolved. An assumption validated means confidence to proceed. An assumption invalidated means cost saved. Both are wins; the only loss is an untested assumption.

A prototype is not a commitment

Teams hesitate to prototype because they worry a well-executed one will be taken as a final design. This is a communication problem. Establishing shared vocabulary — "this is for testing, not building" — and using lo-fi signals (placeholder content, greyscale, rough interactions) prevents this misread. If the prototype looks too finished to be questioned, it is too finished to be a prototype.

Dropbox's explainer video before a line of code was written

Before building Dropbox, Drew Houston created a three-minute screencast demonstrating what the product would do — showing a simulated sync experience that did not yet exist. The video was posted to Hacker News in 2007. Overnight, beta waitlist signups went from 5,000 to 75,000.

The core assumption was not "can we build this" but "do people want this enough to sign up before it exists?" A video answered that question for a few hours of effort. An engineering prototype would have answered it for six months. The correct fidelity for the question was video, not code — and recognising that distinction is what made the validation one of the most efficient in software history.

Dropbox · 2007 · Concept Validation
Minimum viable prototype for the specific question
Do people want file sync across devices?Option A6 months → build →launch → discover demandHigh engineering costAnswers expensivelyOption B3 hours → video →post → 75,000 signupsTiny effortAnswers at minimum costDropbox · 2007 · prototype fidelity matched to the question · demand validated before code
Video prototype → 75k signups overnight

Test yourself & see real examples

No examples yet — be the first.

Spotted a product that clearly tested their flow before shipping — or one where a fundamental problem suggests it was never prototyped? Submit what you observed.

✓ Reviewed before publishing✓ Your name on every example you submit✓ Violation or fix — both welcome

Seen Prototyping skipped in a real product? Help grow the evidence base.

Where teams go wrong

Building prototypes without defining the question first. "Let's prototype the onboarding" is not a testable question. "Does the user understand step two requires email verification?" is. Without a specific question, sessions produce impressions rather than answers.
Using the wrong fidelity for the question. Over-fidelity costs time and invites wrong feedback. Under-fidelity produces unreliable data. Paper for flow sequence, Figma for interaction comprehension, code for perceived performance. Match fidelity to the question, not to the team's tool preference.
Treating a passed test as proof of product success. A prototype test validates that users can navigate the design — not that they will adopt, pay for, or return to the product. Prototype testing validates design decisions; business assumptions require live product data.
Iterating on the prototype instead of the insight. When a test surfaces a problem, understand the cause before changing the design. A user who cannot find settings may reveal a navigation, labelling, or attention problem — each has a different solution. Diagnose before designing.

Connected ideas

Prototyping sits within a family of validation methods varying in fidelity, cost, and the type of assumption they can test.

The most important pairing is Prototyping with Lean UX. Lean UX prevents the most common failure — building without a defined question — by requiring a hypothesis before any build. The prototype is the vehicle for testing the hypothesis; Lean UX ensures it tests the right thing at the right fidelity.

Run it right now

⏱ 10 minutes · Solo · No prep

The Assumption Inventory

1. Pick one feature in design or recently shipped. Write down the single most important behavioural assumption the design depends on — the one thing that, if false, means the design needs to be reconsidered.

2. Has this assumption been tested with a real user interacting with a prototype, or only discussed internally? If only discussed, write "untested assumption."

3. Write the minimum prototype needed to test it — not the full flow, just the specific moment. Paper takes 15 minutes. Figma click-through takes 2 hours. Coded interaction takes a day.

4. Identify one person you could put this prototype in front of this week. Five minutes of watching someone interact while thinking aloud is enough to start validating or invalidating the assumption.

10 minutes