Transcripts
9 participants · 3 per variant · raw usertesting transcripts
Testing Plan
Research questions · 3 hypotheses · 9-task scenario · success metrics
Design Variants (tested)
The 3 structures under test
PRD
Product requirements & constraints
Prior Research
Project 1 (Accept/Reject) findings carried forward
Notes SKILL 1 done
9 participants · grouped by variant · ⚠ 4 flags raised · one interactive viewer per variant
Synthesis SKILL 2 done
Multi-variant · 9 participants · 3 hypotheses validated (1 Pass · 1 Partial · 1 Fail)
Filter failed on comprehension (0/3 stated the count — no persistent total). Accordion hurt by layout shift on expand/collapse.
⚠ Cross-variant finding: the "Ineligible" / eligibility framing confused users regardless of structure → reframe to the customer's question: "Replace" / "Don't replace."
Design Brief SKILL 3 done
Design-ready reference · distilled from synthesis + context · project CLAUDE.md updated
✅ Must keep: tabs + few categories · always-visible count · inline per-item edit
🔴 Must fix: re-label to "Replace" / "Don't replace" · plain-language "Can't be swapped"
🟡 Should fix: keep the count persistent in every view
Design Variants SKILL 4 done
3 interactive variants · 375px phone-frame previews · each applies the brief differently · tap the tabs/chips
Refined Design SKILL 5 done
Final design + engineer spec · synthesized from Variant 2 + Variant 1 · gate feedback applied
Gate feedback applied: can't-swap moved out of the Replace tab (read-only segment) · added a Find an item search for long orders · Moved · Undo toast so toggling never loses an item.
Includes an inline engineer spec (components · states · accessibility · dynamic content) for handoff.
Prototype SKILL 6 done
Functional prototype generated from the refined design + engineer spec · tech-stack-configurable
Tech stack is configurable: this targets React, but SKILL 6 renders to whatever stack a team uses — set the target in
design_system.md and re-run; the research, design & spec upstream don't change, only the renderer.Connects to your design system: components read tokens from
src/theme.css only — never hardcoded — so it points at any design system by swapping the tokens.Run:
npm install then npm run dev