Skip to content

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:

  1. 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.
  2. 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.md at the repo root — full record of the v0.1 rejection and what changed
  • src/app/build/page.tsx — the current implementation
  • PCPartPicker — reference for the pattern