Snapshots

Every surface gets a word budget; cards must land in three seconds

Waiting on you
  • A closed card is five things, 25 words at most; today 60 to 90.
  • One plain word per concept, such as New version instead of Redo it.
  • The character speaks around cards, never on them.
  • Shortening card generation is a core change, so a card lint ships first.
  • Sentence case, no dashes, no exclamation marks, no emoji, status always a word.
25Words on a closed card
Your call

Shorten card generation to the 8 and 12 word budgets, or ship the lint first?

Design · 3.9

Content design

DraftLast checked Mon Oct 26Owner Param

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

  1. The draft, big, with New version and Versions under it.
  2. Why this: at most three lines, each with its source.
  3. The plan: at most five steps, each under ten words.
  4. 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

  1. Verbs first, product names over category words: Monsoon candle, never your product.
  2. Digits for numbers, one number per line.
  3. No marketing jargon on a closed card. CTR, ROAS and CPM live inside Why this, with a plain gloss.
  4. One idea per card. Two ideas means two cards.
  5. No hedge stacks. Unsure means a To confirm chip.
  6. The character never speaks on a card. Cards belong to the brand. The character speaks around them: section headers, empty states, loading and celebrations.
  7. No vendor or model names in front of a founder. A price shows only on the confirm sheet, never on a first button.
  8. Sentence case, no dashes, no exclamation marks, no parentheses, no emoji, no all caps labels.
  9. Coming soon chips are not shown to founders. Next and Later features are simply absent until they ship.
  10. 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

  1. Write the plain label from the word set above. If the concept is not in the set, add it there first.
  2. Count the words against the surface budget. Over budget means cut, never shrink the type.
  3. Put every number on its own line with its source chip. If the source is unsure, add To confirm.
  4. For a card, run the glance test: show it for three seconds, hide it, ask what it wants you to do.
  5. 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
  1. 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

  1. 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.
  2. 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.
  3. 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.
  4. Areas: are Social posts, Ads, Website, AI search, Email and WhatsApp the final five names? Proposal: accept them as written.
Sources
  • brand-directions/_shared/product-model.md:67-97, 162-219
  • brand-directions/_shared/ia.md:147-153
  • brand-directions/_shared/kit-contract.md:39-76
  • brand-directions/_shared/surface-map.md:425-505
  • brand-directions/_shared/no-ai-look.md:20-34
  • brand-directions/BRIEF.md:9-24
  • brand-directions/book/content/d2.js:1146-1194
  • brew origin/main b91e364: cards-gen.js:2, 188-191; card-page.js:10-32; public/app.js:1657, 4119-4122
  • memory: brew-proof-plain-make, brew-one-version, brew-card-fit-and-counts, brew-quiet-ui

Source file content/design/content-design.md · For agents: Markdown · JSON