ADR-0002: Build UX is all-slots-at-once (PCPartPicker model), not a step wizard¶
- Status: Accepted
- Date: 2026-04-26
- Deciders: MASTER
Context¶
When designing the /build page, two UX patterns were on the table:
- All-slots-at-once. Show all 8 component slots (CPU, COOLER, MOTHERBOARD, RAM, STORAGE, GPU, CASE, PSU) on a single screen. The user picks them in any order they want, jumping between slots as constraints become clear. This is how PCPartPicker works.
- Step wizard. Walk the user through one slot at a time in a "1 of 8" flow, with each step locking the previous selection.
The first prototype (v0.1.0-prototype) used a step-wizard layout. MASTER rejected that build entirely as "AI slop" — generic, unresearched, didn't match how PC builders actually work.
Decision¶
The /build page shows all slots simultaneously in a single layout. Users pick components in any order. Compatibility checks (UC-B) update live across the full Build whenever any slot changes. Quick-start templates (UC-10) populate multiple slots at once.
Consequences¶
Positive¶
- Matches the mental model PC builders already have (PCPartPicker, Newegg builder, etc.)
- Lets users start from the slot they care most about (some lead with GPU, some with case aesthetics, some with CPU)
- Compat checks across all slots feel right — wizard-shaped UIs make backtracking jarring when a downstream slot reveals an incompatibility upstream
- Templates and prebuilts (UC-10) are natural — tap a template, all slots fill at once
Negative¶
- Higher information density on first paint; the page has more to render
- Less hand-holding for true first-timers who don't yet know the 8 slots exist
- Mobile layout is harder — collapsing 8 slots cleanly on a phone takes more thought than a step flow would
Neutral¶
- Build state is internally a flat record of 8 optional slots, regardless of UI shape — the data model wouldn't have changed between the two designs
Alternatives considered¶
Step wizard¶
Rejected because: it forces an order on a problem that doesn't have one. PC building is iterative — you might pick a CPU, then realise the case you wanted doesn't have airflow for that TDP, then go back. A wizard makes that backtracking feel like failure.
Hybrid: wizard for first build, all-slots after¶
Rejected because: complexity tax for marginal first-time-user benefit. The value of the all-slots model is its consistency — adding a wizard mode means two code paths and two designs to maintain.
Slot-first navigation (sidebar of slots, main pane shows the active slot)¶
Rejected because: doesn't show the build as a whole. Users want to see the in-progress build while choosing each part — to see progress, total price, compat warnings.
References¶
REBUILD-V1.mdat the repo root — full record of the v0.1 rejection and what changedsrc/app/build/page.tsx— the current implementation- PCPartPicker — reference for the pattern