Prototyping & Validation
Build and test interface hypotheses cheaply before committing to implementation. The goal is to discover problems at the lowest possible cost.
Prototyping is the practice of externalising design decisions into testable form before building the real thing. The key principle: fidelity should match the question being asked. Using high-fidelity mockups to test navigation structure is wasteful. Using wireframes to test visual polish is misleading.
Fidelity Levels
| Level | Tool | Time to build | Best for testing | Not useful for |
|---|---|---|---|---|
| Sketch / whiteboard | Paper, Excalidraw | Minutes | Layout concepts, IA validation, stakeholder alignment | Visual design, interaction details |
| Low-fidelity wireframe | Figma (wireframe kit), Balsamiq | Hours | Navigation patterns, content hierarchy, flow coverage | Visual preferences, micro-interactions |
| Mid-fidelity prototype | Figma (clickable) | Days | Task flows, usability testing, developer estimation | Final visual polish |
| High-fidelity mockup | Figma (full design) | Days–weeks | Visual review, accessibility audit, exact specifications | IA validation (too late to restructure) |
| Code prototype | React + placeholder data | Hours–days | Performance feel, real interactions, responsive behaviour | Quick concept validation (over-engineered) |
Most teams skip fidelity levels and jump directly to high-fidelity mockups. This produces beautiful screens that test the wrong things. Validate structure at low fidelity, then layer in visual design.
Wireframing
Wireframes answer structural questions: where does each element live on the page, what is the visual hierarchy, and how does the user navigate between states? They use grayscale and generic placeholders deliberately — color and imagery introduce visual bias that distracts from structural feedback.
What every wireframe must show
- All states: empty state, loading state, error state, populated state
- All significant viewport sizes: mobile (375px), tablet (768px), desktop (1280px)
- Navigation: how the user arrived at this page and where they can go next
- Primary, secondary, and destructive actions — clearly distinguished by visual weight
- Content placeholders that reflect real content dimensions (not Lorem Ipsum — use realistic copy)
High-Fidelity Mockups
High-fidelity mockups apply the design system decisions from the previous phase — exact colors, typography, spacing, and component variants — to produce screens that a developer can implement directly. Every value in a high-fidelity mockup should correspond to a design token.
Figma organisation for dev handoff
📄 [Project Name] — Design System
├── Page: Tokens (colors, type, spacing)
├── Page: Components (all primitive + composite components)
└── Page: Patterns (recurring layout patterns)
📄 [Project Name] — Screens
├── Page: Flows (annotated user flow diagrams)
├── Page: Desktop (1440px)
├── Page: Tablet (768px)
├── Page: Mobile (375px)
└── Page: States (loading, error, empty for key screens)Use Figma Variables (equivalent to design tokens) mapped directly to your CSS custom property names. This creates a one-to-one mapping between design and code that eliminates translation errors during handoff.
Usability Testing
A usability test gives real users a set of tasks to complete on a prototype, without assistance. The tester observes, listens, and records — they do not guide or explain. Five participants uncover approximately 80% of usability problems (Nielsen's Law).
Test script structure
-
Introduction (5 min) Explain the session format. Emphasise that you are testing the design, not the participant. Ask the participant to think aloud as they work.
-
Background questions (5 min) Confirm the participant matches your target user profile. Ask about their current workflow without the new feature.
-
Task scenarios (30–45 min) Present 3–6 realistic task scenarios. Each scenario gives context without revealing the solution path. Measure: task completion rate, time on task, error count, and satisfaction rating.
-
Debrief (10 min) Ask open-ended questions about the experience. What was confusing? What was missing? What worked well?
Issue severity rating
| Severity | Definition | Action |
|---|---|---|
| Critical (4) | Prevents task completion | Block release until fixed |
| Serious (3) | Significant difficulty, most users fail | Fix before release |
| Moderate (2) | Some users struggle but eventually succeed | Fix in next iteration |
| Minor (1) | Cosmetic or very infrequent | Backlog for future consideration |
Design Handoff
Design handoff is a structured transfer of design specifications to engineering. A complete handoff eliminates the most common source of implementation drift: developers making guesses about design intent.
Handoff deliverables
- Annotated screens: every non-obvious behaviour documented inline in Figma
- Interaction specifications: animation duration, easing, trigger conditions for every transition
- Responsive specifications: how each component adapts across breakpoints
- State inventory: screenshots of every component state (default, hover, focus, disabled, loading, error)
- Accessibility annotations: ARIA roles, focus order, heading hierarchy, alt text for images
- Asset exports: icons, illustrations, and images at required resolutions and formats
- Design token mapping: which token each design decision maps to in code
Design & Architecture Phase Exit Checklist
The Design & Architecture phase is complete — and implementation may begin — when every item below is checked. This is the quality gate between definition and development.
| Item | Owner | How to verify |
|---|---|---|
| All functional requirements documented and reviewed | Product | Requirements doc signed off |
| All NFRs have numeric targets | Engineering | Constraint inventory complete |
| Site map covers all pages including edge-case routes | Product + Engineering | Site map reviewed by both |
| User flows cover happy path + error recovery | Design | Flows reviewed in walkthrough |
| Design tokens defined and mapped to code variables | Design + Engineering | Token file in repo |
| All component variants and states mocked up | Design | Figma audit — no missing states |
| Responsive mockups at all breakpoints | Design | Mobile + desktop reviewed |
| Usability testing completed on mid-fi prototype | Design | Test report with severity ratings |
| Accessibility annotations on all screens | Design | Annotations visible in Figma |
| All open questions resolved | Product | Open questions log is empty |
| Component specifications written for all new components | Engineering | Spec files in repo |
Component Architecture
Define the component hierarchy, file structure, prop interfaces, and composition patterns before writing implementation code.
Dark Mode & Theming
Design and implement theme-aware interfaces — token architecture, system detection, persistence, toggle patterns, testing, and visual asset considerations.