Answer
A Brew screen ships only when it passes all 40 numbered checks below, in both themes, at phone and laptop width, on real brands, and a single fail sends it back.
Today
Checked 26 October 2026.
| Fact | Source |
|---|---|
| The old book had two checklists: a 19 row UX check and a 12 step UI check | brand-directions/book/content/d2.js:1146-1172 brand-directions/book/content/e2.js:358-370 |
| A full QV audit with fixes runs after every phase, and three more full rounds before closing | memory brew-qv-process |
| Nothing dummy or test reaches production; a clean gate runs before every promote | memory prod-clean-only |
| Every fix is checked on several brands and card types, and the feed must still render, scroll and open cards | memory feed-for-all-brands |
| Loader alignment is checked numerically on phone and desktop before any loader change ships | memory brew-loader |
| Card rule changes are compared old against new on all cards before shipping | memory brew-card-fit-and-counts |
| Nothing may look AI generated; critics log every instance | brand-directions/_shared/no-ai-look.md:48-50 |
| No screen reader pass has been run on the kit | brand-directions/book/content/d2.js:814 |
Tomorrow
One list for every screen, v1, New. It merges the two old checklists and adds the truth and every brand checks. Version tags inside a check say when it starts to apply.
Words
- Every control uses the plain word from the word set in Content design. No retired word anywhere.
- Sentence case, no em or en dashes, no exclamation marks, no parentheses, no emoji, no all caps labels.
- No old product name, no vendor or model names, no measuring words before v3.
- Character words sit only around controls, never on a button, tab or card, at most 12 words a line.
- The line would not fit another company's product unchanged.
Truth
- Every number has a source chip; an unsure number carries To confirm.
- Every invented example uses the sample candle store and carries the Sample tag.
- Nothing says the product posts, schedules or measures before v2 and v3 ship. Connections say read only.
- A price shows once, on the paid confirm sheet, never on a first button.
- Hand off says who got it, and that nothing was sent unless it went to our team.
- Next and Later features are absent from the product, with no coming soon chips.
Layout and patterns
- One top bar, three tabs, one bottom bar with one main button.
- Phone: one column under 600 wide. Laptop: rail, side peek, two pane Make it over 1024.
- No sideways scroll at 360, 390, 768, 1280 or 1440 wide.
- One sheet at a time: title, one main button, Close. Nothing on top of a sheet.
- Undo toast for reversible actions; one sheet for paid or leaving; no browser confirm boxes.
- One toast at a time, one line, three seconds.
- One way into the thing: the pick, the Work row and the notification land on the same screen.
- One version first, then New version; never three options to choose from.
Cards and content
- A closed card has five parts in 25 words at most: headline 8, why 12, one button.
- Headlines start with a verb and name the product.
- The card's button fits what it makes.
- Quiet: one sentence under a title, no zero tiles, no empty sections, long lists cut at about six.
States
- Every state the screen can be in is drawn: empty, waiting, partial, error, full, done.
- Errors never use the empty style; each says what happened, what is safe and one way out.
- Short waits are a spinner in the button; long waits are the wait pose with one line; no skeletons.
- The screen holds up with long names, missing photos, zero items and very many items.
Look
- Only kit tokens and the kit scale; no raw colours, sizes or spacing.
- The hero colour only on the main button, focus, the character and small accents, never a card fill.
- Area colours only as small area tags.
- One icon set, no glyphs as icons.
- No gradients as decoration, no glass, no sparkle icons, no default fonts, no identical section rhythm.
Character
- The character sits only in its named slot at its size, and uses the small mark below 120 px.
- Never on a card, a button, inside the thing being made, a table of numbers, a Need your yes decision or a brand photo.
- With the character switched off, the screen still works and reads.
Accessibility
- Ink and muted text at 4.5 to 1 on every surface, light and dark.
- A visible 2 px focus ring on everything you can tab to; tab order follows reading order; Esc closes and focus returns.
- Tap targets 44 px or more on phones; icon buttons have names.
- Reduced motion stops all animation; sound starts off.
Every brand
- The screen is checked on at least three real brands of different kinds plus the sample store, in both themes, and the feed still renders, scrolls and opens a pick.
How we do it
- Run the writing check and fix until clean.
node /Users/param/Documents/ChatGPT/brand-directions/_tools/check.mjs
- Render the screen with every state, at 390 and 1280 wide, light and dark, in the chosen direction.
- Walk checks 1 to 40 in order. Mark each pass or fail with a screenshot for every fail.
- Tab through on a laptop, then turn on reduced motion and look again.
- Run the five second look: someone new says what the screen does.
- Fix every fail in the kit part, not the one screen, so every brand and every screen gets it.
- Repeat until 40 of 40 pass. Then Param gives the last glance.
- Before promoting to production, run the clean gate: no dummy or test data.
Numbers
| Number | Definition | Today | Where it is measured | Status |
|---|---|---|---|---|
| Checks passed | Of 40, how many a screen passes on first review | not measured | QA sheet per screen | Proposed |
| Screens at 40 of 40 | Of the 45 kit screens, how many pass all checks | not measured | QA sheet | Proposed |
| Fails reopened | Fails that come back after a fix | not measured | QA sheet | Proposed |
Open
- Should 40 checks be one gate, or split into a fast gate for small changes and the full list for new screens? Proposal: a fast gate of checks 1, 2, 6, 9, 12, 20, 25, 36, 38 and 40 for small changes, the full list for new screens.
- Where does the QA sheet live? Proposal: one row per screen and check in the handbook, linked from Every screen.
- Is a headless audit worth building for checks 14, 36 and 38? Proposal: yes, reuse the loader audit approach with puppeteer.