Three information architectures for fulfillment
Same synthetic dataset, same stylesheet, same five page slots. The only thing that varies between the columns is the architecture. Start with the side-by-side comparison.
Compare the three homes
Open comparisonThe three landing screens next to each other. This is the artifact the 20-minute review runs on.
Concept A · queue-first
recommended shellPrimary object: a work item. Home is a list of buckets of pending action. Unit of action is the batch. Won scenarios S1 (cold start), S2 (100 fills), S10 (mobile).
- 01 · Home — buckets of work waiting
- 02 · List — ready to order, one row per preparation
- 03 · Detail — a blocked prescription and its history
- 04 · Act — review a batch before committing
- 05 · Mobile — the home screen at 390 px
Concept B · order-first
chosen directionPrimary object: a supplier order. Won scenarios S8 (partial receipt) and S9 (correction). Chosen 2026-08-11 and since extended with a top tab row and a stock surface — see 05-recommendation.md.
Tabs make demand the first tab rather than a banner, which repairs this concept's characteristic failure, and put catalog exceptions in a strip above the tabs rather than inside one. Both are borrowed from the concepts that beat it on those scenarios.
- 01 · Home — the orders ledger, tabbed
- 02 · List — needs ordering, with on-hand per preparation
- 03 · Detail — order page with timeline and asked-vs-received
- 04 · Act — record a partial receipt
- 05 · Mobile — the orders index at 390 px
- 06 · Stock — on hand at both sites, and the movements ledger
- 07 · To ship — select parcels across orders, take one JSON, paste tracking back
- 08 · Labels — the print queue, and one config row per state
Concept C · exception-first
absorbed into APrimary object: a stall. Home shows only what is broken or ageing; the happy path lives behind one link. Unit of action is one item. Won scenarios S4, S5, S6 — all at zero clicks, the best score in the matrix.
- 01 · Home — the attention list
- 02 · List — "everything else", one click away
- 03 · Detail — one stall in depth
- 04 · Act — resolve it
- 05 · Mobile — the attention list at 390 px
Reading notes
- All three render the dataset defined in data.md — 96 paid fills across 15 preparations, 2 catalog exceptions, 3 orders. Different data would invalidate the comparison.
- One shared stylesheet, no per-concept styling, so the prettiest concept cannot win on looks. The linter fails any page with a <style> block.
- A lane badge marks anything that requires PR #926's data model and cannot be built on PR #1059's.
- Every page carries a "what this page assumes" block naming its own weaknesses.
- All patient names are synthetic, drawn from the register the application's own review fixture uses.