Answer
Every product surface has a word budget, one plain word per concept and the glance rule, so a founder gets any card in three seconds, and this page is where those budgets and words are set.
Today
Checked 26 October 2026 against brew origin/main at b91e364.
| Fact | Source |
|---|---|
| A closed feed card stacks up to a dozen text parts before a tap, roughly 60 to 90 words | brand-directions/_shared/product-model.md:164 |
| Card generation asks for a title under 60 characters and a sub of exactly two sentences, 25 to 35 words | brew origin/main cards-gen.js:188-189 |
| Each card also carries three reasons under 14 words and three steps under 12 words | brew origin/main cards-gen.js:190-191 |
| The card page asks for a lead under 18 words and options under 8 words | brew origin/main card-page.js:10-12 |
| plain.js rewrites each card's title, sub, why and how into plain words on the fast model, with the numbers checked in code | memory brew-proof-plain-make |
| A card's button must fit what it makes; alert and rule cards with no asset say Set up the rules | memory brew-card-fit-and-counts |
| Make steps lead with one version and offer Redo it for another take | memory brew-one-version |
| Redo it is the live label for another take | brew origin/main public/app.js:4119-4122 |
| The feed ends with "You're done for today" and a Find more link | brew origin/main public/app.js:1657 |
| Toasts: 317 toast calls and 8 long toasts in six styles | brand-directions/_shared/surface-map.md:453 |
| Back buttons use eight labels, from Back to Back to my feed | brand-directions/_shared/surface-map.md:446 |
| Six status vocabularies for one jam, 4 brief formats, 5 places listing waiting work under 3 names | brand-directions/_shared/product-model.md:5 |
| Quiet pages already keep one sentence under each title | memory brew-quiet-ui |
Tomorrow
The glance rule
A founder gets the point of any card in three seconds without reading past the picture. If a card needs a second look, it is wrong. brand-directions/_shared/product-model.md:166-168 v1, Changes.
The closed card: five things, 25 words at most
| Order | Part | Budget | Rule | Version | Tag |
|---|---|---|---|---|---|
| 1 | Area and source | 5 words | One line, area tag then where it came from: "Ads, from your reviews" | v1 | Changes |
| 2 | The thing | no words | The draft, or one picture of the brand's product. With no asset, one big number with its source chip | v1 | Changes |
| 3 | Headline | 8 words | The idea as an action, verb first, naming the product: "Run the Monsoon candle rain ad" | v1 | Changes |
| 4 | Why | 12 words | One fact with a number and a source chip: "41 reviews mention the smell of rain." Unsure numbers carry To confirm, never a sentence | v1 | Changes |
| 5 | Actions | one button | One main button in plain words, plus Heart and Not for me as icons | v1 | Changes |
Before, about 70 words on the sample card. After, 19 words: "Ads, from your reviews". The draft. "Run the Monsoon candle rain ad". "41 reviews mention the smell of rain." Make it, Heart, Not for me. brand-directions/_shared/product-model.md:215-219
Everything else goes into the open pick: the plan, steps, margin note, proof, rows, the make chip, the AI answers line, connect lines and versions. brand-directions/_shared/product-model.md:180
The open pick: four layers in this order
- The draft, big, with New version and Versions under it.
- Why this: at most three lines, each with its source.
- The plan: at most five steps, each under ten words.
- Where to post, then the bottom bar: Make it or Hand it off.
brand-directions/_shared/product-model.md:182-187 v1, Changes.
Words per surface
| Surface | Budget | Rule | Version | Tag |
|---|---|---|---|---|
| Closed card | 25 words | The five parts above | v1 | Changes |
| Mini card in See everything | the same 25 | The same closed card, smaller. No extra words | v1 | Changes |
| Need your yes | question 10 words | A yes or no question, one line on what happens either way, Yes and Not now | v1 | Changes |
| Story ring frame | 8 words | One fact per frame, set over the picture | v1 | Stays |
| Story ring label | 2 words | Under the ring | v1 | Stays |
| Your store rows | theme 4 words | A theme, a count and a mood chip. Quotes only when real and credited to their public source | v1 | Changes |
| Notifications | 60 characters | One thing, opens exactly that thing | v1 | Changes |
| Hand it off sheet | one line each | Three choices plus Me. The brief preview is the numbered brief itself | v1 | Changes |
| Sheet | title 6 words | One line under it, one main button | v1 | Changes |
| Toast | 10 words | One line, three seconds, one at a time | v1 | Changes |
| Button | 3 words | Plain verb: Make it, Hand it off, Copy all, Try again | v1 | Changes |
| Tab | 2 words | Today, Work, Your store | v1 | Changes |
| Menu item | 4 words | v1 | Changes | |
| Chip | 3 words | Choices and filters | v1 | Changes |
| Field | label 3, hint 6 | Errors say how to fix it | v1 | Changes |
| Empty state | 12 words, one button | The character's line and one button that fills it | v1 | Changes |
| Error state | 1 sentence, 1 button | What happened, what is safe, one way out | v1 | Changes |
| Long wait | 10 words | Says you can leave | v1 | Changes |
| Character line in any slot | 12 words | Each line at most 12 words unless noted | v1 | New |
| Reading source tick | 8 words | One per source, seven sources | v1 | Changes |
| Monday email subject | 8 words | v1 | New | |
| Brief sign off | 8 words | v1 | New | |
| Chat answer from the AI | 60 words before More | v1 | Changes | |
| Fact in What we know about you | 12 words with a source | v1 | Changes | |
| Plan step | 10 words | At most five steps | v1 | Changes |
Budgets come from product-model.md section 10, kit-contract.md and surface map section B. brand-directions/_shared/product-model.md:189-198 brand-directions/_shared/kit-contract.md:41 brand-directions/_shared/surface-map.md:425-505
One plain word per concept
Buttons, tabs and cards use the plain word in every direction. The character's word lives around it, never on a control. brand-directions/_shared/product-model.md:67-97
| Concept | The one plain word | Retire these |
|---|---|---|
| Paste | Paste your store, Build my feed | Read my store |
| The read | Reading your store | The read, findings, Check what we read |
| An idea | Pick for the five, idea for the rest | card, call, decision, signal |
| The strategy behind it | Why this, with its plan | Plays as a user word, playbooks, plans as a page name, proofs, evidence |
| The five | This week's picks | today's 10 |
| The rest | See everything | Find more, See the next 15 |
| Needs the owner | Need your yes | On your board, Needs you, Needs your OK, Your call |
| Keep | Heart, meaning More like this | Save for later, Saved, Keep |
| Drop | Not for me | Not interested, Less like this, Show fewer, Remove |
| Snooze | Later | Remind me tomorrow, Not now |
| Making space | Make it | jam, studio, remix, stage, package, canvas |
| Another take | New version | Redo it, Another take, Make it again, One more |
| History | Versions | History, Earlier takes |
| Hand off | Hand it off | Send brief, Share the brief, Send PDF, Brief a team and six more |
| Status | Idea, In the works, Handed off | Drafting, With teammate, Ready, Brief shared, Decided, Done, sent, received |
| Memory | What we know about you | Memory, Learned, Brand learnings, Fact sheet, Lessons, Rules |
| Who you are | Which of these do you handle | seat, view, Viewing as, role |
| Areas | Social posts, Ads, Website, AI search, Email and WhatsApp | Creative, Performance, Catalog, Storefront, CRM, AI visibility |
| Listening | What customers say | Heard, What we heard |
| Rivals | What rivals run | competitors, Popular ads |
| Back | Back | Feed, Back to my feed, and the other back labels |
| Start over | Start again | Reset, Start fresh, Back to the start |
| Our team | our team, by its future name | build crew, team as a bare word, vendor names |
Not for me and Later replace six card menu items. Not now stays only as the second button in Need your yes and on the paid confirm sheet. brand-directions/_shared/product-model.md:82, 193
Rules for every product surface
- Verbs first, product names over category words: Monsoon candle, never your product.
- Digits for numbers, one number per line.
- No marketing jargon on a closed card. CTR, ROAS and CPM live inside Why this, with a plain gloss.
- One idea per card. Two ideas means two cards.
- No hedge stacks. Unsure means a To confirm chip.
- The character never speaks on a card. Cards belong to the brand. The character speaks around them: section headers, empty states, loading and celebrations.
- No vendor or model names in front of a founder. A price shows only on the confirm sheet, never on a first button.
- Sentence case, no dashes, no exclamation marks, no parentheses, no emoji, no all caps labels.
- Coming soon chips are not shown to founders. Next and Later features are simply absent until they ship.
- Status is always a word, never a colour alone.
brand-directions/_shared/product-model.md:97, 111, 200-207 brand-directions/BRIEF.md:9-24
What ships how
| Change | Type | Version | Tag |
|---|---|---|---|
| The closed card shows the existing title, the first sentence of the existing sub, the existing source line and the existing button; every other field goes into the open pick | Restyle and Recompose, no generation change | v1 | Changes |
| A card lint flags any title over 8 words or why over 12, for the team only | Add on | v1 | New |
| Card generation writes to the 8 and 12 word budgets directly | Change core risk, listed, not done this round | v1 | Changes |
| Redo it becomes New version everywhere | Restyle | v1 | Changes |
| Character words fill the 34 named slots in each direction's kit-skin.js | Add on | v1 | New |
brand-directions/_shared/product-model.md:209-213
How we do it
- Write the plain label from the word set above. If the concept is not in the set, add it there first.
- Count the words against the surface budget. Over budget means cut, never shrink the type.
- Put every number on its own line with its source chip. If the source is unsure, add To confirm.
- For a card, run the glance test: show it for three seconds, hide it, ask what it wants you to do.
- Run the writing check on every visible string. For the docs site it is this command:
node /Users/param/Documents/ChatGPT/brand-directions/_tools/check.mjs
- For card budgets, run the card lint once it exists. Until then, count by hand on five cards from three brands.
Numbers
| Number | Definition | Today | Where it is measured | Status |
|---|---|---|---|---|
| Words on a closed card | Visible words on a card before a tap, median across served cards | about 60 to 90 | Card lint over served packs | Proposed |
| Headlines over 8 words | Share of served cards whose title passes 8 words | not measured | Card lint | Proposed |
| Whys over 12 words | Share of served cards whose why passes 12 words | not measured | Card lint | Proposed |
| Retired words in view | Count of retired words found in visible UI strings | not measured | A string scan of public/*.js and the server pages | Proposed |
| Three second test | Share of people who say what a card wants after three seconds | none run | Founder sessions | Proposed |
Open
- Our team's future name is open, and the kit strings still name the old company. What is the plain word for our team on screens? Proposal: "our team" until the name is picked, then one find and replace.
- Should card generation be shortened to the 8 and 12 word budgets, which is a core change? Proposal: ship the lint first, measure for two weeks, then decide.
- Today's feed end says "You're done for today" with Find more. Tomorrow says caught up for the week. Is the week the unit for every brand? Proposal: yes, five picks a week, See everything for the rest.
- Areas: are Social posts, Ads, Website, AI search, Email and WhatsApp the final five names? Proposal: accept them as written.