# The book

This book explains all of it, told by its characters: who it is for, how it works, how it looks, how it talks and how it grows. Pick a character at the top and the whole book changes clothes.

Characters: Fetch, Buzz, Scoop, Ocho, Seeti. Versions: v1, what is built today: ideas, drafts and hand off; v2, it posts and schedules on your accounts, with your OK; v3, it shows what worked; v4, it runs ads inside rules and a budget you set.

# A. Start here

What we do, in one picture and one minute.

## A1 What we do {#a-1}

One picture, five words, one minute. If you read one page, read this one.

### What we do, in one picture {#a-1.picture}

User moment: You run a small online store and marketing eats your evenings.

Answer: Paste your store link, get this week's marketing ideas already drafted, and hand off the ones you like.

- It reads your store, reviews, ads, rivals and AI answers
- Five picks a week, each with a draft
- You pick, someone ships, nothing posts by itself

Character line: Fetch: I fetch the ideas. You throw them to your team. Best game ever. | Buzz: I buzz around your whole store and come back with five ideas worth making. | Scoop: Psst. I went through everything people say about your store. Here is the good stuff. | Ocho: Eight arms, one job: your marketing, drafted, so you only have to pick. | Seeti: Your store goes in. Three whistles. Five ideas come out, ready to serve.

**The whole product in six moves**
1. Paste: your store link [Today]
2. Sign in: with your work email [Today]
3. Watch it read: about 3 to 4 minutes [Today]
4. Pick: from five drafted ideas [Next]
5. Make it: better, every version kept [Today]
6. Hand it off: to whoever ships it [Next]

**What you see, start to finish**
- Screen f1:empty: Paste your store
- Screen f4:reading: Reading your store
- Screen t1:monday: Today, five picks
- Screen m1:studio: Make it
- Screen h1:who: Hand it off

The plain promise a founder repeats: Paste your store link. Get this week's marketing ideas, already drafted. Pick the good ones and hand them off. The core sentence behind it: your store's marketing team, in one feed.

#### What really happens, step by step
| Step | What you do | What happens | Status |
| --- | --- | --- | --- |
| Paste | Type your store address, tap Build my feed | The read is queued | Today |
| Sign in | Sign in with your work email | A personal email or another company's email is refused and pointed at the demo stores | Today |
| Watch it read | Nothing, or answer three quick questions | Seven sources tick by: store, brand, catalog, reviews, ads, site, AI answers. About 3 to 4 minutes | Read Today, questions Next |
| Pick | Open Today | Need your yes on top, five ranked picks, See everything under them | Recompose, Next |
| Make it | Change the draft by chatting | One making space: the thing on one side, the chat on the other. Every version is kept | Today, one Make it Next |
| Hand it off | Choose who ships it | Me: the words are copied and the place to post opens. My team or My agency or freelancer: a numbered brief and a read only link are copied, nothing is sent. The ShopOS team: they really get the brief by email | Next, over today's routes |

#### What it never does in v1
It never posts, sends, schedules, launches, pauses or moves budget on your accounts. It does not measure results. Accounts you connect are read only. See a-5 for what each later version adds.

#### Things to say carefully
- AI answers means whether ChatGPT, Gemini, Perplexity and Claude name your brand.
- Reads are capped during the design partnership because each one costs real time and money.
- The sign in comes before the read today. A reveal of one finding before sign in is Next.

### Five words a founder says {#a-1.five-words}

User moment: Your friend asks what this thing is. You have one breath.

Answer: Fetch: Scruffy dog fetches marketing ideas. | Buzz: Busy bee drafts my marketing. | Scoop: Nosy raccoon who brings gossip. | Ocho: Frantic pink octopus drafts everything. | Seeti: Bossy cooker that whistles ideas.

- If they cannot say it in five words, we failed
- The character does the explaining
- No jargon, no AI talk

Character line: Fetch: Fetch. Drop. Wag. That is the whole pitch. | Buzz: Buzz buzz. That means ideas. | Scoop: Between us, five words is plenty. | Ocho: Five words? I can hold five. I have eight arms. | Seeti: Five words. Three whistles. Done.

**Five words each**
- Fetch: Scruffy dog fetches marketing ideas.
- Buzz: Busy bee drafts my marketing.
- Scoop: Nosy raccoon who brings gossip.
- Ocho: Frantic pink octopus drafts everything.
- Seeti: Bossy cooker that whistles ideas.

**And the tagline under it**
- Fetch: This week's ideas, fetched.
- Buzz: The whole hive, one bee.
- Scoop: Everything everyone says about your store.
- Ocho: Eight arms on your marketing.
- Seeti: This week's marketing, ready in a few whistles.

#### The test
Ask a founder who used it for a week what it is. If the answer fits in five words and names the character, the brand is doing its job. If they say an AI marketing tool, it is not.

#### Where each line comes from
| Character | Five words | Tagline | Source |
| --- | --- | --- | --- |
| Fetch, the dog | Scruffy dog fetches marketing ideas | This week's ideas, fetched | dog/system.md s0 |
| Buzz, the bee | Busy bee drafts my marketing | The whole hive, one bee | bee/system.md s0 |
| Scoop, the raccoon | Nosy raccoon who brings gossip | Everything everyone says about your store | raccoon/system.md s0 |
| Ocho, the octopus | Frantic pink octopus drafts everything | Eight arms on your marketing | octopus/system.md s0 |
| Seeti, the cooker | Bossy cooker that whistles ideas | This week's marketing, ready in a few whistles | cooker/system.md section 1 |

The plain promise stays the same under every character. Only the five words, the tagline and the voice change.

### The week in one minute {#a-1.one-minute}

User moment: It is Monday, you have a coffee and about ten minutes.

Answer: Every week has the same shape: we read your store, you pick, you make, someone ships. Then the week resets.

- First week: paste, watch it read, first win
- Monday: five fresh picks wait on Today
- Caught up: the character signs off till Monday

Character line: Fetch: Monday I bring the ball. Friday I nap on it. | Buzz: Monday the hive fills up. By Friday every cell is capped. | Scoop: Monday I spill the beans. Friday I go lie low. | Ocho: Monday all eight arms are full. By Friday they are free. | Seeti: Monday whistles. Friday the kitchen is clean.

**Your first ten minutes, onboarding**
1. Paste your store: one box [Today]
2. Sign in: with your work email [Today]
3. Watch it read: three quick questions inside [Next]
4. Here's your store: one finding, the reveal [Next]
5. First win: heart one, make one, hand off one [Next]

**Then every week**
- Monday: The drop. Five fresh picks on Today. Next (the turn)
- Tuesday: Pick. Heart what fits, Not for me what does not
- Wednesday: Make it. One Make it, every version kept
- Thursday: Hand it off. One button, you choose who ships
- Friday: Caught up. The character signs off. Next

- Screen t1:monday: Monday on Today
- Screen p1:open: A pick, open
- Screen m1:studio: Make it
- Screen h2:team: Handed off
- Screen t5:caught: Caught up

The week is the unit, not the day. A founder who is also the whole marketing team comes once a week, on Monday, for about ten minutes. An in house marketer comes daily. A specialist comes a few times a week for their area.

#### The story under the week
Every pick serves one of three goals: get found, get chosen, get them back. That is what marketing is for a small online store.

#### Onboarding: the first week is different
Paste your store, sign in with your work email, watch it read while you answer three quick questions, see one finding in the reveal, then a first win in about ten minutes: heart one, make one, hand off one, with a three step bar and small celebrations. The three questions are what you handle, your next big moment, and one thing you never want to post; each answer visibly sharpens the picks. The reveal, the questions as a game and the first win bar are Next. Today's onboarding is about 11 screens and 14 decisions; see [a-4 Onboarding](#a-4.first-run) for today against tomorrow and [d-5 First week and first win](#d-5) for every step.

Source: shared/product-model.md section 1 and BRIEF.md section 3.2.

### What it does at each version {#a-1.versions}

User moment: You want to know how far it goes. Does it post for me?

Answer: v1: Today it drafts and hands off, and people ship everything. | v2: Now it can post and schedule for you, with your OK every time. | v3: Now it shows what worked, so next week's ideas are smarter. | v4: Now it can run ads inside the rules and budget you set.

- Flip the version switcher at the top
- Each version adds one power
- You stay in charge at every step

Character line: Fetch: Every version, I learn a new trick. Still a good dog. | Buzz: One more job for the hive each version. | Scoop: Each version, I get to dig a little deeper. With permission. | Ocho: More arms free every version. Still asking first. | Seeti: Each version, one more burner. Still my kitchen rules.

- v1 Drafts and hands off: Reads your store, drafts five ideas, you pick and hand them off. [v1]
- v2 Posts and schedules: Publishes to your accounts, only after your yes. [v2]
- v3 Shows what worked: Results for every idea that went live, and smarter picks. [v3]
- v4 Runs ads within rules: Launches and tunes ads inside a budget and rules you set. [v4]

Each version adds one power and keeps every power before it. The dial from BRIEF.md section 3.6 sits under the versions: v1 is Suggest, v2 is Prepare and Schedule, v3 adds How it went, v4 is Run within rules. Every level starts off and the brand turns it up per area and per channel.

The full story, with what is in and out of each version and the open questions, is in [a-5 The four versions](#a-5).

## A2 How to read this book {#a-2}

Three switchers, a search box and a Skim button. That is the whole manual.

### The switchers at the top {#a-2.switchers}

User moment: You opened the book and the top bar has buttons you did not ask for.

Answer: Pick a character and the whole book changes clothes, or pick a version to see what arrives when.

- Character: five faces, one product
- Version: v1 is today, v4 runs ads
- Skim hides the detail, Theme flips light and dark

Character line: Fetch: Tap my face. Everything turns tennis ball green. Mostly. | Buzz: Tap me and every page turns pollen yellow. | Scoop: Tap me and I narrate the whole thing. Quietly. | Ocho: Tap me. I will re-skin all of it at once. Somehow. | Seeti: Tap me. Same recipe, my kitchen.

**Character switcher**
- Fetch: Fetch, the dog
- Buzz: Buzz, the bee
- Scoop: Scoop, the raccoon
- Ocho: Ocho, the octopus
- Seeti: Seeti, the cooker

**This screen re-skins when you switch**
- Screen t1:monday: Today, in {name}'s skin

**Version switcher**
- v1: What is built today: ideas, drafts and hand off. [v1]
- v2: It posts and schedules on your accounts, with your OK. [v2]
- v3: It shows what worked. [v3]
- v4: It runs ads inside rules and a budget you set. [v4]

#### Character
Five characters: Fetch the dog, Buzz the bee, Scoop the raccoon, Ocho the octopus, Seeti the cooker. Switching repaints the page in that character's colour and fonts, swaps every line it says, and re-skins every live product screen. Facts never change between characters. Your choice is remembered in this browser.

#### Version
v1 is what is built today. Anything that arrives later is dimmed and says Arrives in v2, v3 or v4. Some sentences change with the version: the book shows the newest wording at or below the version you chose.

#### Skim
Skim keeps the title, your moment, the one sentence and the ten second bullets, and hides the character line, the pictures and Everything else on this. Use it to read a whole part in a minute.

#### Theme
Light or dark. By default it follows your device.

### Every page has the same shape {#a-2.page-shape}

User moment: You have a minute, or you have an hour. Either way you want to know where to look.

Answer: Read top to bottom and stop wherever you have enough, because the last fold holds everything else.

- Bold line: the whole answer
- Three bullets: the ten second version
- Everything else on this: every rule and row

Character line: Fetch: Top of the page is the ball. The rest is the long throw. | Buzz: Nectar first, then the whole flower. | Scoop: Headline first. The juicy details are folded at the bottom. | Ocho: One arm for skimmers, seven for the deep readers. | Seeti: Starter first. Full meal in the fold.

**Each page, in order**
1. Your moment: What the store owner wants or feels right now
2. The one sentence: The whole answer, the key phrase highlighted
3. In 10 seconds: Three bullets at most
4. The character line: One funny line in the voice you picked
5. The pictures: Live screens, flows, maps, before and after
6. Everything else on this: Tables, rules, edge cases, sources

#### For people
Read the bold line. If it is enough, move on. If not, look at the pictures. Open Everything else on this only when you need to build, decide or check.

#### For agents
Every page is data in book/content, one file per part. Each page has the same fields: id, title, v for the version it arrives in, you, one, ten, say, show and full. The full field holds every rule, row, template and source as markdown. Nothing important lives only in a picture: each visual repeats its meaning in text.

#### Labels inside pages
Today means it exists in the build. Next is recommended for v0. Later comes after launch. v2, v3 and v4 mark what arrives with each version.

### Find your way {#a-2.find-your-way}

User moment: You only care about one thing today: design, selling, or the build.

Answer: Start from your role on the home page, or type a word in search.

- Seven role links on the home page
- Search matches titles and the bold line
- The # beside a title copies its link

Character line: Fetch: Lost? Sniff the search box. I always find it. | Buzz: Follow the waggle: role first, then the page. | Scoop: Tell me what you are after. I know where everything is. | Ocho: Search box. Contents. Links. I am holding all three. | Seeti: Pick your station, find your page.

**Where each role starts**
- I am new here becomes a-1 What we do
- I run a store becomes b-2 Ideal customer
- I design becomes e-1 Foundations
- I build becomes c-7 Logic and rules
- I market becomes h-1
- I sell or invest becomes i-1
- Show me the characters becomes f-1 The cast

**The ten parts**
- A Start here
- B Customers and business
- C Product
- D UX
- E UI
- F Brand
- G Words and messages
- H Marketing and growth
- I Selling and trust
- J System and team

#### Ways around
- Contents opens the list of parts and sections. On a laptop it sits on the left.
- Search looks through section titles, page titles and each page's bold line, and shows up to twelve matches.
- Back and Next at the foot of every section walk the book in order.
- The # beside a page title is a link straight to that page, for sharing in chat.
- The jump list under a section header lists its pages when there are more than two.

#### Linking to a page
Section links look like book.html#a-4. Page links add the page id: book.html#a-4.numbers.

### The tags you will see {#a-2.tags}

User moment: A page says Next and v3 and Recompose, and you want to know if it is real.

Answer: Tags say whether a thing exists today, when it arrives, and how hard it is to change. Never read Next or Later as today.

- Today, Next, Later: does it exist
- v2 to v4: which version brings it
- Restyle to Change core: how risky the change

Character line: Fetch: Tags are like my collar. They say where I belong. | Buzz: Every cell in the hive has a label. So does every page. | Scoop: I label every rumour. Confirmed, hunch, or later. | Ocho: I stick a note on everything. Eight arms, many notes. | Seeti: Every jar gets a label. No mystery spices.

**Claim tags**
- Today: Exists in the build now. [Today]
- Next: Recommended for v0, before launch. [Next]
- Later: After launch. [Later]
- Sample: An invented example, such as the sample candle store. Every sample says so.

**Change types, safest first**
1. Restyle: Tokens, type, icons, illustration, copy. No logic change
2. Recompose: A new view or order over the same data
3. Add on: A new module that only reads, behind an off switch
4. Change core: Touches the read, cards, ranking, making, the brief or the share link. Listed as a risk, never done this round

#### Claim tags
| Tag | Meaning | Rule |
| --- | --- | --- |
| Today | Exists in the build | Say it plainly |
| Next | Recommended for v0 | Never present as today |
| Later | After launch | Never present as today |

#### Version tags
v2, v3 and v4 mark what arrives with each version. With the switcher on v1, they show dimmed with Arrives in vN.

#### Change types
Every product change in this book names one of four types from BRIEF.md section 3.1. Change core is never proposed in this round; when one seems needed it is listed as a risk.

#### Statuses come from the build we last reviewed
The audit read the deployed code on 25 October. Check statuses against the v0 scope and the code before any build work.

## A3 Principles {#a-3}

Ten rules that settle every argument before it starts.

### Ten rules on one page {#a-3.ten-rules}

User moment: Two people disagree about a screen and the meeting is going nowhere.

Answer: Ten rules settle most arguments before they start, and a choice that breaks one loses.

- User first, one of everything, the week
- Glance cards, plain words, sources, you in charge
- Brand first, never break, play kindly

Character line: Fetch: Ten rules. I can count to ten. Then I chase the ball. | Buzz: Ten rules, one hive. Everyone dances the same way. | Scoop: Ten rules. Written in my notepad. In pen. | Ocho: Ten rules, eight arms. I hold two in my teeth. | Seeti: Ten rules. No arguments in my kitchen.

- 1 Start from the store owner: Their moment first, then the screen.
- 2 One of everything: One way in, one place to wait, one number for today.
- 3 The week is the unit: Five picks, finite, then you are caught up.
- 4 A card lands in three seconds: 25 words at most, the thing first.
- 5 Plain words on controls: The character talks around the button, never on it.
- 6 Every number has a source: Unsure says To confirm. Projections say so.
- 7 You stay in charge: Nothing posts in v1. Paid makes ask once.
- 8 The brand is the hero: The character narrates from fixed slots only.
- 9 Reshape, never break: Restyle, recompose, add on. Core changes are risks.
- 10 Play kindly: No guilt, no fake countdowns, real scarcity only.

Each rule has its own page below with the argument it settles, what to do, what never to do, and its source. The rules come from the owner's brief, the shared product model and the audit of today's build. When two rules pull apart, the lower number wins.

### Rule 1: start from the store owner {#a-3.user-first}

User moment: Someone says the feature is clever. You ask who it is for.

Answer: Every screen starts from what the store owner wants or feels right now, in their words, before anyone decides.

- Write their moment before the design
- Founder first, then the people around them
- If no one feels it, cut it

Character line: Fetch: I always look at the human first. Then the ball. | Buzz: I visit the flower before I make honey. | Scoop: Psst. Ask them what they need. Then I go digging. | Ocho: Before I grab anything I check whose desk it is. | Seeti: Taste for the guest, not for the cook.

**Who opens it and why**
| Person | How often | What they come to do |
| --- | --- | --- |
| Founder who is the marketing team | Weekly, Monday | Decide this week, about ten minutes |
| In house marketer | Daily | Plan, draft, track |
| Specialist | A few times a week | Pick up their part and make it |
| Agency or freelancer | Daily | Run several brands |
| The ShopOS team | Daily | Demos, findings, briefs |
| Person who opens a brief link | Per brief | Ship the work, often on a phone, no login |
| Approver | Now and then | Say yes or no |

- Do: Open every page with the owner's moment
- Do: Name the person a screen is for
- Do: Test with a tired founder on a phone
- Never: Start from a feature or a data source
- Never: Design for the demo instead of the Monday
- Never: Ask a question the read already answered

Settles: should we add this panel. Answer: whose Monday does it make shorter.

Seats go away in the one product. The part someone plays decides what they see: they decide, they make, or they ship, and whether they handle one brand or many. Deciders see Need your yes first, makers land in Work, shippers live on the brief page.

Sources: book/WRITERS.md, BRIEF.md section 3.2, shared/product-model.md section 6.

### Rule 2: one of everything {#a-3.one-of-everything}

User moment: You found the same thing in three places and none of them agree.

Answer: There is one way in, one place for waiting and one number for today, so a second copy of anything is a bug.

- A pick opens its one Make it
- Need your yes is the only waiting list
- Five picks is the only number

Character line: Fetch: One ball. Not sixteen balls. One. | Buzz: One hive. One queen. One waiting list. | Scoop: One notepad. I tried five. I lost things. | Ocho: One desk. Even I only need one desk. | Seeti: One pot per dish. Never three.

**Today many, tomorrow one**
- 16 ways into a jam becomes A pick opens Make it. Work rows and notifications open the same one
- 5 lists of things waiting on you, 3 names becomes Need your yes. With a count on the Today tab
- 3 numbers for today: 10, your own 3, 5 or 10, a hidden 14 becomes Five picks. See everything shows the rest
- 3 making spaces becomes Make it
- 4 brief formats becomes One brief page. Old links keep answering
- 6 skip labels becomes Skip

Settles: should this also live in the menu. Answer: no, it already has a home.

#### What it means for building
- Every entry point opens the same destination; there is never a drawer and a full page for one thing.
- Removing a repeated surface is a Recompose. The data underneath stays.
- One top bar, one tab set, one bottom bar, one sheet, one menu, one toast, one empty state, one error state, four button kinds.

Sources: shared/product-model.md sections 3 and 5, shared/ia.md sections 5 and 6, _research/product-audit.md section 3.4.

### Rule 3: the week is the unit {#a-3.the-week}

User moment: You opened it on Thursday and want to know if you are behind.

Answer: A marketing week has an end: five picks, then you are caught up until next Monday.

- A list you can finish
- No daily streak pressure
- The character signs off when you are done

Character line: Fetch: Five throws a week. Then we both nap. | Buzz: Five cells of honey, then the hive rests. | Scoop: Five scoops a week. Any more and it is just noise. | Ocho: Five picks. After that all arms off duty. | Seeti: Five specials. Then the kitchen closes.

- Screen t1:monday: Monday: the drop
- Screen t5:caught: Caught up

- Do: Count weeks, not days
- Do: Make the end of the list obvious
- Do: Show the rest only on purpose, under See everything
- Never: An endless feed
- Never: Red badges and daily streak guilt
- Never: Ten here, fifteen there, fourteen hidden

Settles: should we show more cards to keep people scrolling. Answer: no, a finished list is the reward.

Today's build has three numbers for today: 10 before a stop line, a personal number of 3, 5 or 10, and a hidden 14 that decides Need your yes. The one product has one number: five picks.

The Monday drop, the caught up moment and the weekly run are Next. Sources: shared/product-model.md sections 1 and 3, _research/product-audit.md section 6 item 5.

### Rule 4: a card lands in three seconds {#a-3.glance}

User moment: You are on your phone between two calls and have three seconds per card.

Answer: A closed card has five things and 25 words at most: area and source, the thing, a headline, one why, one button.

- Headline: 8 words, verb first, product named
- Why: 12 words, one number, one source
- Everything else lives inside the pick

Character line: Fetch: Sniff, look, wag. Three seconds. | Buzz: One glance, one waggle, done. | Scoop: One line of gossip per card. That is the rule. | Ocho: I have eight arms and still one card at a time. | Seeti: One look. Taste. Decide.

- Today: About 70 words. Agent name and time, a campaign line, a rank reason, a draft label, a headline and copy line, a button, five icons, a status row, a 15 word title, a 31 word sub, a make chip, a source line.
- Tomorrow: 19 words. Ads, from your reviews. The draft. Run the Monsoon candle rain ad. 41 reviews mention the smell of rain. Make it.

- Screen t1:monday: Closed cards
- Screen p1:open: The pick, open

Settles: can we add one more line to the card. Answer: only by moving one off.

| Order | Element | Budget |
| --- | --- | --- |
| 1 | Area and source | 5 words |
| 2 | The thing: the draft, a product photo, or one big number with its source | no words |
| 3 | Headline, verb first, naming the product | 8 words |
| 4 | Why: one fact with a number and a source chip | 12 words |
| 5 | One main button, plus heart and Not for me as icons | one button |

The open pick has four layers in this order: the draft with New version and Versions, Why this in three sourced lines, the plan in five steps at most, Where to post with the bottom bar. The example is from the sample candle store. Source: shared/product-model.md section 10.

### Rule 5: plain words on controls {#a-3.plain-words}

User moment: You are about to tap a button and it says something cute you do not understand.

Answer: Buttons and tabs use the plain word in every character, and the character's word lives around the button, never on it.

- Make it is always Make it
- The character speaks in headers, waits and wins
- Two words per concept: plain and character

Character line: Fetch: The button says Hand it off. I just say fetch. | Buzz: The button stays plain. I do the buzzing around it. | Scoop: The button says Hand it off. I whisper pass the note. | Ocho: Button: Make it. Me, nearby: ink it. | Seeti: Button: Make it. Me: on the stove.

*Fetch:*
- Today becomes The doorstep
- Make it becomes Chew on it
- Hand it off becomes Drop it
- You're caught up becomes Nap time
*Buzz:*
- Today becomes Today's flight
- Make it becomes Make honey
- Hand it off becomes Pass the pollen
- You're caught up becomes The hive is humming
*Scoop:*
- Today becomes The dish
- Make it becomes The scribble
- Hand it off becomes Pass the note
- You're caught up becomes All dished out
*Ocho:*
- Today becomes On my arms
- Make it becomes Ink it
- Hand it off becomes Free an arm
- You're caught up becomes Arms free
*Seeti:*
- Today becomes The pass
- Make it becomes On the stove
- Hand it off becomes Order ticket
- You're caught up becomes Kitchen's clean

Settles: can the button say the character's word. Answer: no. People who switch characters, read the brief, or come from search must still find Make it.

The full word list is in [a-6 Twenty words to know](#a-6) and in section G. Character words come from each character's system file.

Source: shared/product-model.md section 4, BRIEF.md section 3.4.

### Rule 6: every number has a source {#a-3.sources}

User moment: A card says 41 reviews mention rain, and you want to know if that is real.

Answer: Every number carries a source chip beside it, and an unsure one says To confirm.

- One number per line, in digits
- Source chip, never a hedge sentence
- No invented customers, quotes or results

Character line: Fetch: I only bring back balls I actually found. | Buzz: Every drop of honey has a flower behind it. | Scoop: Every rumour comes with where I heard it. Always. | Ocho: Every number has a sticky note saying where from. | Seeti: Every dish says where the spice came from.

- Do: 41 reviews mention the smell of rain, with a Reviews chip
- Do: A To confirm chip on a number we are unsure of
- Do: Say a projection, not a promise on any forecast
- Never: Up to 3 times more sales
- Never: Customers love it, with no source
- Never: A made up quote, review or lift

Settles: can we round this up to make the card stronger. Answer: no.

#### Allowed figures in anything we publish
About 3 to 4 minutes for a read. About 160 cards for the prepared demo brand. Six second videos. 24 hour story rings. The brand named in 12 of 32 AI answers, only as an example finding from one brand's read.

#### Banned
Invented customers, quotes, reviews, lifts or results. Claims that it fits every store, or that a third party has checked it. Saying it posts, sends, schedules, launches or measures unless the item is marked Later.

Source: BRIEF.md section 2, Claims.

### Rule 7: you stay in charge {#a-3.in-charge}

User moment: You are nervous it will post something on your Instagram at 2 in the morning.

Answer: In v1 nothing posts, sends or spends by itself, and anything paid asks once, on one sheet, with the price.

- Undo for anything you can take back
- One confirm sheet for paid or leaving
- Price only on that sheet

Character line: Fetch: I never run off with your ball. | Buzz: I never fly off with your honey. | Scoop: I look. I never touch. Read only, promise. | Ocho: I ask before I grab anything. Every arm. | Seeti: Nothing leaves my kitchen without your nod.

- Screen m3:confirm: Confirm a paid make
- Screen t2:open: Need your yes

- Do: Show the price once, on the confirm sheet
- Do: Undo toast for reversible things
- Do: Say read only on every connection
- Never: A price on the first button
- Never: Browser confirm boxes
- Never: Vendor or model names in front of a founder

Settles: can we skip the confirm to make it faster. Answer: only for things you can undo.

Today's build shows prices on first buttons, free draft tags, credits and vendor names. The one product shows the price only on the confirm sheet before something paid is made, and never shows vendor or model names to a founder.

When later versions post and run ads, the founder sets the rules and approves; see a-5. Sources: shared/product-model.md sections 4 and 5, _research/product-audit.md section 6 item 10.

### Rule 8: the brand is the hero {#a-3.brand-hero}

User moment: You open a pick and want to see your candle, not a cartoon.

Answer: Your store and products are the hero of every frame, while {name} narrates from fixed slots and never sits on a card or a button.

- The brand's pictures carry the colour
- The character lives in headers, waits, wins, errors
- Remove the character and everything still works

Character line: Fetch: I sit by your feet. Your candle gets the spotlight. | Buzz: I buzz in the corner. Your product gets the flowers. | Scoop: I stay in the corner with my notepad. You are the story. | Ocho: I hold the lamp. Your product stands under it. | Seeti: I am the cooker, not the dish.

**Where the character may appear**
- Today header corner: 40 to 56 px. Always there, idle, greets you on Monday.
- Reading your store: 120 to 180 px, for the whole read.
- The reveal: 160 px, beside one finding.
- Empty states: 96 px. Nothing waiting, caught up, no results.
- Celebrations: 120 px. First heart, make, hand off, caught up.
- Errors and cap reached: 96 px. A plain line, one way out.
- Brief page: 32 px sign off, only at the bottom.

- Do: Header corner, reading screen, reveal
- Do: Empty states, wins, errors, brief sign off
- Never: Buttons or the thing being made
- Never: Tables of numbers or Need your yes
- Never: Over a brand's photos

Settles: can the character hold the product in the ad. Answer: no, the ad belongs to the brand.

| Slot | Size | When |
| --- | --- | --- |
| Today header corner | 40 to 56 px | Always, idle, greets on Monday |
| Reading your store | 120 to 180 px | The whole read |
| The reveal | 160 px | One finding |
| Empty states | 96 px | Nothing waiting, caught up, no results |
| Celebrations | 120 px | First heart, make, hand off, caught up |
| Errors and cap reached | 96 px | Plain line, one way out |
| Brief page | 32 px sign off | Only at the bottom |
| Never | none | Buttons, the thing being made, tables of numbers, Need your yes, over a brand's photos |

The character is an add on layer. It reads app state and never blocks a control. It speaks around cards in section headers, empty states, loading and celebrations; it never speaks on a card. The skin's hero colour is for the character, the main button and focus, never for cards.

Sources: shared/product-model.md sections 1, 7 and 10, BRIEF.md sections 3.1 and 3.7.

### Rule 9: reshape, never break {#a-3.never-break}

User moment: Your store is live on it today. You do not want the redesign to lose your work.

Answer: Every change is a restyle, a recompose or an add on, and anything touching the core is listed as a risk, not done.

- Six core parts stay as they are
- Old brief links keep working
- Add ons sit behind an off switch

Character line: Fetch: New collar. Same good dog. | Buzz: New paint on the hive. Same honey inside. | Scoop: I can rearrange the notepad. I never tear out pages. | Ocho: I can move every arm. I never drop what I hold. | Seeti: New pot lid. Same recipe.

**The six core parts that must not break**
- The read: Seven sources, the check data, the live stream to the reading screen.
- Card generation: The plans behind picks, the cards, drafts and source lines.
- Ranking: Freshness, impact, affinity and fatigue, and what counts as a yes.
- The making: Pictures, videos, words, finals and the shared chat.
- The brief format: The numbered brief and its number.
- The share link: Signed links, old and new, that keep answering.

Settles: can we rewrite the ranking while we are in there. Answer: not in this round; it is a listed risk.

| Type | What it may change |
| --- | --- |
| Restyle | Tokens, type, icons, illustration, copy. No logic |
| Recompose | A new view or order over the same data and modules |
| Add on | A new module that only reads, behind an off switch |
| Change core | The read, card generation, ranking, the making, the brief format, the share link. Risk only |

The file by file list of what must not break is in _research/product-audit.md section 7. Source: BRIEF.md section 3.1.

### Rule 10: play kindly {#a-3.play-kindly}

User moment: You skipped a week because of a sale. You do not want to be scolded.

Answer: The fun leads with meaning, progress and making things, with scarcity only when it is real and never guilt or fake countdowns.

- Progress counts what you did, never sales
- One free skip a month
- The capped read is real, so it may show

Character line: Fetch: Missed a week? I kept the ball warm. | Buzz: Busy week? The hive waits. No stings. | Scoop: Lying low a week? I saved the gossip for you. | Ocho: Coffee break? Fine. I will juggle. | Seeti: Cold week? Fine. The stove waits.

- Do: Celebrate the first heart, make and hand off
- Do: A light nudge after a quiet week
- Do: Say the read cap plainly: it costs real time and money
- Never: Guilt or shame
- Never: Fake countdowns or invented scarcity
- Never: Points that mean nothing

Settles: should we add a streak counter with a red warning. Answer: no.

The game layer is built on Yu-kai Chou's Octalysis: eight core drives, of which epic meaning, accomplishment and creativity are white hat and scarcity, unpredictability and loss avoidance are black hat. We lead with white hat. Duolingo's growth story, as told on Lenny's Newsletter, found points alone did nothing and notifications are a channel to protect.

Mechanics, all Next: the reveal, three questions as a game, first win in ten minutes, the memory meter, the Monday drop, the weekly run with one free skip a month, one wildcard pick a week. Source: BRIEF.md section 3.5. The full game is in part F, Play.

## A4 Today against tomorrow {#a-4}

From 309 places to click to 22. The big untangle in pictures.

### The untangle in numbers {#a-4.numbers}

User moment: You heard the product got simpler. You want to see by how much.

Answer: Today a person can reach 309 places, and tomorrow 22, counted from the deployed code on 25 October.

- 309 places to click become 22
- 42 addresses become 6
- 163 button kinds become 4

Character line: Fetch: 309 balls in the yard. I am keeping 22. | Buzz: 309 flowers, 22 worth visiting. | Scoop: I counted 309 hiding spots. We are keeping 22. | Ocho: 309 things at once was too many, even for me. | Seeti: 309 pots on the stove. Now 22.

**Today**
- 309 places a person can reach
- 42 addresses and switches
- 23 sheet styles
- 163 button kinds
- 25 empty state styles
- 12 kinds of loader
- 44 status lists
- 16 menu styles

**Tomorrow**
- 22 screens and sheets, plus emails
- 6 addresses
- 1 sheet
- 4 button kinds
- 1 empty state
- 2 loaders
- 2 status lists
- 1 menu

**The tangles behind them, today**
- 16 ways into one jam
- 10 hand off buttons on 6 surfaces
- 4 brief formats
- 6 stage lists for one jam
- 5 lists of things waiting on you
- 3 numbers for today

#### Before and after
| What | Today | Tomorrow | Note |
| --- | --- | --- | --- |
| Places a person can reach | 309 | 22 | Pages, views, sheets, overlays, menus, pages outside the app |
| Addresses and switches | 42 | 6 | Today, Work, Your store, Settings, a pick, Make it |
| Sheet styles | 23 | 1 | One sheet used by about eight sheets |
| Button kinds | 163 | 4 | Main, quiet, link, icon |
| Empty state styles | 25 | 1 | The character, one line, one button. Errors get their own |
| Loader kinds | 12 | 2 | A spinner in the button, the character wait pose |
| Status lists | 44 | 2 | Idea, In the works, Handed off, and one list for connections |
| Menu and popover styles | 16 | 1 | One menu |

#### The 22
Paste your store, Sign in, This store is for its own team, Join, Reading your store, Here's your store, Today, Story viewer, Work, Your store, the open pick, Make it, Hand it off, Confirm a paid make, What we know about you, Which of these do you handle, Team, Connections, Account, Brief page, Error page, Email settings.

#### Why two sets of counts exist
The first audit counted 89 surfaces and 112 button classes. The surface map counted again six commits later and also included every sheet, overlay, menu and page the server builds, which gives 309 and 163. Both are right for what they count; this book uses the surface map's numbers. The screen kit draws 45 screens because it also draws states, emails and the two desktop layouts.

Sources: shared/surface-map.md, Before and after and Summary. _research/product-audit.md sections 3.4, 4 and 5.

### The map, before and after {#a-4.the-map}

User moment: You want to find the plan for your store and you have tapped four places already.

Answer: Today's rail, toggle, floating button, hidden Library and catch all hub become three tabs and Settings.

- Three tabs, the same on phone and laptop
- Settings behind your picture
- Nothing more than three taps away

Character line: Fetch: Three rooms. I know every corner now. | Buzz: Three combs in the hive. Easy flying. | Scoop: Three drawers. I know exactly where every note is. | Ocho: Three tabs. Even I can hold three. | Seeti: Three shelves. Everything has its jar.

**Today**
- Desktop rail
  - Feed
  - Work
  - Notifications
  - What we learned, 13 sections and 6 sub pages
  - Connectors
  - Account menu, from team to sign out
- Top bar
  - Feed and Deck toggle
  - N with the team
  - Viewing as a seat
- Floating round button, a new blank jam
- Phone tabs, different from desktop
  - Feed
  - Deck
  - New jam
  - Work
  - Library, missing from the desktop rail

**Tomorrow**
- Today
  - Need your yes
  - Story rings
  - This week's picks
  - See everything
- Work
  - New since you looked
  - Ideas, In the works, Handed off
  - Start something new
- Your store
  - Store health
  - What customers say
  - What rivals run
  - What AI search says
  - What changed
  - The plan
- Settings, behind your picture
  - What we know about you
  - Which of these do you handle
  - Team
  - Connections
  - Notifications and sound
  - Account

- Screen d1:today: Tomorrow on a laptop
- Screen y1:store: Your store
- Screen s1:rows: Settings

#### Today's map, as built
- Desktop rail: home mark, Feed, Work, Notifications; at the foot, What we learned, Connectors, your account.
- Top bar: a Feed and Deck toggle, a pill counting briefs with the ShopOS team, Viewing as with your seat, a theme switch.
- A floating round button that starts a blank jam.
- Phone tabs: Feed, Deck, New jam, Work, Library. On phones What we learned and Connectors move into the account menu.
- The Library has no desktop rail button.
- What we learned holds 13 sections and six sub pages: Brand Book, the watch page, Heard, Rivals, Products, the plans and the fact sheet.
- 20 view routes, nine hash routes, a share token and twelve query switches.

#### Tomorrow's map
Three tabs, the same on phone and laptop, bottom bar on phone, left rail on laptop. Settings sits behind your picture, top right. Six addresses: Today, Work, Your store, Settings, a pick, Make it. The Brief page and the sign in pages live outside the app. A brand switcher for people with more than one brand is Later.

Sources: _research/product-audit.md section 3, shared/ia.md section 1, shared/product-model.md section 3.

### Onboarding: 11 screens to a first win {#a-4.first-run}

User moment: You pasted your link and want to see your ideas, not a setup wizard.

Answer: Onboarding goes from about 11 screens, 14 decisions and 6 skip labels to paste, sign in, watch it read, the reveal and a first win.

- Three questions play during the read, not after
- One finding first, then your picks
- First win: heart, make, hand off in ten minutes

Character line: Fetch: Throw the link. I bring back ideas. No forms. | Buzz: Paste it, I fly off, I come back with honey. | Scoop: Give me the tip. I do the rummaging. You skip the paperwork. | Ocho: Pass it here. I will read while you sip. | Seeti: Into the pot. Lid on. No paperwork.

**Today: about 11 screens**
1. Landing: Build my feed
2. Google sign in
3. Reading: agents roster
4. Questions offer: Answer 5 questions
5. Five questions: full screen
6. Read done bar
7. Check page: under a clock
8. Setup: role, focus, tools, team
9. Ready overlay
10. Swipe tuner: 1 of 10
11. The feed: plans written only now

**Tomorrow: five steps to a first win**
1. Paste your store: one box [Today]
2. Sign in: with your work email [Today]
3. Watch it read: three quick questions inside [Next]
4. The reveal: Here's your store, one finding [Next]
5. First win: heart one, make one, hand off one [Next]

- 11 screens today before your first card
- 14 decisions today
- 6 skip labels today, one tomorrow
- 10 minutes to a first win tomorrow

- Screen f1:empty: Paste your store
- Screen f2:default: Sign in
- Screen f4:reading: Watch it read
- Screen f7:reveal: The reveal
- Screen t6:heart: First heart
- Screen h2:team: First hand off

Every step and screen of the first ten minutes, invited teammates, agencies, the Shopify install and coming back after a break are in [d-5 First week and first win](#d-5). This page is the before and after.

#### Today, step by step
1. Landing: Design partner preview, Build my feed.
2. Sign in with Google. A personal or other company email is refused and pointed at demo stores.
3. Reading screen with seven ticking steps, a roster of agents and finding cards.
4. After about 9 seconds or 6 findings, a bar offers five quick questions.
5. Five questions, full screen: who is this feed for, what should come first, channels, which products to lead with, who you lose sales to.
6. Read done bar with Skip to my feed and Check what we read.
7. Check page, Is this right, with a line saying the brief starts at a set time unless you check first.
8. Setup steps after a reload: role, focus, connect your tools, invite your team. Some repeat questions from step 5.
9. Ready overlay with counts and one button.
10. Swipe tuner, 1 of 10, More like this or Less like this.
11. The feed opens and the plans are only written now.

The six skip labels: Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed.

#### Tomorrow
| Step | What happens | Status |
| --- | --- | --- |
| Paste your store | One box, Build my feed. Inside Shopify the store is already filled in | Today, Restyle |
| Sign in | Sign in with your work email | Today |
| Watch it read | Seven sources tick by in about 3 to 4 minutes. Three quick questions play inside: what you handle, your next big moment, one thing you never want to post | Read Today, questions Next |
| The reveal | Here's your store: one shareable finding, then this week's picks | Next, Add on |
| First win | Heart one, make one, hand off one, in about ten minutes, with a three step bar and small celebrations | Next, Add on |

#### Where the old steps go
| Today | Tomorrow |
| --- | --- |
| Questions offer bar and five question screen | Three quick questions inside the read |
| Check page under a clock | Optional, inside What we know about you, no timer |
| Setup: role and focus | Which of these do you handle, the first question |
| Setup: connect your tools | Settings, Connections, whenever you want |
| Setup: invite your team | Settings, Team |
| Ready overlay and swipe tuner | The reveal, then Today; the heart tunes as you go |
| Welcome card, plan writing card | Gone; the character's wait pose covers the read |

The confirm call, the answers, connect and invite keep their routes. Change type: Recompose; the reveal, the question game and the first win bar are Add on, Next. Sources: _research/product-audit.md sections 2.1 and 6, shared/surface-map.md flow F1, shared/product-model.md section 2, BRIEF.md section 3.5.

### Monday: five waiting lists to one {#a-4.monday}

User moment: It is Monday and you want to know what needs you, once.

Answer: What waits on you moves from five places under three names to one list at the top of Today, Need your yes.

- Yes or no, ten words, two buttons
- A count on the Today tab
- Then five picks, and that is the week

Character line: Fetch: One paw up means one thing needs you. | Buzz: One waggle: this one needs your yes. | Scoop: Just need your nod on two things. Then the dish. | Ocho: One arm up. Just one question for you. | Seeti: Taste this first. Then the specials.

- Today: Five places, three names. Need your yes tile, On your board tile, the Needs you lane in Work, the Needs you group in the bell, the Needs you group in the Library. Plus 10 cards before a stop line, a personal 3, 5 or 10, and a hidden 14.
- Tomorrow: One list, one number. Need your yes on top of Today with a count on the tab. Under it, five picks. See everything for the rest.

- Screen t1:monday: Today on Monday
- Screen t2:open: Need your yes, open
- Screen t2:answered: After Yes

#### Today
The Monday email opens the feed. On top: a greeting, up to three tiles, Need your yes, Costs ad money and On your board, then story rings, a plan writing card, a store health card and a count of new cards. The first time, Need your yes is a guided queue, Call 1 of N. Ten cards, then a stop line and See the next 15.

#### Tomorrow
| Element | Rule |
| --- | --- |
| Need your yes | A question you can answer yes or no, 10 words at most, one line on what happens either way, Yes and Not now |
| Story rings | 24 hours, one fact per frame, Your week on Monday |
| This week's picks | Five, ranked, each a closed card |
| See everything | The rest, ranked, with an area filter |

Risk, not this round: changing what counts as a yes changes ranking. Sources: _research/product-audit.md sections 2.2 and 6, shared/product-model.md sections 3 and 10.

### Making: three jams to one Make it {#a-4.making}

User moment: You tapped the same piece of work twice and landed in two different places.

Answer: Today the same job happens in three different making spaces, and tomorrow every door opens one Make it.

- The thing on one side, the chat on the other
- New version, and every version kept
- Hand it off is the one button at the bottom

Character line: Fetch: One room to play fetch in. Much better. | Buzz: One flower bed to work in. Less flying. | Scoop: One notepad to scribble in. No more hunting. | Ocho: One desk. I finally know where my ink is. | Seeti: One stove. All burners in one place.

- Today: Three spaces, 16 doors. The studio, the jam pane on the card page, and Jam v2 behind an address switch. 16 ways in, from a card tap to a Saved button. A stage switch, three panel tabs, History, a step bar and an overflow of up to eight items.
- Tomorrow: One Make it. A pick, a Work row and a notification all open the same Make it. The thing large, the chat as the way to change it, Versions, one bottom bar.

- Screen m1:studio: Make it on a phone
- Screen m4:versions: Versions
- Screen d2:make: Make it on a laptop

#### The 16 doors today
Tap a card, its main bar, Start here, the hand icon, a Work tile, a Library jam, a notification row, a queue row, a story's Open the card, the Open the jam email, the Join the jam email, a shared jam link, the round button, the phone New jam tab, Work's Start a new jam, Saved's Jam on all.

#### Which space you get today
A fresh card opens the studio. The same work on the Work board past drafting opens the card page with the jam pane. The round button opens a blank jam on the card page. Adding v=2 to the address opens Jam v2.

#### Tomorrow
| Part | Rule |
| --- | --- |
| The thing | Left on laptop, top on phone |
| The chat | Right on laptop, below on phone, with AI and teammates |
| Tools | Add a photo or file, talk, film board, teleprompter |
| New version | One more take; the old one stays in Versions |
| Bottom bar | Hand it off |
| Paid makes | One confirm sheet with the price |

The jam pane, Jam v2 and the card page are removed from the product that ships. Their engines stay. Sources: _research/product-audit.md sections 2.3, 3.4 and 6, shared/ia.md section 6.

### Handing off: ten buttons to one {#a-4.hand-off}

User moment: Your designer needs the brief. You tap Send brief and are not sure who gets it.

Answer: Today Send brief means two different things among ten hand off buttons, and tomorrow one Hand it off asks who is shipping this.

- Me, My team, My agency or freelancer, The ShopOS team
- Only the ShopOS team gets an email
- Old brief links keep working

Character line: Fetch: Drop it at their feet. They take it from there. | Buzz: Pass the pollen. They make the honey. | Scoop: Pass the note. I fold it nicely. | Ocho: Free an arm. Hand it to whoever ships. | Seeti: Order ticket out. Next dish.

**Today: four routes**
1. Studio Send brief: brief mode, then your own mail app
2. Send the brief now: emails the ShopOS team
3. Share with my team: copies the brief text
4. Jam pane Send brief: emails the ShopOS team

**Tomorrow: one button, one question**
1. Hand it off: the one bottom bar button
2. Who is shipping this: four choices
3. Handed off: with the brief number
4. Brief page: no login, copy all

- Screen h1:who: Who is shipping this
- Screen h2:shopos: The ShopOS team has it
- Screen h3:brief: The brief page

#### The ten buttons today
Send brief in the studio, Send the brief now, Share with my team, Send brief in the jam pane, Hand it to the team with Share, Share the brief on the card page, Send brief in Saved, Send to the ShopOS team in New jam, Brief a team in Jam v2, Send PDF. There are four brief formats and four shapes of share link.

#### Tomorrow
| Choice | What happens | Status |
| --- | --- | --- |
| Me | Copies the words and opens the exact place to post | Today as Copy and open |
| My team | Copies the numbered brief and the read only link. With Slack connected, offers Post to Slack | Today |
| My agency or freelancer | Copies the brief and the link. Nothing is sent | Today |
| The ShopOS team | They get the brief by email and it gets a number. Status moves Received, In progress, Needs something from you, Delivered | Today |

The Brief page, outside the app with no login, shows the numbered brief, the files, Copy all and the status, with Open it in Make it for a guest. Old links of both forms keep answering and redirect to it.

Risk, not this round: choosing one brief format instead of four is a Change core. Sources: _research/product-audit.md section 2.4, shared/ia.md sections 2 and 6, shared/surface-map.md flow F11.

### Words: one per idea {#a-4.words}

User moment: One screen says plays, the next says moves, the PDF says plans. You think they are three things.

Answer: Today one idea often has five or six names, and tomorrow it has one plain word in every character.

- moves, plays, playbooks, plans become Why this
- jam, studio, remix, stage become Make it
- Ten hand off labels become Hand it off

Character line: Fetch: One word per trick. Sit means sit. | Buzz: One word per flower. Less confusing buzz. | Scoop: Between us, nobody knew what a play was. | Ocho: One word each. My arms were tangled in synonyms. | Seeti: One name per dish on the menu.

- moves, plays, playbooks, plans, proofs, evidence becomes Why this. with its plan
- card, call, decision, signal becomes Pick for the five, idea for the rest
- today's 10, moves a morning becomes This week's picks
- On your board, Needs you, Needs your OK, Your call becomes Need your yes
- Save for later, Saved, Keep becomes Heart. meaning More like this
- Not interested, Less like this, Show fewer becomes Not for me
- Remind me tomorrow becomes Later
- jam, studio, remix, stage, package, canvas becomes Make it
- Redo it, Another take, Make it again becomes New version
- History, Earlier takes becomes Versions
- Send brief, Share the brief, Send PDF and seven more becomes Hand it off
- Drafting, With teammate, Ready, Brief shared, Done becomes Idea, In the works, Handed off
- Memory, Learned, Fact sheet, Rules, Brand Book becomes What we know about you
- seat, view, Viewing as, role becomes Which of these do you handle
- Creative, Performance, Catalog, Storefront, CRM becomes Social posts, Ads, Website, AI search, Email and WhatsApp. the five areas
- Heard, What we heard, Things people said becomes What customers say
- competitors, Popular ads becomes What rivals run
- Reset, Start fresh, Back to the start becomes Start again
- build crew, vendor names becomes the ShopOS team

The audit found the strategy documents called moves, plays, playbooks and plans on the same page, a code comment saying moves are now called plays while half the labels never changed, and six status vocabularies for one piece of work. It also found the old product name in about 300 visible strings in the front end alone; every one is a rename.

The one word list is the law for buttons and tabs. Character words live around them. Full list: [a-6 Twenty words to know](#a-6) and part G.

Change type: Restyle. Sources: _research/product-audit.md section 4, shared/product-model.md section 4.

### Patterns: one of each {#a-4.patterns}

User moment: Every sheet closes differently and you never know where the main button is.

Answer: Today the same job is built many ways, with ten action bars, 23 sheets and 12 loaders, and tomorrow the kit has one of each.

- One bottom bar, one main button
- Undo over confirm
- The character waits with you on long jobs

Character line: Fetch: One way to close a door. I can learn that. | Buzz: One shape of cell, the whole hive. | Scoop: One way to fold every note. Tidy. | Ocho: One of each. My arms thank you. | Seeti: One pot shape. Stacks nicely.

- Next step: Today: at least ten action bars built differently. Tomorrow: one bottom bar, one main button
- Sheets: Today: 23 styles, four ways to close. Tomorrow: one sheet, title, one main button, Close
- Waiting: Today: spinners, skeletons, full screen holds, text swaps, a game. Tomorrow: a spinner in the button, or the character wait pose
- Empty: Today: 25 styles, some also showing errors. Tomorrow: the character, one line, one button
- Errors: Today: raw messages and load errors in empty styles. Tomorrow: what happened, one way out, the error pose
- Confirm: Today: browser boxes, inline questions, modals, three priced flows. Tomorrow: undo toast, or one sheet for paid or leaving
- Toasts: Today: 269 calls, lessons stacked 2.6 seconds apart. Tomorrow: one line, three seconds, one at a time
- Icons: Today: emoji and glyphs as icons. Tomorrow: one icon set, no emoji

#### More from the audit
- 16 stylesheets load on every page, including two left from a removed redesign.
- Five back button styles and seven popover styles.
- The feed card's main bar sits above the icons when there is a picture and below the text when there is not.
- Same tap, different destination: a fresh card opens the studio, the same work later opens the card page.
- Same label, different action: Send brief.

#### The kit rule
One top bar, one tab set, one bottom bar, one sheet, one menu, one toast, one empty state, one error state, four button kinds: main, quiet, link, icon.

Change type: Restyle. Sources: _research/product-audit.md section 5, shared/surface-map.md Before and after, shared/ia.md section 5.

### The card: 70 words to 19 {#a-4.the-card}

User moment: You scroll past a card because it looks like homework.

Answer: A closed card goes from roughly 60 to 90 words to about 19, with the thing first.

- The draft or photo is the card
- Headline names the product, verb first
- The rest opens inside the pick

Character line: Fetch: Fewer words. More picture. More wagging. | Buzz: Less text, more honey. | Scoop: Shorter gossip spreads faster. | Ocho: Fewer words means fewer arms needed to read it. | Seeti: Less garnish. More dish.

- Today: The closed card today. Agent name and time. A campaign line. A rank reason. First draft label. The ad headline and a copy line. Make the ad. Five icons. A status row. Lean into the rain smell your reviewers keep mentioning in your Monsoon candle ads this month. A 31 word sub. Meta ad, 3 pieces. A source line.
- Tomorrow: The closed card tomorrow. Ads, from your reviews. Run the Monsoon candle rain ad. 41 reviews mention the smell of rain. Make it.

- Screen t1:monday: Closed cards on Today
- Screen t4:all: See everything
- Screen p1:open: Everything else, inside the pick

The example is the sample candle store, not a real brand.

#### Where everything went
Plan, steps, margin note, proof, rows, the make chip, the AI answers line, connect lines and versions all move into the open pick, in a fixed order: the draft, Why this, the plan, Where to post.

#### How it ships
Restyle and Recompose: the closed card shows the existing title, the first sentence of the existing sub, the existing source line and the existing button. Add on: a card lint flags any title over 8 words or why over 12, for the team only. Risk, not this round: shortening what card generation writes is a Change core.

Source: shared/product-model.md section 10.

### Where every old place goes {#a-4.every-old-place}

User moment: You used the Deck every day. You want to know where it went.

Answer: Every one of the 309 places lands in one new home or leaves, and nothing you made is lost.

- Feed becomes Today
- Deck, Library and the bell fold into Work
- Five knowledge pages become What we know about you

Character line: Fetch: I buried every old thing in a new spot. I remember where. | Buzz: Every old cell moved to the new hive. | Scoop: I know where every old note went. Ask me. | Ocho: Every old thing got a new arm to sit on. | Seeti: Every old jar has a new shelf.

- Feed becomes Today
- Greeting tiles and the queue view becomes Need your yes. on Today
- The Deck becomes See everything with an area filter, and Work
- Library, Saved, the Jams list becomes Work
- The bell and its panel becomes New since you looked. at the top of Work
- The card page and its drawer becomes The open pick
- The jam pane and Jam v2 becomes Make it
- The round button and New jam becomes Start something new. in Work
- What we learned, Brand Book, fact sheet, rules, lessons becomes What we know about you. in Settings
- Heard, the watch page, Rivals, Products becomes Your store
- Plans list and play pages becomes The plan. in Your store
- Viewing as and the seat picker becomes Which of these do you handle
- Setup steps, check page, ready overlay, swipe tuner becomes First run. paste, sign in, read, reveal
- Account menu becomes Settings
- Pro plan sheet and measuring blocks becomes Removed. measuring returns in v3

**Where the 309 land**
- 33 First run
- 24 Today
- 13 Inside a pick
- 52 Make it
- 23 Hand it off
- 3 Brief page
- 13 Work
- 13 Your store
- 60 Settings
- 14 Email or notification
- 11 Staff only
- 9 Demo only
- 36 Unlinked, removed
- 5 Later

#### Removed from the product that ships
| Removed | Why | Replaced by | Stays underneath |
| --- | --- | --- | --- |
| Jam v2 | A second making space | Make it | The making engines |
| The jam pane on the card page | A third making space | Make it | The jam chat and its data |
| The card page, drawer and full page | Repeats the open pick | The open pick | Card data |
| The Deck | Repeats Today by area | See everything, Work | Card data |
| Library, Saved, Jams list | Repeat Work | Work | Saved and jam data |
| Queue view, greeting tiles | Repeat Need your yes | Need your yes | What counts as a yes |
| The bell and panel | Repeats Work | New since you looked | Notifications that deep link |
| What we learned and its sub pages | Repeat each other | What we know about you | Memory and facts |
| Heard, watch page, Rivals, Products | Repeat Your store | Your store sections | What the read collects |
| Setup, check page, ready overlay, swipe tuner, questions offer, welcome card | Repeat first run | Paste, sign in, read, reveal | The confirm call and the answers |
| Round button, New jam | Repeat Make it | Start something new | none |
| Viewing as, seat picker | Repeat Which of these do you handle | Which of these do you handle | The seat field, a risk to check |
| Pro carousel, plan sheet, measuring blocks | Not part of v0 | none | Data stays |
| Four brief formats, four link shapes | Repeats | One brief page | Old links redirect |

The 14 destinations add up to 309. Surfaces marked Unlinked are reachable by no one today and are read as removed. Sources: shared/surface-map.md Before and after, shared/ia.md section 6, shared/product-model.md section 3.

### What stays, and the order of change {#a-4.what-stays}

User moment: You are an engineer and you want to know what you are allowed to touch first.

Answer: Change goes safest first: words, look, navigation, Today, Make it, Hand it off, then the character and the add ons, while the core stays.

- Restyle and recompose before anything new
- Each add on behind its own switch
- Three risks listed, none done this round

Character line: Fetch: Bath first, tricks later. | Buzz: Clean the hive, then build new cells. | Scoop: Tidy the notes first. New gossip later. | Ocho: Untangle first. Then juggle. | Seeti: Clean the pot. Then cook.

1. Restyle words: One word set, the old name out, measuring and emoji out
2. Restyle look: Tokens, type, one button set, one sheet, one toast
3. Recompose navigation: Three tabs over existing views
4. Recompose Today: Need your yes and five picks over the ranked feed
5. Recompose Make it: Every entry opens the one Make it
6. Restyle Hand it off: One button, one who sheet over today's routes
7. Add on the character: Behind an off switch
8. Add on the game: Reveal, questions, first win, memory meter, Monday drop, each switched
9. Later: Brand switcher, schedule, let it run, How it went [Later]

**Risks, listed and not done**
- One brief format instead of four: Changes the brief format, a core part. [Later]
- Areas mapped onto today's seat field: Changes what ranking reads. [Later]
- What counts as Need your yes: Changes ranking. [Later]

#### The six parts that must not break
| Part | Where it lives in the build |
| --- | --- |
| The read | build.js, reader/index.js and its stages, the brand start route, the onboarding stream |
| Card generation | moves-engine.js, brief.js, cards-gen.js, card-plan.js, card-from.js |
| Ranking | feed-service.js score and order, member-tuning.js, value.js, and the client lists that define Need your yes |
| The making | remix.js, studio.js, drafts.js, media modules, finals, jams.js and brand memory |
| The brief format | jam-brief.js, handoff.js, team-brief.js, brief-status.js, Jam v2's brief |
| The share link | handoff.js signing, the /h/ routes, share tokens, Jam v2 links |

Also keep working: access rules and guests, the demo site with its Dummy tags, the read only connectors, two way Slack jams, the Shopify embedded entry. Everything in the front end folder is presentation over these and is safe to reshape.

Sources: _research/product-audit.md section 7, shared/product-model.md sections 8 and 9.

### Truth first: what the brief said and the build does {#a-4.truth-first}

User moment: You read an old brief and want to know which parts are still true.

Answer: In six places the build does something other than the brief said, and this book follows the build until the owner decides.

- Sign in comes before the read
- The ShopOS team really gets the brief
- Connections are real and read only

Character line: Fetch: I only fetch what is really there. | Buzz: Real flowers only. No plastic ones. | Scoop: Here is what really happens, no spin. | Ocho: I checked every arm. Here is what is true. | Seeti: What is actually in the pot. No menu lies.

- No sign in is needed to start becomes A work email sign in comes before the read. A personal email is refused and pointed at demo stores
- Heart a card and three more appear becomes One more card in that direction. Say: more like it appear, never a number
- Nothing is sent by the product becomes The ShopOS team really gets the brief by email. Your own team and freelancers get a copy, nothing sent
- Four seats becomes Five seats. Seats go away, so name none
- Connected accounts are not live becomes Real and read only on the live site since 16 October. Never imply posting or budget control
- Measuring is not done becomes Cut, but its words still show. Measuring is v3; the leftover words go in a Restyle

#### Also found
- There is no brand switcher. The server can list a person's brands but no screen asks for it. An agency person is invited to each brand separately.
- The handover pack is dated 15 October and describes features that have since changed.
- The Shopify start screen says the first read takes about half an hour.

The owner decides each difference. Until then, every page uses the words in the third column. Sources: _research/product-audit.md, Where today's build differs and section 2.6; shared/product-model.md section 0.

## A5 The four versions {#a-5}

v1 drafts. v2 posts. v3 measures. v4 runs ads. One power at a time.

### One power at a time {#a-5.ladder}

User moment: You like the drafts. You want to know if one day it will just do the work.

Answer: Each version adds one power on top of the last: drafts, then posting with your OK, then results, then ads inside your rules.

- Every level starts off
- You turn it up per area and channel
- Undo is always there

Character line: Fetch: Sit. Fetch. Drop it. Then the fancy tricks. | Buzz: Gather, store, share, then run the hive. | Scoop: First I gossip. Later I get trusted with keys. | Ocho: One more arm off the leash each version. | Seeti: One burner at a time. Never all four on day one.

**The ladder**
1. v1 Suggest: Reads, picks, drafts. You ship it or hand it off [Today]
2. v2 Prepare and schedule: Files ready per channel, posted at your time after your yes [Later]
3. v3 How it went: Results for what went live, feeding next week's picks [Later]
4. v4 Run within rules: Acts inside budget caps, topics and approval windows [Later]

- v1: Hand it off is the only exit. [v1]
- v2: Schedule it becomes a second exit. [v2]
- v3: Work grows a How it went column. [v3]
- v4: Let it run becomes the third exit. [v4]

#### Versions and the dial
| Version | Dial level | What happens | Status |
| --- | --- | --- | --- |
| v1 | Suggest | Reads, picks, drafts. You ship it yourself or hand it off | Today |
| v2 | Prepare, Schedule | Files ready per channel, posted with one click from connected accounts, or at your time after you approve | Prepare Next or Later, Schedule Later |
| v3 | How it went | Results for each pick that went live; results feed next week's picks | Later |
| v4 | Run within rules | It acts inside your limits, such as budget caps, topics and approval windows, with undo always available | Later |

The dial is set per area and per channel and starts at the lowest setting. Agencies can set it for each client. Need your yes becomes the control centre as the dial goes up.

Note: BRIEF.md names the dial levels; book/WRITERS.md names the versions. This book maps them as above. Sources: BRIEF.md section 3.6, book/WRITERS.md.

### v1: drafts and hands off {#a-5.v1}

User moment: You want help this week, but nothing touching your accounts.

Answer: v1 reads, picks, drafts and hands off, and never posts, sends, spends or measures.

- Connections are read only
- Hand it off is the only exit
- The ShopOS team can make the work for you

Character line: Fetch: I fetch. You throw. Nobody else touches the ball. | Buzz: I gather. You decide where the honey goes. | Scoop: I only look. Read only, every time. | Ocho: I draft with all eight. I post with none. | Seeti: I cook. You serve.

- Screen t1:monday: Today
- Screen m1:studio: Make it
- Screen h1:who: Hand it off
- Screen s5:rows: Read only connections

**In v1**
- Do: Read your store, reviews, ads, site and AI answers
- Do: Draft pictures, carousels, six second videos, voice and text
- Do: Copy a brief, open the place to post, or send it to the ShopOS team
- Never: Post, schedule, launch or pause anything
- Never: Move budget
- Never: Measure results or grade a pick

#### What v1 includes
| Thing | Status |
| --- | --- |
| The read, seven sources, about 3 to 4 minutes | Today |
| Ranked picks with sources and drafts | Today, five picks Next |
| Need your yes, story rings | Today |
| Make it with every version kept, real product photos | Today |
| Hand it off to me, my team, my agency or freelancer, the ShopOS team | Today routes, one button Next |
| Read only connections: Shopify, Meta Ads, Google Analytics, Google Ads, Klaviyo, Judge.me, Slack | Today on the live site since 16 October; simulated on the demo site |
| Your store: customers, rivals, AI search, what changed, the plan | Today, recomposed Next |

#### Groundwork for later, recommended for v0
Each is an add on and touches nothing that works: each pick stores its destination channel; the brief is also saved as structured data; a decision log of hearted, made and handed off; pick status is one field that can grow.

Sources: BRIEF.md sections 2 and 3.6, _research/product-audit.md, shared/product-model.md section 0.

### v2: posts and schedules, with your OK (from v2) {#a-5.v2}

User moment: The draft is ready and you do not want to copy and paste it into three apps.

Answer: In v2 a pick can be scheduled on your accounts after your yes, a second exit beside Hand it off.

- Every post waits for your yes
- Work grows Scheduled and Live
- Need your yes becomes the control centre

Character line: Fetch: Now I can drop the ball in the right yard. After you say so. | Buzz: Now I fly it to the right flower. On your waggle. | Scoop: Now I can pin the note up. Only with your nod. | Ocho: Now one arm can post. After you say yes. | Seeti: Now I can plate it. When you ring the bell.

1. A pick
2. Make it
3. Need your yes: post this at 7 on Thursday [Later]
4. Scheduled [Later]
5. Live [Later]

- Screen w1:later: Work with Scheduled, Live and How it went

#### What arrives
- Prepare: files ready per channel, posted with one click from connected accounts.
- Schedule: you approve, it posts at your time.
- Each pick gets a second exit, schedule it, beside hand it off.
- Work grows two columns after Handed off: Scheduled and Live.

#### What it needs from v1
The groundwork in v1: each pick stores its destination channel, and pick status is one field that can grow.

#### Open questions
- Which channels post first. Not decided in the sources.
- Whether new connection scopes are needed for posting; asking for posting access may trigger a fresh platform review.

Sources: BRIEF.md section 3.6, kit/screens.js w1 later state.

### v3: shows what worked (from v3) {#a-5.v3}

User moment: You posted five things last month. You want to know which one sold candles.

Answer: In v3 every pick that went live gets How it went, and those results shape next week's picks.

- A How it went column in Work
- Results feed next week's picks
- Progress in the game still never counts sales

Character line: Fetch: Now I can tell you which throw the pup actually caught. | Buzz: Now I count which flowers made the most honey. | Scoop: Now I hear what happened after. Juicy. | Ocho: Now I keep score with one arm. The others still draft. | Seeti: Now we taste what sold. Then cook more of it.

- Screen w1:later: How it went, in Work

- Today: Today's leftover words. We stop if, Target, Check on day N, grade B read after 14 days, Shipped and measured, What moved the number. Measuring was cut, its words were not.
- Tomorrow: v1 says nothing about results. The leftover words are removed in a Restyle. Results return only with v3, as How it went.

#### What arrives
A Results view, How it went, comes after Scheduled and Live. Results feed next week's picks.

#### What v1 does about it
Measuring was cut, but the build still shows measuring words on the card page, the jam pane, the learned page, notifications and the read only brief. The redesign removes them; they come back only in v3.

#### Rules that still hold
The game layer measures what you did and what we know about your store, never your sales. Every result shows its source.

#### Open questions
How results are attributed to a pick, how long after going live they are read, and what counts as a result per area. Nothing in the brief folder settles these.

Sources: BRIEF.md sections 3.5 and 3.6, _research/product-audit.md section 5 item 15.

### v4: runs ads within your rules (from v4) {#a-5.v4}

User moment: Your ads need tuning every day and you only look on Mondays.

Answer: In v4 it can launch and tune ads inside a budget and rules you set, with undo always there.

- You set caps, topics and approval windows
- Let it run is the third exit
- Undo is always available

Character line: Fetch: Now I can play fetch on my own. Inside the fence you built. | Buzz: Now I can tend the meadow. Inside the fence. | Scoop: Now I can act on a hunch. Within your rules. | Ocho: Now all eight arms work. Inside the tank you set. | Seeti: Now I run the stove. Your recipe, your budget.

- Budget caps: The most it may spend, per area and channel. [v4]
- Topics: What it may and may not say. [v4]
- Approval windows: When it must wait for your yes. [v4]
- Undo: Always available. [v4]

- Screen t2:open: Need your yes, the control centre

#### What arrives
Run within rules: it acts inside your limits, such as budget caps, topics and approval windows, with undo always available. Each pick has its third exit, let it run. Agencies can set the dial per client.

#### What stays true
Nothing runs outside rules the founder set. Need your yes stays the control centre. Every number has a source.

#### Open questions
Which ad platforms come first, the default limits, how undo works for money already spent, and who may change the rules on a team. None of these is in the sources yet.

Source: BRIEF.md section 3.6.

## A6 Twenty words to know {#a-6}

The words you will hear all over this book, explained like you are new.

### Five places {#a-6.places}

User moment: Someone says check Work, and you are new.

Answer: The product has three tabs, Settings, and one page outside the app: Today, Work, Your store, Settings, the Brief page.

- Today: what to do this week
- Work: what is being made and handed off
- Your store: what is going on out there

Character line: Fetch: Five rooms. I have sniffed all five. | Buzz: Five combs in the hive. I fly between them. | Scoop: Five places I keep notes. You only need three. | Ocho: Five places, five arms. Three spare. | Seeti: Five stations. One kitchen.

- Today: Need your yes, story rings, this week's five picks, See everything. [Today]
- Work: New since you looked, then Ideas, In the works, Handed off. [Today]
- Your store: Store health, what customers say, what rivals run, what AI search says, what changed, the plan. [Today]
- Settings: Behind your picture: what we know about you, team, connections, account. [Today]
- Brief page: Outside the app, no login: the brief, the files, Copy all, its status. [Today]

*Fetch:*
- Today becomes The doorstep
- Work becomes The porch
- Your store becomes Your patch
*Buzz:*
- Today becomes Today's flight
- Work becomes The hive
- Your store becomes Your garden
*Scoop:*
- Today becomes The dish
- Work becomes The case board
- Your store becomes The grapevine
*Ocho:*
- Today becomes On my arms
- Work becomes The desk
- Your store becomes Your waters
- Brief page becomes The clipboard
*Seeti:*
- Today becomes The pass
- Work becomes The rail
- Your store becomes The pantry

| Word | What it means | Retired words | Status |
| --- | --- | --- | --- |
| Today | The first tab: greeting, Need your yes, story rings, this week's picks, See everything | Feed, the queue view, greeting tiles | Recompose, Next |
| Work | New since you looked, then Ideas, In the works, Handed off | The Deck, Library, Saved, Jams list, the bell | Recompose, Next |
| Your store | Store health, What customers say, What rivals run, What AI search says, What changed, The plan | Heard, the watch page, Rivals, Products | Recompose, Next |
| Settings | What we know about you, Which of these do you handle, Team, Connections, Notifications and sound, Account | Account menu, Your feed | Recompose, Next |
| Brief page | The read only page outside the app for whoever ships the work | The full brief, read only, the ready to post page | Today |

Source: _docs/export/product-2/glossary.md. Character words: the dog, bee, raccoon, octopus and cooker system files.

### Five words for ideas {#a-6.ideas}

User moment: The book keeps saying pick, and you thought it was a card.

Answer: A pick is one of this week's five ideas, Need your yes is what only you can answer, and Why this is the reason, with sources.

- Pick: one of the five
- See everything: the rest, ranked
- Why this: three sourced lines, then the plan

Character line: Fetch: A pick is a ball I chose for you. | Buzz: A pick is the best flower of the week. | Scoop: A pick is the best bit of gossip this week. | Ocho: A pick is one thing in one arm. | Seeti: A pick is a special. The rest is the menu.

- Pick: One of the five ideas in this week's picks, a closed card until you tap it. [Next]
- This week's picks: The five ranked picks on Today, fresh on Monday. [Next]
- Need your yes: Yes or no questions only you can answer, with a count on the tab. [Today]
- See everything: Every other idea, ranked, with an area filter. [Next]
- Why this: Three lines with sources, then the plan in five steps at most. [Today]

*Fetch:*
- This week's picks becomes The drop
- Need your yes becomes Paws up
- See everything becomes The whole yard
*Buzz:*
- This week's picks becomes Best blooms
- Need your yes becomes Your nod
- See everything becomes The whole meadow
*Scoop:*
- This week's picks becomes This week's scoop
- Need your yes becomes Your nod
- See everything becomes The whole notepad
- Why this becomes The source
*Ocho:*
- This week's picks becomes Arms full
- Need your yes becomes One arm up
- See everything becomes The whole tank
*Seeti:*
- This week's picks becomes This week's specials
- Need your yes becomes Taste this first
- See everything becomes The full menu

| Word | What it means | Retired words |
| --- | --- | --- |
| Pick | One of the five ideas in this week's picks | card, call, decision, signal, move as a user word |
| Idea | Any idea beyond the five, and the first status of a piece of work | card, call, signal |
| This week's picks | The five ranked picks on Today, refreshed on Monday | today's 10, moves a morning |
| Need your yes | Yes or no questions only you can answer | On your board, Needs you, Needs your OK, Your call |
| See everything | The rest of the ideas, ranked, with an area filter | Find more, See the next 15 |
| Why this | The strategy behind a pick: three lines with sources, then the plan | moves, plays, playbooks, proofs, evidence |

Source: _docs/export/product-2/glossary.md, Ideas and picks.

### Five words for making {#a-6.making}

User moment: You want to change the draft and do not know which button keeps the old one.

Answer: You change the draft in Make it, try another take with New version, find every take in Versions and pass it on with Hand it off.

- New version never deletes the old one
- Heart means more like it
- Not for me means fewer like it

Character line: Fetch: Make it, fetch it again, keep every ball. | Buzz: Make honey, more honey, keep every jar. | Scoop: Scribble, scribble again, keep the stack. | Ocho: Ink it. Fresh ink. Keep every page. | Seeti: Cook. Another batch. Keep the stack.

- Make it: The one making space: the thing on one side, the chat on the other. Also the main button on a pick. [Today]
- New version: One more take on the thing being made. [Today]
- Versions: The strip of every version kept, the current one marked. [Today]
- Hand it off: The one button that passes a finished piece to whoever ships it. [Next]
- Heart and Not for me: More like this, or fewer like this. Later snoozes a pick. [Today]

*Fetch:*
- Make it becomes Chew on it
- New version becomes Another throw
- Versions becomes The pile
- Hand it off becomes Drop it
- Not for me becomes Leave it
- Later becomes Bury it
*Buzz:*
- Make it becomes Make honey
- New version becomes Fresh batch
- Hand it off becomes Pass the pollen
- Not for me becomes Fly past
- Later becomes Back in the comb
*Scoop:*
- Make it becomes The scribble
- New version becomes Scribble again
- Versions becomes The stack
- Hand it off becomes Pass the note
- Heart becomes Keep digging
- Not for me becomes Old news
- Later becomes Back pocket
*Ocho:*
- Make it becomes Ink it
- New version becomes Fresh ink
- Hand it off becomes Free an arm
- Heart becomes Stick it
- Not for me becomes Drop it
- Later becomes Under the desk
*Seeti:*
- Make it becomes On the stove
- New version becomes Another batch
- Versions becomes The stack
- Hand it off becomes Order ticket
- Heart becomes Seconds, please
- Not for me becomes Off the menu
- Later becomes Back burner

| Word | What it means | Retired words |
| --- | --- | --- |
| Make it | The one making space, and the main button on a pick | jam, studio, remix, stage, package, canvas, Jam v2, jam pane |
| New version | One more take | Redo it, Another take, Make it again, One more |
| Versions | Every version kept, current marked | History, Earlier takes |
| Hand it off | Passes a finished piece to whoever ships it | Send brief, Share the brief, Send the brief now, Share with my team, Hand it to the team, Send PDF, Brief a team |
| Heart | More like this. More picks like it appear, never a number | Save for later, Saved, Keep |
| Not for me | Fewer like this | Not interested, Less like this, Show fewer, Remove |
| Later | Snooze a pick | Remind me tomorrow |

Source: _docs/export/product-2/glossary.md, Making and handing off.

### Five words for what sits behind it {#a-6.behind-it}

User moment: Someone says the read and the areas, and you nod without knowing.

Answer: Reading your store is how it learns, What we know about you is what it keeps, areas sort the ideas and the week sets the pace.

- Five areas: social, ads, website, AI search, email
- What we know about you lives in Settings
- Today, Next, Later say what is real

Character line: Fetch: I sniff the whole store first. Then I remember everything. | Buzz: I visit every flower first. Then I remember the way. | Scoop: I rummage first. Then I keep notes on you. | Ocho: I read with all eight, then I grip what matters. | Seeti: I cook the whole store first. Then I keep the recipe.

- Reading your store: Seven sources tick by in about 3 to 4 minutes: store, brand, catalog, reviews, ads, site, AI answers. [Today]
- What we know about you: Facts with sources, house rules, tell us something, share your brand book. [Today]
- Areas: Social posts, Ads, Website, AI search, Email and WhatsApp. Tags and filters only. [Next]
- The week: We read your store, you pick, you make, someone ships. Then it resets. [Next]
- Today, Next, Later: Exists now, recommended for v0, after launch.

*Fetch:*
- Reading your store becomes Sniffing round
- What we know about you becomes The scent
*Buzz:*
- Reading your store becomes Buzzing round your store
- What we know about you becomes What sticks
*Scoop:*
- Reading your store becomes The rummage
- What we know about you becomes My notes on you
- Which of these do you handle becomes Your beat
*Ocho:*
- Reading your store becomes Eight arms reading
- What we know about you becomes Grip
*Seeti:*
- Reading your store becomes Cooking your store
- What we know about you becomes House recipe
- Which of these do you handle becomes Your stations

- Screen s2:know: What we know about you
- Screen s3:areas: Which of these do you handle

#### The five areas and the question each answers
| Area | Question |
| --- | --- |
| Social posts | What should I post this week |
| Ads | What ad should I run next |
| Website | Why are visitors not buying |
| AI search | Does ChatGPT recommend me |
| Email and WhatsApp | How do I get customers back |

Areas are tags and filters, not the story. The story is get found, get chosen, get them back. What customers say and what rivals run are sources that feed every area. Which of these do you handle lets you pick several areas and replaces seats; it is Next.

#### Status words
Idea, In the works, Handed off. Handed off carries one sub line: Received, In progress, Needs something from you, Delivered.

Sources: BRIEF.md section 3.3, _docs/export/product-2/glossary.md.

### Words we stopped saying {#a-6.retired}

User moment: You still say jam and plays in meetings. Everyone else says something else.

Answer: If you hear an old word, swap it for the one plain word, and never write the old product name.

- Jam is now Make it
- Plays and moves are now Why this
- Seats are now Which of these do you handle

Character line: Fetch: Old tricks, new names. Same good dog. | Buzz: Old flowers, new names. Same honey. | Scoop: Old words go in the back pocket. For good. | Ocho: Old words dropped. My arms feel lighter. | Seeti: Old recipe names off the menu.

- jam, studio, remix becomes Make it
- moves, plays, playbooks becomes Why this
- card, call, decision becomes Pick or idea
- Send brief, Share the brief becomes Hand it off
- Redo it, Another take becomes New version
- History becomes Versions
- Saved, Save for later becomes Heart
- Not interested, Less like this becomes Not for me
- Remind me tomorrow becomes Later
- Memory, Learned, Fact sheet, Brand Book becomes What we know about you
- seat, Viewing as becomes Which of these do you handle
- Heard becomes What customers say
- competitors, Popular ads becomes What rivals run
- AI visibility, AI answers as an area becomes AI search
- Drafting, Brief shared, Done becomes In the works, Handed off
- the bell, notifications panel becomes New since you looked
- Reset, Start fresh becomes Start again
- build crew becomes the ShopOS team
- agents becomes the character
- the old product name becomes nothing, until the name is chosen

Never show vendor or model names to a founder. Never write the old product name; until a name is chosen, designs carry a wordmark slot. The banned claim words are listed in part G.

Change type for every swap: Restyle. Sources: shared/product-model.md section 4, _docs/export/product-2/glossary.md, BRIEF.md section 1.

# B. Customers and business

Who we serve, what hurts, and how this becomes a business.

## B1 The problem {#b-1}

What a small store owner's Monday really looks like, before us.

### A Monday before us {#b-1.monday}

User moment: It is Monday. Orders need packing, and you still do not know what to post this week.

Answer: A small store owner is the whole marketing team, so marketing happens last, in whatever time is left.

- One person, five marketing jobs, no plan
- Every idea starts from a blank page
- Hand offs live in chat threads

Character line: Fetch: I have seen this Monday. Nobody threw a single ball. | Buzz: Five flowers to visit and one bee. That is the whole problem. | Scoop: Psst. Your reviews have been talking all week. Nobody listened. | Ocho: You did eight jobs with two arms. I counted. | Seeti: No plan, no pot on the stove. Of course nothing whistled.

**A sample week, before**
- Mon: Packing orders. Means to plan the week. Does not.
- Tue: 40 new reviews. Nobody reads them. Sample
- Wed: A rival ad shows up. Screenshot dropped in the team group
- Thu: Caption at midnight. Written tired, posted anyway
- Fri: Same ad as last month. Nobody had time for a new one
- Sat: Festival in two weeks. Still no plan (the turn)
- Sun: Next week, for sure. The list moves to Monday again

## What the week looks like

The founder of a small online store sells, packs, answers customers and runs marketing. Marketing has no fixed slot, so it gets the tired hours. The sample week above is invented to show the shape, and is marked Sample.

## The pattern under it

- No plan for the week, so each day reacts to whatever turned up.
- The useful facts already exist: reviews, past posts, ads that ran, what rivals run, what AI search says. Nobody has time to read them.
- Ideas start from a blank page, so they take long and come out generic.
- When an idea does get made, the hand off to a designer or freelancer is a voice note and three screenshots.
- Festivals and launches arrive faster than the plan.

## How the book uses this page

Every page in part B starts from this Monday. The product answers it with one weekly shape: we read your store, you pick, you make, someone ships, then the week resets. See shared/product-model.md section 1.

## Source

Audience pains from _docs/export/raccoon/marketing.md and _docs/export/octopus/10-marketing.md, both written as Samples. Replace them with real words from design partner interviews, with permission, before any outside use.

### Five questions with no one to ask {#b-1.five-questions}

User moment: You have a question for every channel and no specialist for any of them.

Answer: Every store owner carries the same five questions each week, and each one normally needs a different specialist.

- Social posts, ads, website, AI search, email
- Each area has its own expert and its own tool
- The founder is the only one who sees all five

Character line: Fetch: Five questions. I can fetch five answers. One at a time, though. | Buzz: Five flowers, one hive. I do the rounds so you do not. | Scoop: Five questions. I have gossip for every one of them. | Ocho: Five questions, eight arms. I have three arms spare for snacks. | Seeti: Five dishes on one stove. Somebody has to run the kitchen.

**The five areas, in founders' words**
- Social posts: What should I post this week?
- Ads: What ad should I run next?
- Website: Why are visitors not buying?
- AI search: Does ChatGPT recommend me?
- Email and WhatsApp: How do I get customers back?

**The story under the five**
1. Get found: social posts, ads, AI search
2. Get chosen: website, ads
3. Get them back: email and WhatsApp

## The five areas

| Area | The founder's question | Who usually answers it |
| --- | --- | --- |
| Social posts | What should I post this week? | The founder, a social freelancer or an agency |
| Ads | What ad should I run next? | The founder, a performance freelancer or an agency |
| Website | Why are visitors not buying? | Often nobody |
| AI search | Does ChatGPT recommend me? | Almost always nobody |
| Email and WhatsApp | How do I get customers back? | The founder, when there is time |

The area names are tags and filters only. They are never the story and never characters. The story is get found, get chosen, get them back. The mapping of areas to the three beats above is our working version; a pick can serve more than one.

What customers say and what rivals run feed every area. They are sources, not areas.

## Source

The owner's brief 3.3. Colours on the cards are the five agent colours, allowed as small area tags only.

### The answers are already in the store {#b-1.already-there}

User moment: You suspect the good ideas are somewhere in your reviews. You have never had an afternoon to look.

Answer: Most of what a store needs to say is already in its own reviews, pages and ads, waiting for someone with time to read it.

- Reviews hold the words customers use
- AI answers show if you are named
- Long running rival ads show what sells

Character line: Fetch: It was under the sofa the whole time. Like my ball. | Buzz: The nectar was in your own garden. You just never had time to land. | Scoop: I only read public pages. Turns out that is plenty. | Ocho: One arm reads reviews, one reads ads, one reads AI answers. The rest panic. | Seeti: The ingredients are in your own pantry. Nobody opened it.

**Two places the read looks, sample candle store**
- Screen y2: What customers say, themes with counts
- Screen y4: What AI search says, an example finding

## What sits unread in a typical store

| Where | What it holds | Where it lands in the product | Status |
| --- | --- | --- | --- |
| Reviews | The exact words customers use, what they love, what annoys them | What customers say, and Why this on a pick | Today |
| Product pages and the catalog | What the store claims, what it leaves out | Picks for Website, the read | Today |
| Past ads | What already ran and for how long | The read, What rivals run | Today |
| Rival ads that ran a long time | A hint of what sells in the category | What rivals run, watcher cards | Today |
| AI answers | Whether ChatGPT, Gemini, Perplexity and Claude name the store | What AI search says | Today |
| Price, stock and new products | What changed this week | What changed | Today |

## Allowed figure

The brand named in 12 of 32 AI answers is used only as an example finding from one brand's read. Never as an average, never as a promise.

## Sample

The y2 screen shows a sample candle store. Its counts, such as 41 mentions of the smell of rain, are Sample figures from the kit.

## B2 Ideal customer {#b-2}

The ICP: the store we are built for, and the ones we are not.

### The store we are built for {#b-2.icp}

User moment: You want to know if this is for a store like yours before you paste anything.

Answer: A founder led online brand that sells its own products from its own store, where the founder or one marketer runs the marketing.

- Its own products, its own store link
- Reviews, photos and some ads already exist
- One to a few people decide the marketing

Character line: Fetch: Your own store, your own stuff, you throw the ball. Perfect. | Buzz: Your own garden, your own flowers. That is where I buzz best. | Scoop: You have reviews and pages? Then I have something to read. | Ocho: Small team, big list? Pass it here. My arms are free. Mostly. | Seeti: You bring the ingredients. I bring the pressure.

**Six traits of a good fit**
- Sells its own products: Its own brand, not resold goods [Today]
- Has a store link: The read starts from one link [Today]
- Has reviews and photos: The read and the drafts need them [Today]
- Runs some ads or posts: So there is something to build on [Today]
- A small team: The founder decides, one or two make [Today]
- A busy season ahead: A festival or launch in the next weeks [Today]

## The ideal customer, in one paragraph

A founder led brand that sells its own products online from its own store. It has a catalog with photos, reviews on the site, an Instagram account and at least some ads. The founder is the marketing team, or has one marketer and a freelancer or two. Marketing is decided weekly or not at all. A festival or a launch is always coming.

## Traits, why each matters, and how the read tells

| Trait | Why it matters | How the read tells | Evidence |
| --- | --- | --- | --- |
| Sells its own products | Ideas need a product to name | Catalog and brand sources | Working guess, confirm with design partners |
| Has its own store link | The product starts from a pasted link | Paste | Built in |
| Reviews and photos | Why this needs a source, Make it uses real product photos | Reviews and catalog | Built in |
| Some ads or posts | Picks build on what already ran | Ads source | Working guess |
| Small team | Need your yes and Hand it off fit one decider and a few makers | Onboarding question Which of these do you handle | Working guess |
| A busy season | Festival cards and launches give the week a reason | Festival cards | Today |

## Where we start

The sample store ships across India, prices are in rupees and festival cards exist in the build. Whether India stays first is open: see How to choose in docs/choose.js. Store size limits are not set. Team size of one to ten is a working guess to test with design partners, not a rule.

## Today and tomorrow

| Version | Who it fits |
| --- | --- |
| v1 | The above, signed in with a work email at the store's own domain |
| v2 | Plus stores that want posts scheduled after their yes |
| v3 | Plus stores that want to see what worked |
| v4 | Plus stores that want ads run inside rules and a budget they set |

### How to tell fit in one read {#b-2.fit-in-one-read}

User moment: You have pasted your link. You want to know quickly if the ideas will be any good for you.

Answer: The seven sources of the read show fit before the first pick: thin sources mean thin ideas.

- Seven sources tick by in about 3 to 4 minutes
- Each source has a strong and a weak sign
- Weak signs are said plainly, never hidden

Character line: Fetch: Seven sniffs and I know if this is a good park. | Buzz: Seven flowers in four minutes. I know the garden by then. | Scoop: Seven bins, I mean sources. I go through every one. | Ocho: Seven sources, eight arms. One arm stays free to wave. | Seeti: Seven ingredients into the pot. You smell fit by the first whistle.

**The read, live**
- Screen f4: Reading your store, seven sources

**Strong and weak signs per source**
| Source | Strong fit | Weak fit |
| --- | --- | --- |
| Store | A real store link that loads | A page behind a password |
| Brand | A clear story and voice | No about page, no voice |
| Catalog | Own products with photos | Resold goods, no photos |
| Reviews | Dozens with words, not stars only | None, or stars only |
| Ads | Some ads running or run | None ever |
| Site | Product pages with copy | One page, no detail |
| AI answers | Named sometimes, or a clear gap | Category too small to ask about |

## Rule

A weak source never stops the read. It makes the ideas thinner, and the product should say which source was thin in plain words. This saying is Next; today the read shows each source ticking with its findings.

## Status

The seven sources and about 3 to 4 minutes are Today, per the owner's brief 2. The strong and weak signs above are our working list. Confirm against design partner reads.

## Open questions

- Is there a minimum number of reviews below which picks get noticeably worse? Measure across design partner reads.
- Should the read warn before it starts when a store is clearly a poor fit? A Change core risk if it touches the read, so list only.

### Who we are not for, yet {#b-2.not-for}

User moment: You run something a little different and wonder if you will be turned away.

Answer: Some stores cannot get a good read today, and we say so early and kindly, with what changes later.

- No own store link, no read
- Personal emails are refused today
- Many brands in one login is Later

Character line: Fetch: Not every park has balls. I say so and wag anyway. | Buzz: No flowers yet? I will come back when they bloom. | Scoop: No public pages means no gossip. I do not peek behind doors. | Ocho: I say yes to everything. These, I have to say not yet. It hurts. | Seeti: No ingredients, no dish. Come back when the pantry is stocked.

- Do: Founder led brands with their own store
- Do: In house marketers at a growing brand
- Do: Specialists inside the brand
- Do: Agencies and freelancers, invited per brand today
- Never: Marketplace only sellers with no store link
- Never: Services, apps and anything with no products
- Never: Stores still behind a password page, outside their team
- Never: People on a personal email, today

**What a personal email sees today**
- Screen f3: This store is for its own team

## Not for, and why

| Who | Why not today | What would change it | Status |
| --- | --- | --- | --- |
| Marketplace only sellers | The read starts from a store link | A marketplace read | Not planned |
| Services and apps | Picks name products | A different card model, a Change core | Not planned |
| Closed stores, for outsiders | The closed store gate keeps them team only | Nothing, by design | Today |
| Personal or other company emails | The sign in refuses them and points to demo stores | The Next reveal shows one finding before sign in | Today refusal, reveal Next |
| Agencies with many brands | No brand switcher; each brand needs its own invite | Brand switcher | Later |
| Large brands with a full team and agency roster | Possible fit, untested | Design partner learning | Open |

## Source

_research/product-audit.md 2.1, 2.6 and hotspot 1: the sign in comes before the read and refuses Gmail and other companies; there is no brand switcher. shared/product-model.md 0.

## B3 Personas {#b-3}

Seven people who open the product, with their jobs, worries and a great week.

### Seven people, one product {#b-3.all-seven}

User moment: You want to know who else on your team will open this, and what each of them sees.

Answer: Seven people open the product, and what they do decides what they see: decide, make or ship.

- Deciders see Need your yes first
- Makers land in Work
- Shippers live on the brief page

Character line: Fetch: Seven people. I fetch something different for each one. | Buzz: A hive needs a queen, workers and the odd visitor. So does a store. | Scoop: Seven people, seven kinds of gossip. I keep their notes apart. | Ocho: Seven people and eight arms. Finally the maths works. | Seeti: Seven people in my kitchen. Everyone gets a station.

**The seven, with their default place. Sample names**
- Asha, the founder: Is the marketing team. Weekly, Monday. Lands on Today [Today]
- Sam, the in house marketer: Plans, drafts, tracks. Daily. Lands on Work [Today]
- Meera, the specialist: Handles social posts and ads. A few times a week. Today, filtered [Today]
- Karan, the agency: Runs many brands. Daily. Invited per brand today [Today]
- Tara, the person shipping: Opens a brief link on her phone. No login [Today]
- The co founder, the approver: Says yes or no. Now and then [Today]
- The ShopOS team: Runs demos, findings and briefs. Daily. Lands on Work [Today]

## The seven

| Person | Sample name | How often | Default place | Part they play |
| --- | --- | --- | --- | --- |
| Founder who is the marketing team | Asha Rao, Sample candles | Weekly, Monday, about ten minutes | Today | Decide |
| In house marketer | Sam | Daily | Work | Decide and make |
| Specialist: ads, social, website or email | Meera Iyer, Kabir Shah | A few times a week | Today, filtered to their areas | Make |
| Agency or freelancer with several brands | Karan | Daily | Today, per brand | Make and ship |
| Person who opens a brief link | Tara, a designer at Kiln studio | Per brief | The brief page | Ship |
| Approver such as a co founder | Asha's co founder | Now and then | Need your yes | Decide |
| The ShopOS team | the ShopOS team | Daily | Work, every brand, staff badge | Ship and help |

Seats go away in the new model. The onboarding question Which of these do you handle allows several answers and replaces them.

## Sample names

All names are Sample, taken from the screen kit and the marketing books. None is a real customer.

## Source

The owner's brief 3.2, shared/product-model.md 6.

### Asha, the founder who is the marketing team {#b-3.founder}

User moment: Asha has ten minutes on Monday between packing orders and a supplier call. Sample

Answer: Asha wants the week decided in about ten minutes, with something already drafted to start from.

- Opens on Monday, decides, leaves
- Worries that AI ideas are generic
- A great week: three picks handed off by lunch

Character line: Fetch: Asha throws, I fetch. Ten minutes, five ideas, lots of wagging. | Buzz: Asha gets five flowers and a waggle pointing at the best one. | Scoop: Psst, Asha. Forty one reviews say the same thing. Want it? | Ocho: Asha has two arms. I lend her eight on Mondays. | Seeti: Asha, three whistles and your specials are ready. Taste and serve.

**Where Asha lands**
- Screen t1: Today on Monday, five picks

**A great week for Asha, Sample**
- Mon: Picks in ten minutes. Hearts two, says Not for me to one (the turn)
- Tue: Make it. A new version of the rain ad
- Wed: Hand it off. To Tara, the designer
- Thu: Need your yes. One photo question, answered in a tap
- Fri: Caught up. Nothing waiting until Monday

## Asha, Sample

| | |
| --- | --- |
| Who | Founder of Sample candles, saanjh.in. Runs product, orders and marketing |
| Team | Meera handles social posts and ads, Kabir the website, Tara designs freelance |
| When | Monday morning, about ten minutes, on her phone |
| Jobs | Decide the week, approve what needs her, keep the team busy |
| Worries | AI ideas are generic. Losing a weekend to marketing. Saying something untrue about the product |
| What she sees | Need your yes, five picks, Make it, Hand it off |
| A great week | Three picks handed off, one festival idea started early, no midnight captions |
| Her objection | AI ideas are generic |
| Our honest answer | Every pick starts from her own reviews and pages, with the source on it. Not for me teaches the feed |

## Today and tomorrow

| Version | What changes for Asha |
| --- | --- |
| v1 | Picks, drafts, hand off |
| v2 | She can approve a post to go out at a time she picks |
| v3 | She sees how each handed off pick went |
| v4 | She sets an ad budget and rules, and it runs inside them |

Source: the owner's brief 3.2, octopus and raccoon marketing books for the objection and answer, both Samples.

### Sam, the in house marketer {#b-3.marketer}

User moment: Sam is the first marketing hire and has to defend every idea to the founder. Sample

Answer: Sam wants ideas with a source, so the plan is easy to argue for in the founder meeting.

- Opens every day, lives in Work
- Worries the founder will not trust a tool
- A great week: plan agreed on Monday, no rework

Character line: Fetch: Sam asks where I found it. I always bring the receipt. | Buzz: Sam wants to know which flower. Every pollen grain is labelled. | Scoop: Sam likes sources. I like sources. We get on. | Ocho: Sam plans with two arms and tracks with the other two. I help with six. | Seeti: Sam runs the line. I just keep the specials coming.

**Where Sam lands**
- Screen w1: Work, ideas, in the works, handed off

## Sam, Sample

| | |
| --- | --- |
| Who | First marketing hire at a growing brand |
| When | Daily, on a laptop, with Work as home |
| Jobs | Plan the week, draft, chase the team, report to the founder |
| Worries | The founder will not trust a tool's ideas. Spending Monday deciding and Friday explaining |
| What Sam sees | Today and Work, every brief and link |
| A great week | The plan agreed on Monday, every pick traceable to a source, no rework |
| Objection | I already have a planning process |
| Honest answer | Keep it. Use the five picks as a drafted starting point with sources you can show. Need your yes puts the owner's calls in one place |

Later: Work grows Scheduled and Live columns in v2 and How it went in v3.

Source: raccoon and octopus marketing books, audiences and objections, Samples.

### Meera, the specialist {#b-3.specialist}

User moment: Meera only does social posts and ads. She does not want the website ideas in her way. Sample

Answer: A specialist wants only their areas, ready to make.

- Picks Which of these do you handle once
- Today is filtered to those areas
- Makes in Make it, hands back to the founder

Character line: Fetch: Meera likes the ad balls. I only fetch those for her. | Buzz: Meera visits two flowers. I stop showing her the other three. | Scoop: Meera covers social and ads. I keep the website gossip for Kabir. | Ocho: Two arms for Meera, the rest busy elsewhere. Everyone wins. | Seeti: Meera has two stations. I only shout orders for those.

**Meera's set up and Make it**
- Screen s3: Which of these do you handle
- Screen m1: Make it, with Meera in the chat

## Meera, Sample

| | |
| --- | --- |
| Who | Handles social posts and ads at Sample candles. Kabir Shah does the website |
| When | A few times a week |
| Jobs | Pick up her part, make it, get a yes |
| Worries | Too many ideas outside her areas. Redoing work the founder already rejected |
| What she sees | Today filtered to her areas, Make it, Work |
| A great week | Two ads made from picks, one carousel, one yes from Asha |

## Today and tomorrow

Today the build has seats that re-rank and re-word cards. The new model replaces them with Which of these do you handle, tagged Next. Mapping it onto today's seat field changes ranking input, so it is listed as a risk in shared/product-model.md 8.

### Karan, the agency or freelancer {#b-3.agency}

User moment: Karan runs twelve small brands. Every Monday he needs twelve plans. Sample

Answer: An agency wants a drafted Monday for every client and briefs that make them look sharp.

- Twelve clients, twelve Mondays
- Worries a tool makes them look replaceable
- Many brands in one login is Later

Character line: Fetch: Twelve clients? Twelve balls. I have been training for this. | Buzz: Twelve gardens. I need a bigger map and more wings. | Scoop: Twelve stores worth of gossip. Karan, I may need a bigger notepad. | Ocho: Twelve clients, eight arms. Karan, we will talk. | Seeti: Twelve kitchens. One cooker. I am going to need more whistles.

**What Karan gets, today and later**
- Screen h3: The brief page he can show clients
- Screen x3: Brand switcher, Later

## Karan, Sample

| | |
| --- | --- |
| Who | Runs an agency or works freelance for many small brands |
| When | Daily |
| Jobs | A plan per client, drafts to show, briefs for his team |
| Worries | Clients will think a tool did his job. Logging in twelve times |
| What he sees today | Each brand on its own, after an invite to each one |
| What he sees later | A brand switcher across all his brands, and the dial set per client |
| Objection | Will it make me look replaceable? |
| Honest answer | It drafts; you decide and ship. The brief is yours to send. The read gives your team a head start, your judgment ships it |

## The build today

There is no brand switcher. An agency person must be invited to each brand separately, then reach each by its own address. Source: _research/product-audit.md 2.6. The brand switcher is the only real build item for agencies and is tagged Later.

### Tara, the person who opens the brief {#b-3.shipper}

User moment: Tara is a freelance designer. A link arrives in a chat. She opens it on her phone between jobs. Sample

Answer: The person shipping wants one page with the brief, the files and a copy all button, with no login.

- Opens a read only link, phone first
- Never needs an account
- Sees the character only as a tiny sign off

Character line: Fetch: Tara gets the stick, the whole stick and nothing but the stick. | Buzz: Tara gets the honey jar. No hive tour required. | Scoop: Tara gets my note, folded neatly. No questions asked. | Ocho: Tara gets the clipboard. I keep my arms out of her way. | Seeti: Tara gets the order ticket. Clean, numbered, no shouting.

**The page Tara opens**
- Screen h3: Brief page, read only, no login

## Tara, Sample

| | |
| --- | --- |
| Who | A designer, editor or ads freelancer. Not on the store's team account |
| When | Per brief, usually on a phone |
| Jobs | Understand what to make, grab the files, ship it |
| Worries | Missing context, chasing the founder for a photo, a link that asks her to sign in |
| What she sees | The numbered brief: what, why, the words, where, by when, the files, Copy all |
| A great week | Two briefs, zero follow up questions |

## The build today

The read only brief page works without a login. Old brief links without the full flag redirect into a sign in, which is a known trap. Source: _research/product-audit.md 2.5. Old brief link forms must keep working: shared/product-model.md 9.

### Who onboards, and how each one starts {#b-3.who-onboards}

User moment: You are about to bring this into your store. You want to know how you, your team and your agency each get in.

Answer: Four ways in: the founder pastes a link, a teammate accepts an invite, an agency is invited per brand, and a Shopify store installs it from its admin.

- The founder starts the read and owns the store
- Teammates and agencies join by invite
- A Shopify install starts with the store filled in

Character line: Fetch: Four doors into the park. I wait at every one with a ball. | Buzz: Four ways into the hive. Same honey inside. | Scoop: Four ways in. I note who came through which door. Habit. | Ocho: Four doors and I am holding all of them open. Come in. | Seeti: Four ways into my kitchen. Wash your hands, all of you.

**Four ways in**
1. Founder: Paste, sign in with work email, watch it read [Today]
2. Teammate: Invite email, join, land on Today [Today]
3. Agency: Invited per brand, one by one [Today]
4. Shopify install: Store filled in from the admin [Today]

**Two front doors**
- Screen f1: Paste your store
- Screen f1s: Paste your store, inside Shopify

## Who onboards, today and tomorrow

| Who | How they start Today | What they skip | Tomorrow | Status of tomorrow |
| --- | --- | --- | --- | --- |
| Founder | Paste the store link, Build my feed, sign in with a work email at the store's domain, watch the read | Nothing: they meet every first run screen | Paste, sign in, watch it read with three quick questions, the reveal, then the first win | Questions as a game, reveal and first win bar are Next |
| Invited teammate | An invite email opens the join page, then the brand | The read, the check page, setup | Lands on Today with Which of these do you handle as one question | The question is Next |
| Agency or freelancer | Invited to each brand separately, then reaches each by its own address | The read for brands already read | A brand switcher across their brands, the dial set per client | Later |
| Shopify install | The store is filled in from the Shopify admin, then Build my feed | Typing the link | Same steps as the founder after Build my feed | Today |
| Person shipping | Opens a brief link | Everything: no login | Same | Today |

## Today's first run, for the founder

About 11 screens or overlays and up to 14 decisions before the first card, with six different skip labels. Source: _research/product-audit.md 2.1. The Shopify home still says the first read takes about half an hour, a third start screen with its own copy: audit row 15. The new model folds the extra screens into one path: shared/product-model.md 2.

## Rules

- A personal email or another company's email is refused today and pointed to demo stores. The Next reveal shows one finding before sign in.
- Invited teammates never repeat the store questions the founder already answered.
- Every step and screen of onboarding lives in d-5. The onboarding funnel the team counts lives in j-1.

### The approver and the ShopOS team {#b-3.approver-and-team}

User moment: Your co founder only wants to sign off, and you wonder who at ShopOS can see your brand.

Answer: The approver gets one question, yes or no, and the ShopOS team sees every brand in one place to run briefs and help.

- Approver sees Need your yes only
- The ShopOS team sees every brand with a staff badge
- Both use the same app as everyone else

Character line: Fetch: The approver says yes. I wag. Simple. | Buzz: One nod from the queen and the hive moves. | Scoop: The approver gets one question. I save the long gossip for later. | Ocho: One arm up for a yes. The ShopOS team holds the other seven. | Seeti: The approver tastes, the ShopOS team cooks. I supervise loudly.

**What each one sees**
- Screen t2: Need your yes, for the approver
- Screen w1: Work, for the ShopOS team

## The approver

| | |
| --- | --- |
| Who | A co founder or partner who signs off on money, photos or claims |
| When | Now and then |
| What they see | Need your yes only: a question of 10 words at most, what happens either way, Yes and Not now |
| Worries | Being asked too often. Approving something they did not understand |

## The ShopOS team

| | |
| --- | --- |
| Who | The people behind the product who run demos, findings and briefs |
| When | Daily |
| What they see | Every brand, a staff badge, Work as home |
| Today | When a founder hands off to the ShopOS team, the team really gets the brief by email and makes the work |

Source: shared/product-model.md 0 and 6, _research/product-audit.md 2.4.

## B4 Jobs to be done {#b-4}

What people hire us for, in their own words.

### The main job {#b-4.main-job}

User moment: When Monday comes, you want the week decided and half made, so you can get back to running the store.

Answer: People hire us to turn their own store into this week's marketing, decided and drafted.

- Know what to do this week
- Have something to start from
- Get it to whoever ships it

Character line: Fetch: The job is simple. You throw Monday, I bring back a week. | Buzz: The job: find the best flower, dance the way to it. | Scoop: The job is reading everything so you do not have to. | Ocho: The job is eight jobs. I took all of them. Obviously. | Seeti: The job: raw store in, cooked week out.

**The main job, in four parts**
1. Know what to do: five picks with a reason [Today]
2. Have a start: a first draft on most picks [Today]
3. Get it shipped: one hand off [Today]
4. Know it worked: how it went [Later]

## Job statement

When Monday comes and I have no marketing plan, I want this week's ideas decided and drafted from my own store, so I can hand them to whoever ships and get back to running the business.

## Parts of the job and what does it

| Part | Today | Tomorrow |
| --- | --- | --- |
| Know what to do | This week's picks with Why this | Picks shaped by what worked, v3 |
| Have a start | First drafts in Make it, every version kept | Same |
| Get it shipped | A numbered brief and a read only link; the ShopOS team gets the brief when it is for them | Posts and schedules with your yes, v2 |
| Know it worked | Not done today | How it went, v3 |

The job is weekly. A day is the wrong unit: the owner's brief 3.5.

### Jobs, person by person {#b-4.jobs-by-person}

User moment: Each person on your team hires the product for a slightly different reason.

Answer: Each of the seven people has one job they would say out loud.

- Written as when, I want, so I can
- Words are Samples until interviews
- Each job maps to one place in the product

Character line: Fetch: Seven people, seven throws. I never drop one. | Buzz: Each bee in the hive has a job. Mine is dancing. | Scoop: I asked around. Quietly. These are the jobs. | Ocho: Seven jobs. I assigned myself to all of them. Again. | Seeti: Every station has its order. I read them all out.

**One job each, Sample wording**
- Founder: When Monday comes, I want the week decided in ten minutes, so I can run the store.
- In house marketer: When I plan, I want ideas with sources, so the founder says yes faster.
- Specialist: When I sit down to make, I want only my areas, drafted, so I start from something.
- Agency: When a client asks what is next, I want a drafted plan ready, so I look sharp.
- Person shipping: When a brief arrives, I want everything on one page, so I never chase anyone.
- Approver: When something needs me, I want one clear question, so I answer in a tap.
- The ShopOS team: When a brief lands, I want the full context, so I make the right thing first time.

## Where each job lands

| Person | Job | Where in the product | Status |
| --- | --- | --- | --- |
| Founder | Decide the week | Today, five picks, Need your yes | Today, five picks as a Recompose |
| In house marketer | Defend ideas | Why this with sources | Today |
| Specialist | Make only my part | Which of these do you handle, Make it | Make it Today, the question Next |
| Agency | A plan per client | Today per brand, brand switcher | Per brand Today, switcher Later |
| Person shipping | Everything on one page | The brief page | Today |
| Approver | Answer in a tap | Need your yes | Today |
| The ShopOS team | Full context | Work, the brief by email | Today |

All job wording is Sample. Replace with real words from design partner interviews, with permission.

### The small jobs inside the big one {#b-4.small-jobs}

User moment: Some weeks you just want one answer: does ChatGPT know us, what do customers love, what is that rival running.

Answer: Inside the main job sit small questions people come back for, each with one home in the product.

- Most small jobs are answered Today
- Posting, results and ads come later
- Feelings count too: on top, sharp, safe

Character line: Fetch: Small sticks count. I fetch those too. | Buzz: Tiny flowers, same dance. | Scoop: Quick gossip on demand. My favourite kind. | Ocho: Small jobs fit in the spare arm. The spare arm is very busy. | Seeti: A quick snack between whistles. Coming up.

**Small jobs and their one home**
- What do customers love?: What customers say [Today]
- Does ChatGPT recommend me?: What AI search says [Today]
- What are rivals running?: What rivals run [Today]
- What changed this week?: What changed [Today]
- Give me a first draft: Make it [Today]
- Brief my designer: Hand it off [Next]
- Post it for me after my yes: Schedule it [v2]
- Did it work?: How it went [v3]
- Run my ads within a budget: Let it run [v4]

## Small jobs, their home, their status

| The question | Where it lives | Status |
| --- | --- | --- |
| What do customers love? | What customers say | Today |
| Does ChatGPT recommend me? | What AI search says | Today |
| What are rivals running? | What rivals run | Today |
| What changed this week? | What changed | Today |
| Give me a first draft | Make it | Today |
| Brief my designer | Hand it off | Next |
| Post it for me after my yes | Schedule it | Later, v2 |
| Did it work? | How it went | Later, v3 |
| Run my ads within a budget | Let it run | Later, v4 |

## Feelings people hire it for

| Feeling | What gives it | Rule |
| --- | --- | --- |
| On top of things | A finite list of five and a caught up moment | Never an endless feed as the default |
| Looking sharp | A clean numbered brief | The brief belongs to whoever sends it |
| Safe | Read only, nothing posted, sources on numbers | Never claim it posts, sends or measures before it does |

## Status note

Hand it off as one button is Next, a Restyle over today's three routes. The routes themselves work Today. Schedule it, How it went and Let it run are Later, v2 to v4.

## B5 What they use today {#b-5}

Agencies, freelancers, tools, doing it at midnight. Why each falls short.

### What stores do today {#b-5.alternatives}

User moment: You already have a way of doing marketing. It mostly works. It mostly happens at midnight.

Answer: Stores get marketing done by themselves, by people they pay or with general tools, and few of those read the store first.

- Doing it yourself costs your evenings
- Agencies and freelancers need a brief
- General AI and apps start from a blank box

Character line: Fetch: You have been fetching your own ball. I can help with that. | Buzz: You have been flying solo. A hive is easier. | Scoop: I asked around about how you do it now. No names, promise. | Ocho: Midnight captions? I know. I have been there with all eight arms. | Seeti: Cooking alone at midnight. I have heard. I have whistled about it.

**Six ways it gets done now**
- Doing it yourself: Free and on brand. Happens in tired hours, starts from a blank page.
- A marketing agency: Experienced hands. Needs briefs, costs a retainer, slow to start.
- A freelancer: Quick and flexible. Ships what you ask for, rarely decides what to ask.
- A marketing hire: Knows the brand. Still has to read everything and plan from scratch.
- A chat assistant: Fast words. Does not read your reviews or rivals unless you paste them.
- Design and ad apps: Good at making and running. Leave the deciding to you.

## Each option, fairly

| Option | What you get | Where it falls short for the weekly job | How we sit with it |
| --- | --- | --- | --- |
| Doing it yourself | Full control, no cost | No time to read reviews, rivals or AI answers. Blank page every week | We do the reading and the first draft |
| An agency | Strategy and making | Needs a brief, works on its own calendar, monthly cost | We hand them a better brief, faster |
| A freelancer | Making on demand | Waits to be told what to make | The brief page gives them what, why, words, where and files |
| A marketing hire | Brand knowledge | Same reading and planning load | Picks with sources give them a starting point to defend |
| A chat assistant like ChatGPT | Quick copy | Only knows what you paste. No sources on what it says | We read seven sources and show where each idea came from |
| Design, scheduling and ad apps | Making, posting, running | Do not decide the week | We decide and draft; they can still make and run |

## Rule

Never run down a named product. Compare the job, not the brand. Full competitor detail lives in part I, Competitors, i-4.

## Open question

Which of these do design partners use today, and what do they pay for each? Ask in the first call.

### Working with whoever ships today {#b-5.alongside}

User moment: You like your designer. You do not want to fire anyone. You want them to get better briefs.

Answer: The product reads and decides, then hands off to the people who already ship: your team, your agency or freelancer, or the ShopOS team.

- One Hand it off button, a choice of who
- Nothing is posted by the product
- The brief page needs no login

Character line: Fetch: I fetch. Your team throws it into the world. Teamwork. | Buzz: I find the flower. Your team makes the honey. | Scoop: I bring the gossip. Your people do something useful with it. | Ocho: I free an arm by handing it to your people. Very freeing. | Seeti: I write the order ticket. Your kitchen cooks the dish.

**Where we stop and they start**
1. Read: your store, about 3 to 4 minutes [Today]
2. Pick: five this week [Today]
3. Make it: a first draft and versions [Today]
4. Hand it off: your team, agency or the ShopOS team [Next]
5. They ship: real people, never us pretending [Today]

**The one hand off sheet**
- Screen h1: Hand it off, who is shipping this

## Who ships, today

| Who | What happens Today | Change type |
| --- | --- | --- |
| Your team | A numbered brief and a read only link are copied. Nothing is sent | Restyle |
| Your agency or freelancer | The same copy, pasted where they work | Restyle |
| The ShopOS team | The ShopOS team gets your brief by email and makes the work | Restyle |

One Hand it off button over these three routes is Next. Today the build has ten hand off buttons across six surfaces: shared/product-model.md opening paragraph.

## Later

v2 adds Schedule it with your approval. v4 adds Let it run inside rules. Hand it off stays.

## B6 Positioning {#b-6}

Where we sit, what we are, what we are not.

### The positioning statement {#b-6.statement}

User moment: You need to explain this in one breath to a friend who also runs a store.

Answer: For founders who are their own marketing team, Wordmark slot is your store's marketing team, in one feed: it reads your store and drafts this week's marketing for you to pick and hand off.

- Category: a weekly marketing team in one feed
- Difference: it reads your own store first
- Proof: sources on every number

Character line: Fetch: One breath version: I fetch your store's best ideas every week. | Buzz: One breath: I visit your whole store and dance you to the best ideas. | Scoop: One breath: everything everyone says about your store, turned into this week. | Ocho: One breath: eight arms on your marketing. I may need a second breath. | Seeti: One breath: this week's marketing, ready in a few whistles.

**Four ways to say what we are**
- Your store's marketing team, in one feed (our pick): The core sentence. Good: Says who it is for, Says it does the work of a team, True today. Bad: Team could suggest people we provide
- An AI marketing tool: The category word. Good: Easy to search. Bad: Crowded and generic, Says nothing about your store
- Your agency, replaced: The bold claim. Good: Short. Bad: Untrue today, Turns agencies against us
- Review insights for stores: The narrow claim. Good: Concrete. Bad: Leaves out drafts and hand off

## The statement, in parts

| Part | Ours |
| --- | --- |
| For | Founders of small online brands who are their own marketing team, and the people who help them |
| Who need | This week's marketing decided and started, without reading everything themselves |
| Wordmark slot is | Your store's marketing team, in one feed |
| That | Reads your store, reviews, ads, rivals and AI answers, and drafts this week's ideas |
| Unlike | Doing it yourself, a chat assistant or a design app, which start from a blank box |
| Because | Every pick shows its source, most arrive with a first draft, and you hand them to whoever ships |

## By version

| Version | The line grows to |
| --- | --- |
| v1 | It reads your store and drafts this week's marketing |
| v2 | It also posts and schedules, with your yes every time |
| v3 | It also shows what worked |
| v4 | It also runs ads inside the rules and budget you set |

The name is open. Write Wordmark slot wherever it would go. Source: the owner's brief 2.

### What we are, and what we are not {#b-6.is-isnt}

User moment: You want to know where this stops, so you are not surprised later.

Answer: We are the reading, deciding and drafting part of a marketing team, and posting, measuring and running ads come later, each with your yes.

- Reads, picks, drafts, hands off today
- Never posts or moves budget today
- Later powers arrive one at a time

Character line: Fetch: I fetch. I do not drive the car. Yet. | Buzz: I find flowers. I do not sell the honey. Yet. | Scoop: I read public pages. I do not touch your accounts without asking. | Ocho: I say yes to everything except posting before v2. Rules are rules. | Seeti: I cook. Serving comes later, with your nod.

- Do: A weekly feed of ideas from your own store
- Do: First drafts you can change, every version kept
- Do: A numbered brief for whoever ships
- Do: Read only connections
- Never: A scheduler, before v2
- Never: A results dashboard, before v3
- Never: An ads autopilot, before v4
- Never: An agency in disguise

## Say and never say

| Say | Never say |
| --- | --- |
| Drafts this week's marketing | Does your marketing for you |
| You pick, someone ships | It posts for you, unless the item is tagged Later |
| Sources on every number | Proven, or any lift |
| Reads public pages and what you connect, read only | Knows everything about your customers |
| The ShopOS team gets your brief | Our team does it all, for every store |

Banned claims, the owner's brief 2: posts, sends, schedules, launches or measures unless labelled Later; invented customers, quotes, reviews, lifts or results; saying it suits every store; calling anything checked by a third party.

### Where we sit {#b-6.where-we-sit}

User moment: You have seen a lot of marketing tools. You want to know which shelf this one goes on.

Answer: Most options either read the store or ship the work, while we read, decide and draft, then hand off.

- Two questions: does it read, does it draft
- We are the only box with both
- Shipping stays with real people today

Character line: Fetch: I sniff and I fetch. Most dogs only do one. | Buzz: I find the flower and point the way. Most bees just buzz. | Scoop: Some read, some make. I read and scribble. Very efficient. | Ocho: Reading arm, drafting arm. I have spares for both. | Seeti: Some shop, some cook. I do both and whistle about it.

**Two questions, four shelves**
- Reads your store and drafts: Wordmark slot: reads, picks, drafts, hands off [Today]
- Reads your store, does not draft: Review apps, analytics, social listening
- Drafts, does not read your store: Chat assistants, design apps, agencies working from a brief
- Neither reads nor drafts: Schedulers and ad managers, which run what you give them

## The grid

| | Drafts the work | Does not draft |
| --- | --- | --- |
| Reads your store | Wordmark slot: reads, picks, drafts, hands off | Review apps, analytics, social listening |
| Does not read your store | Chat assistants, design apps, agencies working from a brief | Schedulers and ad managers, which run what you give them |

## Notes

- Agencies do read a store when they start, then work from briefs. We give them that reading every week.
- Platforms add their own suggestions over time. We stay across platforms and start from the store, not one channel.
- Competitor names and detail live in i-4. This page compares jobs, never brands.

## Open question

Does a founder think of this as a tool, a team or a service? The answer changes the category word on the site. Test in design partner calls.

## B7 Value proposition {#b-7}

The promise, the proof and the payoff, for each persona.

### The promise, the proof and the payoff {#b-7.promise}

User moment: You want to know what you get, why you should believe it, and what it does for your week.

Answer: v1: Paste your store link, get this week's marketing ideas already drafted, and hand off the ones you like. | v2: Paste your store link, get this week's ideas drafted, then post or schedule them with your yes. | v3: Get this week's ideas drafted, shipped with your yes, and see what worked. | v4: Get this week's ideas drafted and shipped, see what worked, and let ads run inside your rules.

- Promise: this week, drafted
- Proof: you can see the source
- Payoff: the week decided in about ten minutes

Character line: Fetch: Promise: I fetch. Proof: look, a ball. Payoff: you get your evening back. | Buzz: Promise, pollen, payoff. That is my whole waggle dance. | Scoop: Promise: good gossip. Proof: I show where I heard it. | Ocho: Promise: eight arms. Proof: count them. Payoff: you keep two free. | Seeti: Promise: a hot week. Proof: you hear the whistles. Payoff: dinner on time.

**Promise to payoff**
1. Promise: this week's marketing, already drafted [Today]
2. Proof: seven sources, a source on every number [Today]
3. Payoff: the week decided in about ten minutes [Today]

**Proof you can see on a pick**
- Screen p1: A pick, open, with Why this and its sources

## Proof we can say today

- About 3 to 4 minutes for a read across seven sources: store, brand, catalog, reviews, ads, site, AI answers.
- About 160 cards for the prepared demo brand.
- Six second videos with voiceover.
- Every version kept.
- 24 hour story rings.
- As an example finding from one brand's read: the brand was named in 12 of 32 AI answers.

## About the payoff

About ten minutes on Monday is how long the owner's brief 3.2 says the founder comes to spend. It is a design target for the founder's week, not a measured result. Do not quote it as a result.

Source: the owner's brief 2, allowed figures.

### The value, person by person {#b-7.per-person}

User moment: You want the version of the promise that is about you.

Answer: Each person gets one promise, one proof they can check, and one payoff.

- Founders get the week back
- Makers get a first draft
- Shippers get one clean page

Character line: Fetch: Everyone gets a ball. Different sizes. | Buzz: Every bee gets the honey it came for. | Scoop: Everyone gets their own bit of gossip. Tailored. | Ocho: One arm per person. I have one spare. I am keeping it. | Seeti: Every station gets its own plate.

**Promise, proof, payoff**
- Founder: your week, already drafted: Proof: sources on every pick. Payoff: decide in about ten minutes.
- In house marketer: ideas with receipts: Proof: Why this shows each source. Payoff: a faster yes from the founder.
- Specialist: only your areas, ready to make: Proof: Make it keeps every version. Payoff: start from a draft.
- Agency: a drafted Monday per client: Proof: a numbered brief per pick. Payoff: look sharp to clients.
- Person shipping: everything on one page: Proof: the brief page, no login. Payoff: no chasing.
- Approver: one question at a time: Proof: Need your yes says what happens either way. Payoff: answer in a tap.
- The ShopOS team: full context with every brief: Proof: the brief arrives by email. Payoff: right first time.

## Promise, proof, payoff

| Person | Promise | Proof today | Payoff |
| --- | --- | --- | --- |
| Founder | Your week, already drafted | Sources on every pick | Decide in about ten minutes |
| In house marketer | Ideas with receipts | Why this shows each source | Faster yes from the founder |
| Specialist | Only your areas, ready to make | Make it keeps every version | Start from a draft |
| Agency | A drafted Monday per client | A numbered brief per pick | Look sharp to clients |
| Person shipping | Everything on one page | The brief page, no login | No chasing |
| Approver | One question at a time | Need your yes says what happens either way | Answer in a tap |
| The ShopOS team | Full context with every brief | The brief arrives by email | Right first time |

## Rule for writing any value line

- Start from the person's moment, then the promise.
- Proof must be something they can see in their own read. Never a lift, a revenue number or a customer count.
- Payoff is about their time or their confidence, never sales.

Hooks per audience live in part H, Audiences and hooks, h-3.

### Proof we may use, and proof we may not {#b-7.proof-rules}

User moment: You are writing a post or a pitch and want to know which numbers are safe.

Answer: Use only the allowed figures, with their exact words, and treat anything else as a projection or a question.

- Five allowed figures, exact wording
- No lifts, no logos, no invented quotes
- Unsure numbers say To confirm

Character line: Fetch: Only real balls. No pretend throws. | Buzz: I only count pollen I actually carried. | Scoop: I only repeat what I can show the source for. Gossip with receipts. | Ocho: I make a lot of promises. These are the ones I am allowed to make. | Seeti: No fake whistles. Only the ones you can hear.

- Do: About 3 to 4 minutes for a read
- Do: About 160 cards for the prepared demo brand
- Do: Six second videos
- Do: 24 hour story rings
- Do: 12 of 32 AI answers, as an example finding from one brand's read
- Never: Any lift, sale or growth number
- Never: Partner logos or names as proof
- Never: A quote we did not get in writing
- Never: Saying it suits every store
- Never: Proven or promised results

## In the product

Unsure numbers carry a To confirm chip. Projections say A projection, not a promise. Every number has a source chip. Source: the owner's brief 2 and shared/product-model.md 10.

## For marketing

The full list of claims we may make lives in i-7, Claims we can make.

## B8 Market {#b-8}

Who is out there and where we start. Numbers only with sources.

### Who is out there, ring by ring {#b-8.rings}

User moment: You want to know how many stores could use this. So do we.

Answer: We start with the smallest ring we can serve well and widen it, and every size here is a question with a named place to answer it.

- Four rings, from all stores to design partners
- No sizes yet, only sourced ones later
- India first is an open question

Character line: Fetch: Big park, small park, our patch of grass. I start on the grass. | Buzz: One garden first. Then the street. Then the town. | Scoop: How many stores? I do not guess. I will go and count. | Ocho: I want to say yes to every store. The ring says start small. | Seeti: One pot first. A banquet later.

**The rings, outside in**
- Online stores
  - Stores that sell their own brand from their own store
    - Founder led, small team, with reviews and some ads
      - Where we start: design partners now

## The rings

| Ring | Definition | How to count it | Where to count it | Size |
| --- | --- | --- | --- | --- |
| Online stores | Any store selling online | Store counts by platform and country | Shopify's own published merchant figures; platform reports | To find out |
| Own brand, own store | Sells its own products from its own domain | Stores by platform and country, filtered to own brand | A store technology lookup such as BuiltWith or Store Leads | To find out |
| Founder led, small, with reviews and ads | The ICP in b-2 | Filter the above by review app installed and active ads | Review app install counts on the Shopify App Store listings; the Meta Ad Library for active advertisers | To find out |
| Design partners | Real brands working with the founders now | Count them | Our own list | Known internally, not stated in shareable copy |

## Why no numbers

The writers guide and the owner's brief allow market sizes only with a named source. None has been gathered yet. A number without a source is a made up number.

### What we need to find out {#b-8.find-out}

User moment: You are an investor or a new teammate and want the sizing work, not a guess.

Answer: Eight questions turn the rings into numbers, each naming where to look and what would change the plan.

- Count stores, then filter to our ICP
- Ask design partners what they spend now
- Measure our own cost per read

Character line: Fetch: Eight things to sniff out. I love a scent trail. | Buzz: Eight flowers to check before I dance about the size of the garden. | Scoop: Eight leads. All public pages. My favourite homework. | Ocho: Eight questions, eight arms. For once I am exactly enough. | Seeti: Eight ingredients to measure before anyone says banquet.

**The sizing work**
1. How many own brand stores are there in India?: A store technology lookup, filtered to India and own brand
2. How many of those run Meta ads?: The Meta Ad Library, active advertisers by category
3. How many show reviews on site?: Review app installs and a sample of store pages
4. How many have one to ten people?: Company team size from LinkedIn company pages, sampled
5. What do they spend on marketing help now?: Ask every design partner in the first call
6. How many agencies serve them?: LinkedIn company search and agency directories
7. What does one read cost us?: Our own logs, per brand, during the design partnership
8. Which country after the first?: The same counts, run for the next candidates

## For each answer, record

- The number and its unit.
- The source by name and the date it was read.
- The filter used.
- Who checked it.

## What would change the plan

| Finding | What it would change |
| --- | --- |
| Few stores show reviews | The read leans less on reviews; the ICP changes |
| Most run no ads | Ads picks drop in rank for the starting ring |
| Agencies serve most small stores | The brand switcher moves up from Later |
| A read costs more than a store would pay | Pricing and the capped read change |

## Open question

Is India first? docs/choose.js asks it as part of choosing the character. The market answer should come before that choice is locked.

### Why now {#b-8.why-now}

User moment: You wonder why this could not have been built five years ago.

Answer: Three shifts make this possible now: AI can read a whole store quickly, it can draft images and short videos, and shoppers ask AI where to buy.

- Reading seven sources takes minutes
- Drafts include six second videos
- AI answers are a new place to be found

Character line: Fetch: Five years ago I could only fetch sticks. Now I fetch videos. | Buzz: New flowers keep opening. AI answers are the newest patch. | Scoop: Now even the chatbots gossip about stores. I listen to them too. | Ocho: New arms keep growing. Metaphorically. Mostly. | Seeti: The stove got faster. So I whistle sooner.

**What changed, and what it lets us do today**
- Reading is fast: Seven sources in about 3 to 4 minutes [Today]
- Drafting is real: Images, carousels, six second videos with voiceover [Today]
- AI search is a channel: We check if ChatGPT, Gemini, Perplexity and Claude name you [Today]
- Read only connections: Store, ads and email accounts, read only [Today]

**The newest place to be found**
- Screen y4: What AI search says, an example finding

## Careful wording

These are product facts, not market statistics. Any claim about how many shoppers use AI to find products needs a named source before it is said anywhere. Add it to b-8 Find out when one is found.

Read only connections exist on the live site, but the product model says not to sell connections. Mention them only as read only, never as posting or budget control. Source: shared/product-model.md 0.

## B9 Business model {#b-9}

How it pays for itself. Pricing ideas are parked, and say so.

### Pricing is parked {#b-9.parked}

User moment: You want to know what this will cost. Fair question.

Answer: Pricing is parked until after the design partnership, so prices can come from real usage and the real cost of each store.

- No price list exists today
- Design partners help us learn the cost
- Pricing ideas live in i-5

Character line: Fetch: Price? I am still learning how many balls you throw. | Buzz: I count the pollen first. Then I talk honey prices. | Scoop: Between us, nobody knows yet. That is the honest gossip. | Ocho: I would say yes to any price. That is why I am not allowed to set it. | Seeti: The menu prices go up after the tasting. Not before.

**How a price gets decided**
1. Design partnership: real brands use it, reads are capped [Today]
2. Measure: cost per store and what people use
3. Draft prices: from those numbers
4. Test with partners: before anyone else sees them
5. Set prices: the owner decides

## What exists

A draft shape was written on 16 October and parked the same day, to revisit after the design partnership. Its shape, without numbers: a free first read, a trial, then a plan per brand that includes credits for paid making, with briefs made by the ShopOS team priced on their own. None of it is decided.

## Rules that already hold in the product

- A price shows only on the confirm sheet before something paid is made, never on the first button. Source: shared/product-model.md 4.
- The rupee figure on the kit's m3 confirm sheet is a sample, not a real price. Source: _docs/export/product/screens.md.
- The capped read is real scarcity: each read costs real time and money while we work with design partners.

## Where to look next

i-5, Pricing ideas.

### Where the money could come from {#b-9.how-it-pays}

User moment: You are an investor, or a founder wondering if this will last.

Answer: Four possible sources of revenue, all ideas, none priced: a plan per store, paid making, work made by the ShopOS team, and more powers per version.

- A plan per store is the core idea
- Paid making already has a confirm sheet
- Each version adds something worth paying for

Character line: Fetch: Four bowls. I am told not to count the kibble yet. | Buzz: Four ways to make honey. We are still counting flowers. | Scoop: Four rumours about money. None confirmed. Very exciting. | Ocho: Four money arms. All tied behind my back until after the design partnership. | Seeti: Four dishes on the menu. Prices written in pencil.

**Revenue ideas, parked**
- A plan per store: The weekly read, picks and drafts [Later]
- Paid making: Finals such as videos, priced on the confirm sheet [Today]
- Made by the ShopOS team: The team makes what you hand off to it [Today]
- Posting and scheduling: With your yes [v2]
- Seeing what worked: How it went [v3]
- Ads within rules: A budget and rules you set [v4]

## Status of each

| Source | Exists today | Priced | Note |
| --- | --- | --- | --- |
| A plan per store | No billing today | No | Parked |
| Paid making | The confirm sheet exists; makes cost real money | Sample prices only in the books | Price only on the confirm sheet |
| Made by the ShopOS team | The team gets the brief by email and makes it | No | A service line next to the software |
| Agencies, many brands | Each brand invited separately | No | Needs the brand switcher, Later |
| v2 to v4 powers | No | No | Each adds value, so each may change the plan |

Do not put revenue figures, customer counts or prices in any shareable copy.

### What each store costs to serve {#b-9.costs}

User moment: You want to know why reads are capped.

Answer: Every store costs real money at three moments: the read, writing the picks, and making paid drafts.

- The read uses AI and outside data
- Picks are written by AI per store
- Videos and finals cost per make

Character line: Fetch: Every fetch costs a little energy. Some balls are heavier. | Buzz: Every flight costs honey. Long flights cost more. | Scoop: Reading everything is not free. Notepads are expensive. | Ocho: Every arm needs fuel. Eight arms, eight snacks. | Seeti: Gas is not free. Each whistle costs a little.

**Cost lines per store**
| Moment | What drives the cost | How to keep it down | Size |
| --- | --- | --- | --- |
| The read | AI reading seven sources, outside data calls | Cap reads, reuse what we already read | To measure |
| Writing picks | AI writing plans and drafts per store | Write cheaper, never fewer | To measure |
| Paid making | Images, videos, voice | Free first look, price on the confirm sheet | To measure |
| The ShopOS team | People's time per brief | Clear briefs | To measure |
| Keeping it fresh | Re reading connected accounts | Refresh on a schedule | To measure |

**The one place cost meets the founder**
- Screen m3: Confirm a paid make, price once
- Screen f6: Reads are full this week

## What to measure during the design partnership

- Cost of one read, per brand, by source.
- Cost of writing a week of picks, per brand.
- Cost per paid make, by kind: image, carousel, video, voice.
- The ShopOS team's hours per brief.
- Which picks get made and handed off, so spend follows use.

## Rule

Cutting cost never means fewer picks or fewer areas. Make each one cheaper.

## Open questions

- The cap number for reads and whether it resets weekly are not settled: _docs/export/product/journeys.md.
- What Ask for a design partner read sends, and to whom, is open.

## B10 North star and goals {#b-10}

The one number that says it is working, and the goals under it.

### The north star {#b-10.north-star}

User moment: You want one number that says the product is working for real stores.

Answer: v1: Stores that hand off at least one pick a week, the moment an idea leaves the product and becomes real work. | v2: Stores that hand off or approve at least one pick a week, where approving a post counts as shipping. | v3: Stores with at least one shipped pick a week that reports how it went. | v4: Stores with at least one shipped pick a week, inside the rules they set, that reports how it went.

- Weekly, because the week is the unit
- Counts what people did, never sales
- Retention first, as Duolingo found

Character line: Fetch: One number: did a ball leave the park this week. Yes means wag. | Buzz: One count: did honey leave the hive this week. | Scoop: One number. I check it every week. Discreetly. | Ocho: Eight things to track and they gave me one. It is very calming. | Seeti: One count: did a dish leave the kitchen. That is all that matters.

**What feeds the north star**
1. Read finishes: about 3 to 4 minutes [Today]
2. Comes back Monday: the drop [Next]
3. Hearts and Not for me: the feed learns [Today]
4. Makes a version: Make it [Today]
5. Hands one off: the north star [Today]

## Definition

A store counts in a week, Monday to Sunday in the store's own time zone, when anyone on its team hands off at least one pick: copies a brief and link, or hands it to the ShopOS team. The north star is the number of such stores, and the share of active stores that reach it.

## Why this one

- The week is the unit of the product. A daily number would push the wrong habit. The owner's brief 3.5.
- Handing off is when value leaves the product. Hearts alone do not change a store.
- It counts what people did, never sales. The game layer rule says progress measures what the user did. Sales arrive only with v3, as How it went.
- Duolingo found the retention rate of current users had five times the impact on daily users of the next best metric, and made it their north star. Source C in _research/sources.md. Ours is a weekly retention measure for the same reason.

## Can we count it today

Hand offs happen today, but the decision log of hearted, made and handed off is Next groundwork in the owner's brief 3.6. Until it exists, count from brief records. This is internal only, never shown to founders.

### Activation and the first win {#b-10.first-win}

User moment: You just pasted your link. In the next ten minutes you decide if this is worth coming back to.

Answer: A store is activated at its first win: heart one pick, make one, hand off one, ideally in the first ten minutes.

- Activation means the first hand off
- Three steps: heart, make, hand off
- Measured per store and per way in

Character line: Fetch: First fetch, first wag. After that you are hooked. | Buzz: First flower, first honey. That is when a bee stays. | Scoop: First piece of gossip passed on. Now we are friends. | Ocho: First arm freed. The other seven celebrate loudly. | Seeti: First whistle, first dish out. Now you trust the kitchen.

**The first win bar**
1. Heart one: a pick that fits [Next]
2. Make one: a version in Make it [Next]
3. Hand one off: to your team, agency or the ShopOS team [Next]

**The activation funnel**
1. Paste: Build my feed
2. Sign in: work email
3. Read finishes: about 3 to 4 minutes
4. The reveal: one finding [Next]
5. First win: activated [Next]
6. Second week: comes back Monday [Next]

## Definition

A store is activated in the week it first hands off a pick. The first win bar makes the path visible: heart one, make one, hand off one, with a small celebration at each. The ten minute aim comes from the owner's brief 3.5, first win in ten minutes. It is a design aim, not a measured result.

## Why this is the metric under the north star

The north star counts stores that hand off every week. Activation is the first time a store does it. Source B in _research/sources.md says most people leave at the join between phases, so the join from onboarding to the weekly loop is the first win, and the join after it is the second Monday.

## Funnel steps the team counts, internal only

| Step | Counts | Status of the step |
| --- | --- | --- |
| Paste | Links pasted | Today |
| Sign in | Work email accepted | Today |
| Read finishes | Reads that complete | Today |
| Reveal seen | One finding shown | Next |
| First heart | Store hearts a pick | Today |
| First make | A version made | Today |
| First hand off, activated | A pick handed off | Today |
| Second week | Opens Today the next Monday | Next |

## Split by way in

Count activation separately for founders who paste, Shopify installs, invited teammates and agencies. A teammate is activated by their first make or hand off; they never see the read.

## Today

The steps exist but are not shown as a bar. The first win bar is Next, an Add on. The decision log that would count this cleanly is Next groundwork. Targets are set after four weeks of design partner data. Founders never see these numbers.

### The goals under it {#b-10.goals}

User moment: You want to know what to improve this month to move the big number.

Answer: Five input goals feed the north star, one per step of the week.

- Each goal maps to one step
- Targets come from design partner data
- All internal, never shown to founders

Character line: Fetch: Five little fetches add up to one big one. | Buzz: Five small dances, one big harvest. | Scoop: Five clues. Follow them and the big one solves itself. | Ocho: Five goals. I would like one each for three more arms, please. | Seeti: Five steps in the recipe. Skip one and the dish is flat.

**Goals by step**
- North star: stores with a hand off this week
  - Activation: read finishes and a first win in ten minutes
  - Return: comes back on Monday
  - Taste: hearts and Not for me on the picks
  - Making: at least one version made
  - Trust: sources opened, To confirm facts corrected

## Goals, their measure and their target

| Goal | Measure | Target |
| --- | --- | --- |
| Activation | Share of reads that finish; share of new stores that heart one, make one and hand off one in the first session | Set after four weeks of design partner data |
| Return | Share of stores that open Today in the week after the Monday drop | Same |
| Taste | Share of picks that get a heart or Not for me | Same |
| Making | Share of hearted picks with at least one version made | Same |
| Trust | Share of To confirm facts that get corrected in What we know about you | Same |

## By version

| Version | Goal added |
| --- | --- |
| v2 | Share of hand offs that become an approved scheduled post |
| v3 | Share of shipped picks with a How it went result |
| v4 | Share of ad runs that stay inside the rules with no undo needed |

No target number is written here on purpose. There is no baseline yet.

### Goals for the design partnership {#b-10.partnership-goals}

User moment: You are on the team and want to know what done looks like before launch.

Answer: The design partnership has six outcomes, and pricing and launch wait for them.

- Every partner gets a read and a first win
- Learn cost per store and what gets used
- Settle the name, the character and pricing

Character line: Fetch: Six tricks to learn before the big show. | Buzz: Six things to know before the hive opens to the town. | Scoop: Six things I need to find out. My notepad is ready. | Ocho: Six goals. I have already said yes to all of them. | Seeti: Six tastings before the restaurant opens.

**What the design partnership must answer**
1. Every partner gets a read and a first hand off: proof the loop works for them
2. Cost per store is known: read, picks, paid making
3. We know which picks get handed off: by area and source
4. Real words from founders, with permission: to replace every Sample
5. The name and the character are chosen: the wordmark slot gets filled
6. Pricing is set: from what we learned

## Sources

- Pricing after the design partnership: owner's decision, 16 October.
- Name open, character being chosen: the owner's brief and docs/choose.js.
- Every Sample to be replaced with real words, with permission: raccoon and octopus marketing books.

## Not goals

Launch dates, partner counts and revenue are not set in any source. Do not invent them.

## B11 Why us, and what could go wrong {#b-11}

Our edge, our moat, and the risks we watch.

### Our edge {#b-11.edge}

User moment: You want to know why this team, and why this product, would win.

Answer: Our edge is reading the store before drafting anything, with a source on every number and real people ready to ship.

- Seven sources, AI answers included
- Drafts made with the store's real photos
- The ShopOS team can make the work

Character line: Fetch: Other dogs fetch any ball. I fetch yours. | Buzz: Other bees buzz anywhere. I map your garden first. | Scoop: Everyone has opinions. I have sources. | Ocho: Plenty of tools have arms. Mine read before they grab. | Seeti: Anyone can boil water. I cook your recipe.

**Five edges, all true today**
- It reads first: Store, brand, catalog, reviews, ads, site, AI answers [Today]
- Sources on every number: Unsure ones say To confirm [Today]
- Drafts with your own photos: Images, carousels, six second videos [Today]
- A team behind the button: The ShopOS team gets your brief and makes it [Today]
- A character people remember: One hero, chosen from five [Next]

## Why each is hard to copy

| Edge | Why it is hard to copy |
| --- | --- |
| It reads first | Seven sources wired together, with AI answers checked across four assistants |
| Sources on every number | A product habit, enforced by the card rules in shared/product-model.md 10 |
| Drafts with real photos | Make it uses the store's own product photos |
| A team behind the button | Software plus people who ship; most tools have only one |
| A character | A brand founders talk about, once chosen and built in |

All five are Today except the character, which is being chosen now.

### What gets harder to copy over time {#b-11.moat}

User moment: You wonder what stops a bigger company from building the same thing.

Answer: Every week a store uses it, what we know about that store grows, and later, what worked for it.

- What we know about you grows weekly
- A log of what got made and shipped
- Results and rules arrive in later versions

Character line: Fetch: Every week I learn where you hide the good balls. | Buzz: Every week my map of your garden gets better. | Scoop: Every week my notes on you get thicker. In a nice way. | Ocho: Every week my grip on your store gets better. Gently. | Seeti: Every week the house recipe gets closer to perfect.

**How what we know grows, week by week**
1. What we know about you: facts and house rules [Today]
2. Decision log: hearted, made, handed off [Next]
3. How it went: results per pick [Later]
4. Rules you set: budgets and limits [Later]

**Where it lives**
- Screen s2: What we know about you

## Layers of the moat

| Layer | What it holds | Status | Version |
| --- | --- | --- | --- |
| What we know about you | Facts with sources, house rules the team sets | Today | v1 |
| Decision log | Which picks were hearted, made and handed off | Next groundwork | v1 |
| Brand book you own | Exportable one page of house rules | Later | v1 endgame |
| Results | How each shipped pick went | Later | v3 |
| Rules and budgets | Limits per area and channel | Later | v4 |

## Honest note

A memory is only a moat if founders keep coming back. The north star in b-10 is the test.

### What could go wrong {#b-11.risks}

User moment: You want the risks said plainly before you commit time or money.

Answer: Ten risks we watch, each with the sign we look for and what we do.

- Generic ideas would break trust fastest
- The sign in wall and cost limit growth
- Over claiming would break it for good

Character line: Fetch: I know what can go wrong. Mostly squirrels. | Buzz: Every hive has wasps. We watch for them. | Scoop: I keep a list of what could go wrong. It is long. I read it weekly. | Ocho: Ten risks. I would hold them all, but someone said share. | Seeti: Ten ways a dish can burn. I watch every pot.

**Risk, the sign, what we do**
- Ideas feel generic: Lots of Not for me, few hearts. Lean harder on sources from the store
- The sign in wall stops trials: Pastes that never reach a read. The reveal before sign in, Next
- A read costs too much: Cost per store above what a plan could charge. Cheaper reads, never fewer picks
- People expect posting: Support asks where the post went. Plain words: nothing is posted today
- Agencies feel replaced: Agencies decline intros. The brief is theirs, the ShopOS team is optional
- Platforms change their rules: A source stops reading. Say the source is thin, keep the read going
- Trust and privacy: Questions about data on calls. Read only, deletion on request, i-6
- The character wears thin: People mute sound and hide it. It hushes; it never blocks a button
- A redesign breaks the core: Reads, briefs or links fail. Restyle and Recompose only; core changes listed as risks
- Many brands, one login missing: Agencies juggle invites. Brand switcher, Later

## Sources for each risk

| Risk | Source |
| --- | --- |
| Generic ideas | The objection AI ideas are generic in both marketing books |
| Sign in wall | _research/product-audit.md hotspot 1 |
| Cost of a read | the owner's brief 2, the capped read |
| Posting expectations | the owner's brief 2, Today it does not |
| Agencies feel replaced | The agency objection in the octopus marketing book |
| Platform rules | Read only connections depend on each platform |
| Trust and privacy | s7, Ask us to delete your data, deletion by hand for now |
| Character fatigue | shared/product-model.md 7, the character is an add on and never blocks |
| Breaking the core | the owner's brief 3.1 and shared/product-model.md 9 |
| No brand switcher | _research/product-audit.md 2.6 |

## Change core risks, never done this round

- One brief format instead of four.
- Mapping Which of these do you handle onto today's seat field.
- Changing what counts as Need your yes.
- Shortening what card generation writes.

### Open questions for this part {#b-11.open}

User moment: You want the list of things nobody has decided yet.

Answer: Part B has ten open questions, each naming who could answer it.

- Market sizes need named sources
- Pricing waits for the design partnership
- Real words wait for interviews

Character line: Fetch: Ten balls still in the air. I am watching all of them. | Buzz: Ten flowers I have not visited yet. | Scoop: Ten mysteries. My favourite number of mysteries. | Ocho: Ten questions, eight arms. I will need help with two. | Seeti: Ten dishes not yet on the menu. Keep the stove warm.

**Open questions, and who answers**
- Is India first?: The owner, from market counts in b-8
- How big is each ring?: The team, from named sources in b-8
- What does a read cost per store?: The team, from our logs
- What will a plan cost?: The owner, after the design partnership
- What is the read cap, and does it reset weekly?: The owner, a product decision
- Tool, team or service: what do founders call it?: The team, from design partner calls
- What do founders say, in their own words?: The team, from interviews with permission
- Do large brands fit?: The team, from design partner learning
- When does the brand switcher arrive?: The owner, on the roadmap
- What are the goal targets?: The team, after four weeks of data

Every open question here also belongs in j-4, Open questions. When one is answered, update the page it came from and record the decision in j-3.

# C. Product

What it does, for whom, and how every part fits.

## C1 The promise {#c-1}

Paste your store. Get this week's ideas, drafted. Pick, make, hand off.

### The promise in one line {#c-1.one-line}

User moment: It is Sunday night. You know you should post something this week and you have no idea what.

Answer: Paste your store link, get this week's marketing ideas already drafted, then pick the good ones and hand them off.

v1: Five picks a week, each with a source and a draft, You choose, a person ships it, In v1 it never posts for you | v2: Five picks a week, each with a source and a draft, You choose who ships, or approve a post, Nothing goes out without your yes | v3: Five picks a week, each with a source and a draft, It posts only after your yes, Then it shows you how each one went | v4: Five picks a week, each with a source and a draft, It posts after your yes, shows how it went, Ads run only inside rules you set

Character line: Fetch: You paste, I run. Five ideas back at your feet, only slightly damp. | Buzz: One link in, five ideas out. I already waggled at the best one. | Scoop: Psst. Give me your link and I go through everything public about your store. | Ocho: One link. Eight arms. Five drafts on your desk before your chai cools. | Seeti: Store in the pot. Three whistles. Five specials.

**The promise as five moves**
1. Paste: your store link, then sign in with your work email [Today]
2. Watch it read: seven sources, about 3 to 4 minutes [Today]
3. Pick: five ranked picks, Need your yes on top [Next]
4. Make it: the thing and a chat, every version kept [Today]
5. Hand it off: one button, you choose who ships it [Next]

**The same five moves, live**
- Screen f1: Paste your store
- Screen f4: Reading your store
- Screen t1: This week's picks
- Screen m1: Make it
- Screen h1: Hand it off

The core sentence is Your store's marketing team, in one feed. The promise above is the line a founder repeats to a friend. Every phrase in it has to be true in the build, or it carries a tag.

| Phrase | What makes it true | Where you see it | Status |
| --- | --- | --- | --- |
| Paste your store link | One box and Build my feed, then Sign in with your work email | Paste your store | Today |
| This week's | A fresh, finite set of five picks every Monday | Today tab | Next |
| marketing ideas | Ideas across five areas: Social posts, Ads, Website, AI search, Email and WhatsApp | The area tag on each pick | Today |
| already drafted | Often a ready first draft on the pick, made with your own product photos | The pick, Make it | Today |
| Pick the good ones | Heart, Not for me, Later | Today | Today |
| hand them off | One Hand it off button, then Who is shipping this | Hand it off | Next |

Words the promise never grows into: no sign in needed, three more appear, fits every store, it posts for you. The build signs you in before the read, a heart adds more like it with no number, and posting arrives only in v2.

Statuses come from the build and handover we last reviewed. Check them against the v0 scope and the code before any build work.

### What lands in front of you {#c-1.what-lands}

User moment: You open it on your phone between two orders. You want the point in one glance.

Answer: Each pick is one idea you can judge in three seconds: where it came from, the draft, a headline, one sourced reason and one button.

- 25 words at most on a closed pick
- The draft or your product photo comes first
- Every number carries its source

Character line: Fetch: I drop the idea, you sniff it, done. Three seconds. I counted. | Buzz: One idea per flower. I do not make you read the whole meadow. | Scoop: Between us, nobody reads seventy words before coffee. Nineteen will do. | Ocho: I cut the card down. It hurt. I have eight arms and used all of them. | Seeti: Short menu. Big picture. Eat.

**Closed, opened, and the plan behind it**
- Screen t1: Five closed picks on Today
- Screen p1: One pick, opened
- Screen p2: The full plan

**Sample: the same pick, before and after**
- Today: About 70 words before you tap. Agent name, time, campaign, rank reason, draft label, headline, copy line, button, five icons, a status row, a 16 word title, a 31 word sub, a make chip and a source line.
- Tomorrow: 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.

**The closed pick, five parts**
- Area and source: Five words at most. Ads, from your reviews.
- The thing: The draft, your product photo, or one big number with its source chip.
- Headline: Eight words, verb first, names the product.
- Why: Twelve words, one fact, one number, one source chip.
- Actions: One main button, plus heart and Not for me as icons.

### The glance rule
A founder gets the point of any pick in three seconds without reading past the picture. If a pick needs a second look, it is wrong.

### The closed pick
| Order | Element | Budget | Rule |
| --- | --- | --- | --- |
| 1 | Area and source | 5 words | Area tag, then where it came from |
| 2 | The thing | no words | The draft, a product photo, or one number with its source chip |
| 3 | Headline | 8 words | Verb first, names the product: Run the Monsoon candle rain ad |
| 4 | Why | 12 words | One fact with a number and a source chip. Unsure numbers carry To confirm |
| 5 | Actions | one button | Make it, plus heart and Not for me |

### The open pick, four layers in this order
1. The draft, big, with New version and Versions under it.
2. Why this: three lines at most, each with its source.
3. The plan: five steps at most, each under ten words.
4. Where to post, then the bottom bar with Make it.

### Word rules
- Verbs first. Product names over category words: Monsoon candle, never your product.
- Digits for numbers, one number per line.
- No ad jargon on a closed pick. Click and return rates live inside Why this with a plain gloss.
- One idea per pick. Two ideas means two picks.
- The character never speaks on a pick. Picks belong to the brand.

### How it ships
Restyle and Recompose: the closed pick shows the existing title, the first sentence of the existing sub, the existing source line and the existing button, and every other field moves into the open pick. Shortening what card generation writes is a Change core item, listed as a risk and not done in this round.

### Where the promise stops {#c-1.edges}

User moment: You have been burned by tools that promised sales. You want to know where this one stops.

Answer: v1: In v1 it reads, picks, drafts and hands off, a person ships everything, and nothing is measured. | v2: From v2 it can post and schedule on your accounts, only after your yes. | v3: From v3 it also shows what worked on the picks that went live. | v4: From v4 it can run ads inside the budget and rules you set, with undo always there.

- Reads public pages and read only connections
- Numbers carry a source or a To confirm chip
- Never promises sales

Character line: Fetch: I fetch. I do not bite the postman. Posting waits for v2. | Buzz: I gather and I suggest. I do not fly off with your accounts. | Scoop: I only rummage through what is public. Promise. | Ocho: Eight arms and none of them on your post button. Yet. | Seeti: I cook. You serve. Rules of my kitchen.

- Do: Say it reads your store in about 3 to 4 minutes
- Do: Say a person ships the work in v1
- Do: Say heart it and more like it appear
- Do: Put a source chip beside every number
- Do: Mark projections as a projection, not a promise
- Never: Say no sign in is needed
- Never: Promise a number of new ideas after a heart
- Never: Say it posts, schedules or measures in v1
- Never: Promise sales or results
- Never: Claim it fits every store

**The numbers we may use**
- 3 to 4 min one read, the owner's brief
- 7 sources in a read, the owner's brief
- 5 picks a week, product model
- 24 h a story ring lasts, the owner's brief

### Where the brief and the build differ, and the words to use
| Topic | The build does | Words to use |
| --- | --- | --- |
| Sign in | A work email sign in comes before the read | Paste, then Sign in with your work email |
| Heart | One more card in that direction | Heart it and more like it appear. Never a number |
| Connections | Real and read only on the live site | Read only connections. Never sell them, never imply posting or budget control |
| Hand off to the ShopOS team | The ShopOS team really gets the brief by email | The ShopOS team gets your brief. For your own team: copied, nothing sent |
| Measuring | Cut, but old measuring words still show | Measuring arrives in v3. The leftover words go now, a Restyle |

### Allowed figures, and only these
About 3 to 4 minutes for a read. About 160 cards for the prepared demo brand. Six second videos. 24 hour story rings. The brand named in 12 of 32 AI answers, only as an example finding from one brand's read.

### Banned claims
It posts, sends, schedules, launches or measures, unless the page is tagged v2 or later. Invented customers, quotes, reviews, lifts or results. Fits every store. The plan to own outcomes is internal and never appears in this book.

### Get found, get chosen, get them back {#c-1.story}

User moment: You do not think in channels. You think: more people should find us, buy, and come back.

Answer: Every pick serves one of three jobs, get found, get chosen or get them back, and the five areas are only tags.

- Each pick sits under one of three jobs
- Five areas sit under them as tags
- The plan in Your store is grouped this way

Character line: Fetch: Find the ball. Pick the ball. Bring the ball back. I was born for this. | Buzz: Find the flower, choose the flower, come back tomorrow. Bees invented this. | Scoop: Get them talking, get them buying, get them back for more gossip. | Ocho: Three jobs. I have eight arms. That leaves five for snacks. | Seeti: Smell it. Taste it. Come back hungry.

**Sample: picks for the sample candle store, by job**
- Get found
  - Film the Monsoon candle being poured
  - Answer the soy candle question in AI search
  - Shoot all three candles as a Diwali gift
- Get chosen
  - Run the Monsoon candle rain ad
  - Put Jasmine night first on your home page
  - Make the Monsoon candle page open faster
- Get them back
  - Email Chai spice buyers about a refill
  - Thank first time buyers on WhatsApp

- Screen y5: The plan in Your store, grouped the same way

### The five areas, in founders' words
| Area | The question it answers |
| --- | --- |
| Social posts | What should I post this week? |
| Ads | What ad should I run next? |
| Website | Why are visitors not buying? |
| AI search | Does ChatGPT recommend me? |
| Email and WhatsApp | How do I get customers back? |

Areas are tags and filters. They are never the story and never characters. What customers say and what rivals run are sources that feed every area.

### Open question
Our sources do not write down the rule that puts a pick under one of the three jobs. The grouping above is a sample. Check how The plan groups picks in the build before writing that rule.

### Old promise words and their new home {#c-1.old-promise}

User moment: You saw an older page that said something different. Which one is true?

Answer: The build says the promise several ways on several screens, and one line replaces them all.

- One promise on every start screen
- Inside Shopify too
- Old lines that promised doing go

Character line: Fetch: Four old promises. I buried three of them. You will not find them. | Buzz: One hive, one song. Everyone hums the same line now. | Scoop: I heard the old pages said different things. Old news. | Ocho: I used to juggle four promises. Now I hold one. Feels weird. Good weird. | Seeti: One recipe. Everyone follows it.

- Four agents bring you ideas you shape together and hand over as one brief becomes Paste your store link. Get this week's marketing ideas, already drafted. Pick the good ones and hand them off.. The landing page
- Read my store becomes Build my feed. One start button everywhere
- Takes about half an hour becomes About 3 to 4 minutes. The Shopify home, after a check
- Decisions to approve. One tap does the job becomes Need your yes. It promised doing, so it goes

- Screen f1: Paste your store
- Screen f1s: The same promise inside Shopify

Every old line comes from _research/product-audit.md: the landing lede, the Shopify embedded home, and the second question in the old five question screen. All three become Restyle changes with no logic change.

The Shopify start screen is the same screen as Paste your store, with the store already filled in. The half an hour line stays out until someone checks the real read time inside Shopify.

## C2 Onboarding at a glance {#c-1b}

How a new store gets from a pasted link to its first win, and how teammates, agencies and Shopify installs get in.

### From pasted link to first win {#c-1b.path}

User moment: You found this between two orders. You will give it ten minutes, and it had better be worth them.

Answer: Paste, sign in, watch it read while you answer three quick questions, see one finding, then heart one, make one, hand off one.

- About ten minutes from link to first hand off
- Today: about 11 screens and 14 choices
- Tomorrow: six steps and one Skip

Character line: Fetch: Throw me the link. I will be back before your tea goes cold, ball included. | Buzz: Link in, garden mapped, best flower waggled at. About ten minutes. | Scoop: Pop your store link in. For your read, I only look at what's public. | Ocho: Pass it here. Eight arms reading, one arm holding your first win. | Seeti: Give me your store link. Then step back from the stove.

**The first ten minutes**
1. Paste your store: one box, Build my feed [Today]
2. Sign in: with your work email [Today]
3. Reading your store: seven sources, three quick questions [Today]
4. Here's your store: one finding you can share [Next]
5. First win: heart one, make one, hand off one [Next]

- Screen f1: Paste your store
- Screen f2: Sign in with your work email
- Screen f4: Reading, question 1 of 3
- Screen f7: The reveal
- Screen t1: Today with the first win bar

### Today against tomorrow
| | Today's build | Tomorrow |
| --- | --- | --- |
| Screens before the first idea | About 11 | Paste, sign in, reading, the reveal |
| Choices before the first idea | About 14 | Three quick questions, all skippable |
| Skip labels | Six | One: Skip |
| Questions | Asked during the read and again in setup | Asked once, during the read, as a game |
| Check page | Under a clock that starts your brief | Optional, inside What we know about you, no timer |

### What the old first run becomes
| Old step | New home |
| --- | --- |
| The separate questions offer and the five question screen | Three quick questions during the read |
| Who's this feed for, the seat tiles | Which of these do you handle, question 1 |
| The check page, Is this right | What we know about you, optional |
| Setup step Connect your tools | Settings, Connections, when you want it |
| Setup step Invite your team | Settings, Team, and Hand it off, My team |
| The ready overlay and the welcome card | Here's your store, the reveal |
| The swipe tuner | Heart and Not for me on real picks |

Every removed step keeps its data path. Every step, screen and state of the first ten minutes is in [d-5, Onboarding](#d-5).

### Four ways in {#c-1b.who-onboards}

User moment: You are not always the founder with a fresh link. Sometimes you got an invite, or you clicked Install in Shopify.

Answer: Four people onboard four ways, and all of them land on the same Today.

- Founder pastes a link
- Teammates and agencies come by invite
- Shopify installs skip the paste

Character line: Fetch: Front door, back door, dog flap. All roads lead to the bowl. | Buzz: Every bee finds the hive its own way. Same honey inside. | Scoop: Some come with a tip, some with an invite. I greet them all the same. | Ocho: Four doors. One arm on each. Very convenient. | Seeti: Four doors into one kitchen.

- Founder with a link: Paste, sign in with a work email, the read, the reveal, first win. The first person from the brand's domain claims the brand. [Today]
- Invited teammate: An invite email, the join page, then straight to Today. No read, no questions. Which of these do you handle comes later in Settings. [Today]
- Agency or freelancer: Invited to each brand one by one today. A brand switcher comes later. [Today]
- Shopify install: The same Paste your store screen with the store already filled in. [Today]

- Screen f1s: Inside Shopify, store filled in
- Screen s4: Team, where invites start
- Screen x3: The brand switcher, later

| Who | How they arrive | First screen | What they skip |
| --- | --- | --- | --- |
| Founder | Pastes a link on the start page | Paste your store | Nothing |
| Invited teammate | Invite email, then the join page | Today | The read and the reveal, since the brand is already read |
| Agency or freelancer | One invite per brand | Today for that brand | The read |
| Shopify install | Apps in Shopify admin | Paste your store, filled in | Typing the link |
| Person with a brief link | A copied link | The brief page | Everything: no login to read |

Outsiders who sign in with a personal or other company email see This store is for its own team, with See demo stores and Switch email. The Shopify home today says the first read takes about half an hour; that line stays out until someone checks the real time inside Shopify.

Open question: whether an invited teammate gets the three quick questions on first open. Our sources do not say. Detail for each path is in [d-5, Onboarding](#d-5).

### The activation moment {#c-1b.activation}

User moment: You will come back next Monday only if the first visit already saved you an evening.

Answer: Activation is the first hand off: an idea of yours, made and passed to whoever ships it.

- Heart one, make one, hand off one
- A three step bar shows the way
- A small celebration at each step

Character line: Fetch: First fetch, first throw, first catch. Now we are friends. | Buzz: First honey in the jar. You will be back. | Scoop: Your first note passed. Between us, that is when it clicks. | Ocho: First arm freed. Feels good, right. Do it again Monday. | Seeti: First plate out. Now you are a regular.

**The first win bar**
1. Heart one: more like it appear [Next]
2. Make one: one version in Make it [Next]
3. Hand off one: a brief with a number [Next]

- Screen t6: Step 1, a heart
- Screen m1: Step 2, Make it
- Screen h2: Step 3, handed off

The first win bar is Next, an Add on behind its own switch. Each step gets a small celebration in the 120 px celebration slot. The bar leaves once all three are done, and the weekly run starts counting from that week.

The hand off is the moment because it is the first time the product saves the founder real work: something made, with a brief, in someone else's hands.

Open question for part B: the exact activation metric, such as first hand off within the first day. The business metric and the funnel the team counts live in b-10 and j-1.

### After day one {#c-1b.after-day-one}

User moment: You got your first win. Now you wonder what happens if you do nothing until next week.

Answer: Nothing nags you until next Monday, when five fresh picks arrive and the habit starts.

- Monday email, one button
- What we know about you keeps growing
- Come back after a break, nothing is lost

Character line: Fetch: I will wait by the door. Patiently. Mostly patiently. | Buzz: I keep gathering. See you Monday with a full basket. | Scoop: I keep my ears open all week. Monday you get the dish. | Ocho: I keep reading in the background. Arms full again on Monday. | Seeti: Stove stays warm. Monday whistles.

- Screen e1: The Monday email
- Screen s2: What we know about you, with the memory meter

- Do: One Monday email with one button
- Do: Show the memory meter growing
- Do: Welcome you back without a lecture
- Never: Daily nudges in the first week
- Never: Guilt about a missed week
- Never: A setup checklist that never ends

The memory meter shows how much we know about your store, never your results. It grows as you heart, answer questions and tell us something. Next.

Returning after a break, the second week habit and the onboarding emails are written in [d-5, Onboarding](#d-5) and in the lifecycle part, h-8.

## C3 Your week with it {#c-2}

The product told as a week in your life, Monday to Friday.

### The week at a glance {#c-2.week}

User moment: You give marketing one slot a week, usually Monday with coffee.

Answer: The week is the unit: we read your store, you pick, you make, someone ships, then it resets on Monday.

- About ten minutes on Monday decides the week
- Five picks, a list you can finish
- Caught up means done until Monday

Character line: Fetch: Monday I fetch. Friday I nap. The tennis ball stays in the picks all week. | Buzz: One loop round the garden a week. I count the pollen on Friday. | Scoop: One week, one batch of gossip. Then I go quiet and listen again. | Ocho: Monday, arms full. Friday, arms free. Weekend, I lie on the rocks. | Seeti: Monday whistles. Friday, kitchen's clean.

**Sample week for the sample candle store. Flip the version to see it change**
*v1:*
- Mon: The drop. Five picks on Today. Heart two, Not for me on one. (the turn)
- Tue: Make it. Open the rain ad. Ask the chat for a shorter line. Version 3 sticks.
- Wed: Hand it off. Your freelancer gets the brief link and opens it on a phone.
- Thu: Need your yes. Can we use the rain photo from your Instagram? Yes.
- Fri: Caught up. {name} signs off until Monday.
- Sat and Sun: Quiet. Nothing pings you. Next week's picks get ready.
*v2:*
- Mon: The drop. Five picks on Today. Heart two, Not for me on one. (the turn)
- Tue: Make it. Open the rain ad. Version 3 sticks.
- Wed: Schedule it. Approve the rain ad for Thursday evening on Instagram.
- Thu: It goes out. The rain ad posts at the time you approved.
- Fri: Caught up. {name} signs off until Monday.
- Sat and Sun: Quiet. Nothing pings you.
*v3:*
- Mon: The drop and How it went. Five picks, plus how last week's rain ad did. (the turn)
- Tue: Make it. More like the rain ad, since it worked.
- Wed: Schedule it. Approve two posts for this week.
- Thu: It goes out. Posts go out at the times you approved.
- Fri: Caught up. {name} signs off until Monday.
- Sat and Sun: Quiet. Results keep coming in.
*v4:*
- Mon: The drop and How it went. Five picks, plus last week's results. (the turn)
- Tue: Ads within rules. The rain ad runs inside the cap you set. Undo is always there.
- Wed: Schedule it. Approve two posts for this week.
- Thu: Need your yes. Move this week's ad money to the rain ad, inside your cap? Yes.
- Fri: Caught up. {name} signs off until Monday.
- Sat and Sun: Quiet. Ads keep to your rules.

- Screen d1: Monday on a laptop: picks in a column, Need your yes beside them

### The weekly beats
1. Monday, the drop: five fresh picks wait on Today. Next.
2. Pick: heart what fits, Not for me what does not. Today.
3. Make: one thing at a time in Make it, every version kept. Today.
4. Hand off: one button, you choose who ships it. Next.
5. Caught up: the week is done and the character signs off until next Monday. Next.

The founder who is the whole marketing team spends about ten minutes on Monday deciding the week, from the owner's brief, section 3.2. The in house marketer opens it daily, a specialist a few times a week.

The character narrates the week and is never the hero. The founder and their products are the hero of every frame.

### Open questions
- What time on Monday the drop lands, and in whose time zone.
- How often the store is read again between Mondays. Our book sources do not say.

### Monday: the drop {#c-2.monday}

User moment: Monday, 9 am. You have ten minutes before the day eats you.

Answer: Five fresh picks wait on Today, Need your yes on top, and the Monday email links straight to them.

- One email, one button
- Questions first, then five picks
- Story rings hold this week's facts

Character line: Fetch: Monday. I am at the door with five ideas and a ball nobody asked for. | Buzz: Monday buzz. Five fresh flowers, best one gets the waggle. | Scoop: Fresh week, fresh gossip. Five picks, and the second one is spicy. | Ocho: Arms full. Five picks, drafted, still warm. | Seeti: Three whistles. Five specials. Go on, pick.

- Screen e1: The Monday email
- Screen t1: Today on Monday
- Screen t3: A story ring, one fact

**Your ten minutes**
1. Open the email or the app: one button goes to Today [Next]
2. Answer Need your yes: yes or not now, one tap each [Today]
3. Scan five picks: each closed pick takes three seconds [Next]
4. Heart, Not for me, Later: your taste shapes the rest [Today]
5. Open one: Make it is the next step [Today]

- The five are finite. When they are done, you are caught up. The rest lives under See everything, ranked, one tap away.
- Need your yes sits above the picks and shows a count on the Today tab.
- Story rings last 24 hours. On Monday the first ring is Your week.
- A notification is 60 characters at most, says one thing and opens exactly that thing.
- Sound is off on a first visit, with one switch in Settings.
- The character sits in the Today header corner at 40 to 56 px and greets you on Monday. It never sits on a pick.
- First win bar on the first Monday: heart one, make one, hand off one. Next.

### Picking: heart, Not for me, Later {#c-2.pick}

User moment: Some ideas are spot on. Some are not you at all. You want it to learn fast.

Answer: Heart it and more like it appear, Not for me shows fewer, and Later puts it away for now.

- Every choice has Undo in the toast
- A heart never promises a number
- See everything holds the ranked rest

Character line: Fetch: You liked that one. I am already running for more like it. | Buzz: Sweet one. I will fly back to that patch. | Scoop: Ooh, you liked that one. Noted. I will dig up more like it. | Ocho: You stuck it. More like it, coming up. | Seeti: Ooh, good taste. More like that, coming up.

- Heart: A one line toast, then more picks like it appear. Undo in the toast
- Not for me: The pick leaves, fewer like it appear. Undo in the toast
- Later: The pick snoozes out of view. When it returns is still to confirm

- Screen t6: A heart
- Screen t4: See everything, ranked
- Screen p1: Open a pick to read Why this

Ranking in the build scores each card on freshness, impact, affinity and seat, minus fatigue. Your hearts and Not for me feed affinity. Changing that score is Change core, so nothing here touches it.

On a laptop: J and K move between picks, H hearts, X is Not for me, Enter opens, Esc closes, M is Make it.

Retired words: Save for later, Saved, Keep, Not interested, Less like this, Show fewer, Remove, Remind me tomorrow.

### Making it {#c-2.make}

User moment: You like the rain ad idea but the line is too long and the photo is wrong.

Answer: Make it opens the thing on the left and a chat on the right, and every change you ask for becomes a new version you keep.

- Images, carousels, six second videos, voice clips, text
- Made with your own product photos
- A paid make shows its price once

Character line: Fetch: I chew on it till it is right. Every chewed version stays in the pile. | Buzz: Back and forth like a bee at a window. It gets there. | Scoop: Scribble, scribble. I keep every draft in the stack. | Ocho: Fresh ink. The old one is still in the stack. | Seeti: That draft is undercooked. Another batch?

- Screen m1: Make it on a phone
- Screen m3: A paid make shows its price once
- Screen m4: Every version kept

- Screen d2: Make it on a laptop: the thing left, chat right

- What it makes today: images, carousels, six second videos with voiceover, voice clips and text, using the brand's real product photos.
- Tools inside Make it: add a photo or file, talk instead of typing, film board, teleprompter.
- The chat holds AI and your teammates. Replies from a Slack thread show in the same chat when Slack is connected.
- Making shows the character's wait pose and one line. You can leave and come back.
- Anything paid opens one confirm sheet with the price, what happens, Make it and Not now. The price never sits on the first button.
- Mute this silences notifications for one Make it.
- One Make it for every entry is Next. Today the build has three making spaces; two are removed from the product that ships.

### Handing off: you choose who ships it {#c-2.handoff}

User moment: It is good enough. Now someone has to post it, and it should not be you at midnight.

Answer: One button, Hand it off, then one question: who is shipping this.

- Four choices, one line each
- The brief gets a number
- In v1 nothing is posted for you

Character line: Fetch: I drop it at their feet now. Good handoff. Who is a good handoff. | Buzz: Pollen delivered. The next bee takes it from here. | Scoop: Copied. Slip it to whoever ships it. My lips are sealed. | Ocho: Brief copied, link ready. You pass it on, and I get an arm back. | Seeti: Order ticket's written. Pass it on.

**Who is shipping this**
- Me: Copies the words and opens the exact place to post. [Today]
- My team: Copies a numbered brief and a read only link. Nothing is sent. [Today]
- My agency or freelancer: The same brief and link for someone outside the brand. [Today]
- The ShopOS team: The ShopOS team gets your brief, with a brief number. [Today]

- Screen h1: Who is shipping this
- Screen h2:team: Brief copied for your team
- Screen h3: The brief page, no login

The routes under the sheet exist today. The one button with one sheet is Next, a Restyle over today's ten hand off buttons on six surfaces.

After a hand off to the ShopOS team, the row in Work carries one sub line: Received, In progress, Needs something from you, Delivered. Needs something from you also lands in Need your yes.

When Slack is connected, My team offers Post to Slack.

### Caught up, and the weekly run {#c-2.caught-up}

User moment: You did your bit. You want to close the app and not feel guilty.

Answer: When the five are done, {name} signs off until Monday, and each week with a hand off adds to your weekly run.

- Caught up is the finish line
- One free skip a month
- No guilt, no fake countdowns

Character line: Fetch: All fetched. I am lying on the tennis ball until Monday. | Buzz: Hive's quiet. Pollen counted. See you Monday. | Scoop: That is all the gossip for this week. Back Monday with more. | Ocho: Arms free. New picks Monday. | Seeti: Kitchen's clean. See you Monday.

- Screen t5: You're caught up
- Screen w1: Work shows what moved

- Do: Count weeks with at least one hand off
- Do: Give one free skip a month
- Do: Send a light nudge, once
- Do: Measure what you did and what we know, never sales
- Never: Say you missed a week
- Never: Show a fake countdown
- Never: Threaten to take something away
- Never: Ping on the weekend

### The game rules
The game layer follows Octalysis, the framework of eight core drives and four phases, and the Duolingo growth account on Lenny's Newsletter, both cited in _research/sources.md.

- Lead with the drives that feel good: meaning, progress, making things.
- Scarcity and loss only when real and kind. The capped read is real. Fake countdowns are banned.
- Never guilt or shame.
- The unit is a marketing week, not a day.
- Progress measures what you did and what we know about your store, never sales.

| Mechanic | What it is | Status |
| --- | --- | --- |
| Monday drop | Five fresh picks a week, finite | Next |
| Weekly run | Weeks in a row with at least one hand off | Next |
| Free skip | One week a month the run survives without a hand off | Next |
| Wildcard | One wildcard pick a week | Next |
| Caught up | The character signs off until Monday | Next |

### Your first week is different {#c-2.first-week}

User moment: You just found this. You want to see if it gets your store before you give it an evening.

Answer: Paste, watch it read, see one finding, then heart one, make one, hand off one in about ten minutes.

- Today's eleven screens before the first card go
- Three quick questions while it reads
- One shareable finding at the end

Character line: Fetch: First walk together. I will try not to pull on the lead. | Buzz: First flight. I map your garden while you answer three quick ones. | Scoop: Going through everything people say about you. Give me three or four minutes. | Ocho: Eight arms reading. About 3 to 4 minutes. | Seeti: Cooking your store. Nobody lifts my lid.

1. Paste your store: one box, Build my feed [Today]
2. Sign in with your work email: a personal email is refused, politely [Today]
3. Reading your store: seven sources, about 3 to 4 minutes [Today]
4. Three quick questions: what you handle, your next big moment, one thing you never post [Next]
5. Here's your store: one finding you can share [Next]
6. First win: heart one, make one, hand off one [Next]

- Screen f4: Reading, with question 1 of 3
- Screen f7: The reveal
- Screen t1: The first win bar

Today the build shows about 11 screens and 14 choices before the first card, with six different skip labels. The first week removes the separate questions offer, the five question screen, the check page under a clock, the setup steps, the ready overlay and the swipe tuner. Their data paths stay. The check page lives on inside What we know about you, optional, with no timer. Six skip labels become one: Skip.

### When it goes wrong
| Screen | What you see | Way out |
| --- | --- | --- |
| This store is for its own team | You signed in with an email outside the brand | See demo stores, Switch email |
| Read did not finish | The read stopped at one source, nothing saved | Start again |
| Reads are full this week | A read costs real time while we work with design partners | Ask for a design partner read |

## C4 People and permissions {#c-3}

Who can see, make, approve and ship what.

### Decide, make, ship {#c-3.three-jobs}

User moment: You are not the only one who touches marketing. Your designer, your co founder and a freelancer all do.

Answer: Seats go away, and what you see depends on whether you decide, make or ship, and how many brands you handle.

- Deciders land on Need your yes
- Makers land in Work
- Shippers live on the brief page

Character line: Fetch: Some throw, some fetch, some bring it home. Everyone gets a turn with the ball. | Buzz: Every bee has a job. Nobody wears a seat label. | Scoop: I know who decides, who makes and who ships. I keep that between us. | Ocho: Three jobs. I could do all of them, but you would worry. | Seeti: Head chef, line cook, waiter. One kitchen.

1. Decide: founder, approver
2. Make: in house marketer, specialist
3. Ship: your team, a freelancer, the ShopOS team

**Seven people who open it**
- Founder who is the marketing team: Need your yes, five picks, Make it, Hand it off. Lands on Today, weekly.
- In house marketer: The same, with Work as their daily home.
- Specialist: Today filtered to the areas they handle, a few times a week.
- Agency or freelancer: Invited per brand today. A brand switcher comes later. [Later]
- The ShopOS team: The same app on every brand, with a staff badge. Lands on Work.
- Person who opens a brief link: One read only page, no login, phone first.
- Approver: Need your yes only. Yes or Not now.

| Person | How often | What they come to do | Default place |
| --- | --- | --- | --- |
| Founder who is the marketing team | Weekly, Monday | Decide this week, about ten minutes | Today |
| In house marketer | Daily | Plan, draft, track | Work |
| Specialist: ads, social, website or email | A few times a week | Pick up their part and make it | Today, filtered |
| Agency or freelancer | Daily | Run many brands, show briefs to clients | Today per brand |
| The ShopOS team | Daily | Demos, findings, briefs | Work |
| Person who opens a brief link | Per brief | Ship the work, often on a phone | The brief page |
| Approver, such as a co founder | Now and then | Say yes or no | Today |

Sources: the owner's brief, section 3.2 and shared/product-model.md section 6.

### Who can do what {#c-3.who-can}

User moment: You want to invite your designer without them changing who can see your store.

Answer: Two roles inside the brand, Admin and Member, plus a guest on one piece of work and anyone holding a brief link.

- Admins run the team and the connections
- Guests work on one piece only
- A brief link only reads

Character line: Fetch: Everyone gets a key to the right door. Nobody gets my ball. | Buzz: Queen keeps the keys. Workers get the rooms they need. | Scoop: I know every lock on this page. I only pick the ones you hand me. | Ocho: One arm per permission. It is tidier than it sounds. | Seeti: Not everyone touches the stove. Kitchen rules.

| What | Admin | Member | Guest | Brief link | ShopOS team |
| --- | --- | --- | --- | --- | --- |
| See Today, picks and Your store | Yes | Yes | No | No | Yes |
| Heart, Not for me, Later | Yes | Yes | No | No | To confirm |
| Answer Need your yes | Yes | Yes | No | No | To confirm |
| Make it, chat, new version | Yes | Yes | That one piece | No | Yes |
| Confirm a paid make | Yes | To confirm | To confirm | No | Yes |
| Hand it off | Yes | Yes | No | No | Yes |
| Read the brief page | Yes | Yes | Yes | Yes | Yes |
| Move a brief's status | No | No | No | No | Yes |
| Invite, remove, hand over admin | Yes | No | No | No | No |
| Connect a tool | Yes | No | No | No | To confirm |

- Screen s4: Team: one role chip each
- Screen s5: Connections, read only

### Where each row comes from
- Roles Admin, Member and Invited, with hand over as a row action: shared/ia.md section 2.
- Guests may chat, edit the brief and make drafts, and may not share or send the brief, approve, assign or discard: the build's scope notes, quoted in _research/product-audit.md.
- Connect is an admin action in today's setup steps and connectors page.
- Brief status is moved by the ShopOS team only.
- ShopOS staff are staff on every brand, labelled with full access in today's account menu.

### Open questions
- Can a Member confirm a paid make, or only an Admin?
- Do the ShopOS team's hearts shape a brand's picks? Today they share the same app.
- Is an approver its own role, or a Member who lands on Need your yes? The product model names the person, not a role chip.
- Who may ask us to delete the brand's data?

### Risk
Today, views limit what invited people see. The new model filters by Which of these do you handle and hides nothing. Check that no brand relies on views to hide something before removing them.

### Getting in: work email or an invite {#c-3.getting-in}

User moment: Your intern tries to sign in with a personal email and hits a wall.

Answer: You get in with your work email at the brand's domain, or an invite, and anyone else sees a polite door.

- Work email at the brand's domain walks in
- An invite lets anyone else in
- Outsiders get demo stores instead

Character line: Fetch: I sniff the email first. Work emails get a wag. | Buzz: Only the hive's own bees through this door. Visitors get the demo garden. | Scoop: Wrong door, friend. The demo stores are open, and they gossip too. | Ocho: Work email please. I have one arm on the door at all times. | Seeti: Staff only past this point. Demo kitchen is next door.

- Screen f2: Sign in with your work email
- Screen f3: This store is for its own team
- Screen s4: Team: Admin, Member, Invited

- Work email at the brand's domain: Straight in. The first person in claims the brand
- Invited email: In through the invite link. An expired invite says so
- Any other email: This store is for its own team. See demo stores, Switch email
- ShopOS staff email: In on every brand, with a staff badge. Moves brief status

- The sign in comes before the read. Never write that no sign in is needed.
- Invite pages today: This invite has expired, This invite is for someone else, Open the brand.
- Team rows carry one role chip each: Admin, Member, Invited. Hand over admin is a row action. Domain auto join stays as today.
- Start again clears this browser's state for one brand only. It never touches the team.
- Ask us to delete your data sends a request to the team. Real deletion arrives later.

### The person who ships it {#c-3.shipper}

User moment: Your freelancer is on a bus. They need the words, the files and the deadline. No account.

Answer: They open one read only brief page, no login, phone first, with Copy all and every file.

- No login to read
- Sign in only to work on it
- Old brief links keep working

Character line: Fetch: They get the stick, the whole stick, and nothing but the stick. | Buzz: One cell of honey, labelled. No need to join the hive. | Scoop: One page, everything they need, nothing they should not see. | Ocho: The clipboard. Everything on one page. I checked it twice. | Seeti: Order ticket. Read it, cook it.

- Screen h3: The brief page
- Screen m1:guest: Open it in Make it, as a guest

- Do: A guest can chat in that one Make it
- Do: A guest can edit the brief
- Do: A guest can make drafts
- Never: A guest shares or sends the brief
- Never: A guest approves or assigns
- Never: A guest discards the work

The brief page holds the numbered brief: what, why, the words, where, by when, with the files and captions for any video. A status stamp shows where it is. Open it in Make it lets the person sign in and land in that one Make it only.

A brief on a card only the team may see asks for a work email sign in. Old brief link forms keep answering and redirect to the one brief page, so nothing anyone already shared breaks.

The character appears only as a 32 px sign off at the bottom of the brief page.

### The approver: yes or not now {#c-3.approver}

User moment: Your co founder only wants to be asked when it matters, and to answer in one tap.

Answer: An approver sees Need your yes only: one question, what happens either way, Yes or Not now.

- Ten words at most per question
- Undo after a yes
- No character in a decision

Character line: Fetch: Sit. Stay. Say yes. Good human. | Buzz: One buzz, one question. Yes or not now. | Scoop: Just a nod, please. I will not chatter while you decide. | Ocho: One arm up. This one needs your yes. | Seeti: Taste this first. Yes or no.

- Screen t2: One question, two buttons
- Screen t2:answered: Yes saved, with Undo

**Sample questions that earn a yes**
- Need your yes: Can we use the rain photo from your Instagram?
- You: Yes
- Need your yes: The ShopOS team needs your logo file for Brief 1042.
- You: Not now

- A question you can answer yes or no, 10 words at most, one line on what happens either way, two buttons: Yes and Not now.
- Needs something from you, from a handed off brief, lands here too.
- The character never appears inside a Need your yes decision.
- Risk: changing what counts as Need your yes changes ranking, so the first step only regroups today's yes list.
- From v2, approvals for posts land here too. See the dial in c-4.

### Which of these do you handle {#c-3.handle}

User moment: You only run the ads. You do not want to scroll past email ideas.

Answer: Pick the areas you handle, as many as you like, and Today filters to them while See everything holds the rest.

- Five areas, several allowed
- Replaces seats and Viewing as
- Filters, never hides

Character line: Fetch: Tell me which balls are yours. I will stop bringing you frisbees. | Buzz: Pick your flowers. I will stop dragging you to the clover. | Scoop: What's your beat? I will keep my gossip on topic. | Ocho: Point at your arms. I will hold the rest. | Seeti: Pick your stations. I will plate for those.

- Screen s3: Five areas, several allowed
- Screen t4:ads: See everything, filtered to Ads

- Founder seat becomes All five areas
- Growth or Performance seat becomes Ads
- Brand or Creative seat becomes Social posts
- Ecommerce or Storefront seat becomes Website
- Retention seat becomes Email and WhatsApp
- Viewing as chip becomes Gone. Which of these do you handle replaces it

Asked once during the read as one of three quick questions, and kept in Settings.

Risk: mapping these answers onto today's seat field changes a ranking input, because the score uses the seat. Check it before shipping. AI search has no old seat, so a person who handles only AI search needs a rule. That rule is an open question.

### Agencies and many brands {#c-3.many-brands}

User moment: You run six brands. You do not want six bookmarks and six logins.

Answer: Today an agency is invited to each brand one by one, and later a brand switcher lists every brand you handle.

- Each brand lives at its own address
- The switcher shows only with two or more brands
- Agencies may set the dial per client, later

Character line: Fetch: Six yards, one dog. I will learn every fence. | Buzz: Many gardens, one bee. I fly between them. | Scoop: Several stores, several notepads. I never mix the gossip. | Ocho: Six brands. Finally a use for all these arms. | Seeti: Six kitchens. One cooker. Bring a bigger stove.

- Today: One invite per brand. Each brand lives at its own address with its own team. No screen lists your brands.
- Tomorrow: One switcher. Your brands at the top, shown only to people with more than one.

- Screen x3: The brand switcher

The build already has a call that returns the brands a person is on, and no screen calls it. That makes the switcher the only real build item here, flagged Later.

### The ShopOS team {#c-3.shopos-team}

User moment: You handed it to the ShopOS team. You want to know they have it, without chasing.

Answer: The ShopOS team uses the same app on every brand, with a staff badge, and moves each brief's status.

- Four status words after a hand off
- An email when the status moves
- Staff tools stay staff only

Character line: Fetch: Thrown to the ShopOS team. They always bring it back. | Buzz: Off to the big hive. They send word when it is done. | Scoop: The ShopOS team has your note. I hear they are on it. | Ocho: The ShopOS team took it. One arm free. Thank you. | Seeti: Ticket's on the rail. They will shout when it is up.

1. Received: the ShopOS team has it [Today]
2. In progress: they are making it [Today]
3. Needs something from you: also shows in Need your yes [Today]
4. Delivered: the work is back [Today]

- Screen w1: Handed off rows with their sub lines
- Screen e2: The brief status email

Staff only: Build and spend in The plan, and the demo controls. A founder never sees vendor or model names, and the ShopOS team is never called the build crew or the team as a bare word.

### Who says yes before anything goes out (from v2) {#c-3.approvals-later}

User moment: If it can post for you, you want to be sure nobody else can make it post.

Answer: _: From v2, nothing posts without a yes in Need your yes, from someone allowed to give it. | v4: From v4, ads run only inside the budget and rules you set, and undo is always there.

- Every approval lands in Need your yes
- The dial starts at Suggest for everyone
- Admins set the dial, members work within it

Character line: Fetch: I can carry it to the door now. I still wait for the nod. | Buzz: I can fly it out myself now. Only after you hum yes. | Scoop: I could pass the note myself now. Only with your nod. | Ocho: One arm on the post button. Seven arms waiting for your yes. | Seeti: I can serve now. You still taste first.

- Approve a post: One question in Need your yes, before it goes out. [v2]
- Set the dial: Per area and per channel, starting at Suggest. [v2]
- See how it went: Results on every pick that went live. [v3]
- Set budget and rules: Caps, topics and approval windows. [v4]

### Open questions
- Who may approve a post: Admins only, or any Member?
- Who may turn the dial up: our proposal is Admins only, with Members able to turn it down.
- Agencies can set the dial for each client, from the owner's brief, section 3.6. Whether the brand's own Admin can lock it is undecided.
- Posting needs write access from each platform, which today's read only connections do not have. Each platform's own review applies.

## C5 Versions and the dial {#c-4}

How much it does for you: Suggest, Prepare, Schedule, Run within rules.

### The dial: how much it does for you {#c-4.dial}

User moment: You like the drafts. Some weeks you wish it would just post the thing.

Answer: Each area and channel gets a dial that starts at Suggest, and you turn it up only when you trust it.

- Suggest is the only setting in v1
- Each step up needs your say
- Undo is always there at the top

Character line: Fetch: Today I fetch. Later I deliver. Same dog, more tricks. | Buzz: Today I scout. Later I carry. Still the same buzz. | Scoop: Today I bring gossip. Later, with your nod, I pass notes myself. | Ocho: Each notch frees one more arm. I still ask first. | Seeti: Low flame today. You turn the knob.

- Suggest: Reads, picks, drafts. You ship it or hand it off. [Today] [v1]
- Prepare: Files ready per channel, posted with one click from connected accounts. [Later] [v2]
- Schedule: You approve, it posts at your time. [Later] [v2]
- Run within rules: It acts inside your budget caps, topics and approval windows, with undo. [Later] [v4]

**{name} grows from adviser to doer to reporter**
*Fetch:*
- Adviser, v1 (dog/char.svg)
- Doer, v2 and v4 (dog/svg/grow-doer.svg)
- Reporter, v3 (dog/svg/grow-reporter.svg)
*Ocho:*
- Adviser, v1 (octopus/char.svg)
- Doer, v2 and v4 (octopus/img/v/grow-doer.svg)
- Reporter, v3 (octopus/img/v/grow-reporter.svg)
*Seeti:*
- The cook, v1 (cooker/char.svg)
- The server with a tray, v2 and v4 (cooker/svg/pose-tray.svg)
- The plate checker, v3 (cooker/svg/pose-plate.svg)
*Buzz:*
- Adviser, v1. Doer and reporter props are still to draw (bee/char.svg)
*Scoop:*
- Adviser, v1. Doer and reporter props are still to draw (raccoon/char.svg)

| Dial setting | Arrives | What happens | Status |
| --- | --- | --- | --- |
| Suggest | v1 | Reads, picks, drafts. You ship it yourself or hand it off | Today |
| Prepare | v2 | Files ready per channel, posted with one click from connected accounts | Later |
| Schedule | v2 | You approve, it posts at your time | Later |
| Run within rules | v4 | It acts inside your limits, such as budget caps, topics and approval windows, with undo always available | Later |

Foundation.md says Prepare is Next or Later. This book places it in v2 because it needs write access to an account.

The character grows by props, never by a new character. Ocho gets a clock and an approve stamp for doing, a scorecard and a magnifier for reporting. Seeti goes from cook to server with a tray to plate checker, same face.

### Four versions, one new power each {#c-4.versions}

User moment: You want to know what you are signing up for now and what comes later.

Answer: v1 suggests, v2 posts with your yes, v3 shows what worked and v4 runs ads inside your rules.

- Flip the version at the top of the book
- Tabs and words stay the same
- Work grows new columns

Character line: Fetch: Four versions, four tricks. I am still a good dog in all of them. | Buzz: Each version, one more job for the hive. | Scoop: Each version I get to dig a little deeper. With permission. | Ocho: More arms free every version. Still asking first. | Seeti: Each version, one more burner. Still my kitchen.

- v1, today becomes Suggest. Reads, picks, drafts, hands off. A person ships
- v2 becomes Prepare and Schedule. Posts and schedules on your accounts, after your yes
- v3 becomes How it went. Results for every pick that went live shape next week
- v4 becomes Run within rules. Ads inside a budget and rules you set, undo always there

- Screen w1: Work in v1: Ideas, In the works, Handed off
- Screen w1:later: Work later: Scheduled, Live, How it went

### What never changes across versions
Three tabs: Today, Work, Your store. The plain words on buttons. Need your yes as the one place for decisions. One character in fixed slots.

### What each version needs from the build
| Version | Needs |
| --- | --- |
| v2 | Write access per platform, the destination channel on each pick, the brief as structured data, a time picker in Hand it off |
| v3 | A way to read results back for each pick that went live, and a How it went column |
| v4 | Budget caps, topic rules, approval windows and an undo for every action |

The groundwork for all of these is listed on the groundwork page below.

### Three exits for every pick {#c-4.exits}

User moment: You have a finished draft. Where can it go from here?

Answer: _: Every pick will have three exits, hand it off, schedule it or let it run, and in v1 only hand it off is on. | v2: From v2 hand it off and schedule it are on, and let it run waits for v4. | v4: All three exits are on: hand it off, schedule it, let it run.

- One bottom bar, one main button
- The sheet grows rows as the dial allows
- Hand it off never goes away

Character line: Fetch: Hand it over, wait for walkies, or let me run. You hold the lead. | Buzz: Pass it on, wait for the bloom, or let it fly. | Scoop: Pass the note, pick the moment, or let me handle it. I just take notes. | Ocho: Three exits. I have arms for all of them. You choose. | Seeti: Takeaway, reservation, or I keep cooking.

- Hand it off: A numbered brief and a read only link, or the ShopOS team gets it. [Today] [v1]
- Schedule it: You approve, it posts at your time. [Later] [v2]
- Let it run: It acts inside your rules and budget, with undo. [Later] [v4]

- Screen h1: Who is shipping this, the sheet that grows

Proposal, to confirm with design: the bottom bar in Make it keeps one main button, Hand it off. The sheet behind it gains Schedule it and Let it run rows only when the dial for that area and channel allows them. That keeps one way out of Make it at every version.

### Need your yes becomes the control centre (from v2) {#c-4.control-centre}

User moment: You do not want to log into five platforms to approve five things.

Answer: Every approval, at every version, lands in one place: Need your yes.

- One question per decision
- What happens either way, in one line
- Undo after every yes

Character line: Fetch: Every decision comes to one spot. Like my bowl. | Buzz: All the yes and no buzzing lands on one flower. | Scoop: Every nod I need, in one pile. No hunting. | Ocho: One arm up for every decision. All in one place. | Seeti: One tasting spoon. Everything passes it.

**Sample: Need your yes at v2, v3 and v4**
- Need your yes: Post the rain ad on Instagram, Thursday 7 pm?
- You: Yes
- Need your yes: The rain ad did well. Make another like it?
- You: Yes
- Need your yes: Move this week's ad money to the rain ad, inside your cap?
- You: Not now

- Screen t2: The same sheet at every version

The pattern stays the one from v1: a question you can answer yes or no, 10 words at most, one line on what happens either way, Yes and Not now. The character never speaks inside it. Money questions are written by people, plainly.

### One dial per area and per channel {#c-4.per-area}

User moment: You trust it with Instagram posts. You do not trust it with your ad money yet.

Answer: The dial sets each area and each channel on its own, all starting at Suggest.

- Turn up one channel at a time
- Agencies may set it per client
- Turning it down is always allowed

Character line: Fetch: Off lead in the park, on lead near the road. Fair. | Buzz: Some flowers I visit alone. Some you walk me to. | Scoop: Some notes I pass myself, some I bring to you first. | Ocho: One arm on Instagram. The ad arm stays in my pocket. | Seeti: High flame here, low flame there.

**Sample: the sample candle store's dial. Flip the version**
*_:*
- Social posts, Instagram: Suggest. Drafts and hand off
- Ads, Meta: Suggest. Drafts and hand off
- Website: Suggest. Briefs for your developer
- AI search: Suggest. Drafts the answer page
- Email and WhatsApp: Suggest. Drafts and hand off
*v2:*
- Social posts, Instagram: Schedule. You approve, it posts at your time
- Ads, Meta: Suggest. Drafts and hand off
- Website: Suggest. Briefs for your developer
- AI search: Suggest. Drafts the answer page
- Email and WhatsApp: Prepare. Files ready, one click from your account
*v4:*
- Social posts, Instagram: Schedule. You approve, it posts at your time
- Ads, Meta: Run within rules. Inside the cap you set, undo always there
- Website: Suggest. Briefs for your developer
- AI search: Suggest. Drafts the answer page
- Email and WhatsApp: Prepare. Files ready, one click from your account

Proposal, tagged Later: the dial lives in Settings beside Connections, one row per area with its channels under it. A channel can only go above Suggest when its connection has write access.

Open question: whether Website and AI search ever go above Suggest, since changing a store's pages is a bigger step than posting.

### Groundwork in v1 for every later version {#c-4.groundwork}

User moment: You are building v1. You do not want to rip it up for v2.

Answer: Four small add ons in v1 give every later version the data it needs from day one.

- All four are add ons
- None touches what works today
- Each sits behind its own switch

Character line: Fetch: I bury a few bones now so we eat well later. | Buzz: A little wax now, a full comb later. | Scoop: I start a notepad for later now. Small, tidy, useful. | Ocho: Four labels on four drawers. Future me says thanks. | Seeti: Prep now. Fast service later.

1. Each pick stores its destination channel: Where to post becomes data [Next]
2. The brief is also saved as structured data: Schedule it can read it later [Next]
3. A decision log: hearted, made and handed off [Next]
4. Pick status is one extendable field: Scheduled, Live and How it went slot in [Next]

**The four change types**
- Restyle: Tokens, type, icons, illustration, copy. No logic change.
- Recompose: A new view or order over the same data.
- Add on: A new module that only reads, behind an off switch.
- Change core: Touches the read, generation, ranking, the brief or the share link. Listed as a risk only.

What must not break: the read, card generation, ranking, the making engine, the brief format and the share link. File paths are in _research/product-audit.md section 7. Old brief link forms keep working.

### How it went (from v3) {#c-4.how-it-went}

User moment: You shipped eight things last month. Which ones were worth it?

Answer: From v3, every pick that went live gets a How it went line, and results shape next week's picks.

- Results only with their source
- Unsure results say so
- Your progress score never uses sales

Character line: Fetch: I sniff out which balls bounced. Some did not. I still love them. | Buzz: I count which flowers gave honey. Honest count. | Scoop: Now I report back on what people said after it went out. | Ocho: Scorecard arm out. I only write what I can source. | Seeti: Plates come back. I check what got eaten.

- Screen w1:later: Work with Scheduled, Live and How it went

- Do: Show where each result came from
- Do: Say when a result is unsure
- Do: Feed results into next week's picks
- Never: Credit a sale to a pick without a source
- Never: Grade the founder
- Never: Turn results into a streak or a score

Today the build still shows measuring words from a cut feature: We stop if, Target, Check on day N, How we know it was this, grade lines, Shipped and measured, What moved the number, How we measure it. They go now as a Restyle and come back only in v3, rewritten.

### Open questions
- Which results we read per channel, and over what window.
- How a result is linked to a pick, and how sure we must be before we show it.

### Run within rules (from v4) {#c-4.run-within-rules}

User moment: You want ads to keep running while you sleep, but never past the money you set.

Answer: From v4, it can run ads inside a budget cap, topics and approval windows you set, and undo is always there.

- You set the cap
- It asks first inside approval windows
- Undo is always available

Character line: Fetch: Off lead, inside the fence you built. I know where the fence is. | Buzz: I fly on my own now, only inside the garden wall. | Scoop: I pass notes on my own now, within the rules you wrote in my notepad. | Ocho: Ad arm out. It stays inside your lines. | Seeti: I cook on my own now. Your recipe, your budget.

- Budget cap: The most it may spend, per week and per channel. [v4]
- Topics: What it may say and what it never says. [v4]
- Approval windows: When it must ask first in Need your yes. [v4]
- Undo: Always available, on every action. [v4]

Run within rules is the top of the dial and starts switched off for every area and channel. Money questions are written by people, plainly, and the character stays out of them.

### Open questions
- Which ad platforms first, and what each platform's review needs.
- What undo means for spend that has already happened.

## C6 Concepts {#c-5}

The thirteen ideas the whole product is made of, one page each.

### The thirteen concepts on one page {#c-5.all-thirteen}

User moment: You are new on the team and every meeting uses words you do not know yet.

Answer: Learn these thirteen ideas and every screen makes sense.

- Three about your store
- Five about your week
- Five about your work

Character line: Fetch: Thirteen tricks. I know all of them and one about a ball. | Buzz: Thirteen cells in the comb. Each one holds something. | Scoop: Thirteen things worth knowing. I wrote them all down. | Ocho: Thirteen. I counted on all eight arms, then started again. | Seeti: Thirteen ingredients. One dish.

- Your store
  - The read
  - What we know about you
  - Areas
- Your week
  - The week
  - The pick
  - Why this
  - Need your yes
  - Heart and Not for me
- Your work
  - Make it
  - Versions
  - Hand it off
  - The brief
  - Status

**How they connect**
1. The read: fills what we know
2. The week: drops five picks
3. The pick: says why this
4. Make it: keeps versions
5. Hand it off: makes a brief with a status

| Concept | Plain word | In one line | Where it lives | Status |
| --- | --- | --- | --- | --- |
| The read | Reading your store | Seven sources in about 3 to 4 minutes | First run, Your store | Today |
| What we know about you | What we know about you | Every fact we keep, with its source | Settings | Today |
| Areas | Social posts, Ads, Website, AI search, Email and WhatsApp | Tags and filters in your words | Every pick | Next |
| The week | This week's picks | Five on Monday, then caught up | Today | Next |
| The pick | Pick | One idea, closed in 25 words | Today | Next |
| Why this | Why this | Three sourced lines and the plan | The open pick | Today |
| Need your yes | Need your yes | Yes or no questions only you can answer | Top of Today | Today |
| Heart and Not for me | Heart, Not for me, Later | Your taste shapes the picks | Every pick | Today |
| Make it | Make it | The thing and a chat, in one place | Make it | Today |
| Versions | New version, Versions | Every take kept | Make it | Today |
| Hand it off | Hand it off | One button, who is shipping this | Make it | Next |
| The brief | Brief | A numbered page anyone can ship from | The brief page | Today |
| Status | Idea, In the works, Handed off | One word for where work stands | Work | Today |

Each concept has one plain word on every button and tab, and a character word around it. Fetch and Buzz words come from dog/system.md and bee/system.md once those exist.

### The read {#c-5.the-read}

User moment: You pasted your link. Now you are watching a screen and wondering what it is doing.

Answer: The read goes through seven sources in about 3 to 4 minutes, and what it finds fills Your store.

- Public pages, plus read only connections
- Three quick questions while you wait
- Capped while we build v0

Character line: Fetch: Nose down, tail up. I sniff every corner of your store. | Buzz: Seven flowers to visit. I hum while I work. | Scoop: The rummage. Public pages only, and I say so. | Ocho: Eight arms reading. Seven sources. One arm for the coffee. | Seeti: Cooking your store. Whistles when it is done.

**Seven sources tick by**
1. Store: your pages and prices
2. Brand: how you look and sound
3. Catalog: your products
4. Reviews: what buyers say
5. Ads: public ads in your category
6. Site: how your site behaves
7. AI answers: whether ChatGPT, Gemini, Perplexity and Claude name you

- Screen f4: Reading your store
- Screen y1: Your store, after the read
- Screen f6: Reads are full this week

| | |
| --- | --- |
| Plain word | Reading your store |
| Retire | The read as a label, findings, Check what we read, Setting up your agents |
| Scoop says | The rummage |
| Ocho says | Eight arms reading |
| Seeti says | Cooking your store, whistles |
| Status | Today. The three questions are Next |

What the read finds lives in Your store: store health as three meters, What customers say, What rivals run, What AI search says, What changed, and The plan. Rivals are shown from public pages only and the character never names one.

The cap is real: a read costs real time and money before launch, so reads are capped for design partners. The character's large wait pose fills this screen at 120 to 180 px.

Onboarding: the first read is the first thing a new store sees. Three quick questions play during it and the reveal follows it. Invited teammates skip it because the brand is already read. See [c-1b](#c-1b) and [d-5](#d-5).

### The week {#c-5.the-week}

User moment: You do not want a daily app. You want one sitting a week.

Answer: The week is the unit: five fresh picks on Monday, a list you can finish, then caught up.

- Monday drop
- Weekly run with a free skip
- One wildcard a week

Character line: Fetch: One week, five fetches. Then a long nap on the ball. | Buzz: One loop of the garden. Then back to the hive. | Scoop: The Monday dish, then I go quiet till next week. | Ocho: Arms full Monday. Arms free Friday. | Seeti: Monday whistles. Kitchen's clean by Friday.

1. Monday drop: five fresh picks [Next]
2. Pick: heart, Not for me, Later [Today]
3. Make: the thing and a chat [Today]
4. Hand off: you choose who ships [Next]
5. Caught up: signs off until Monday [Next]

- Screen t1: Monday
- Screen t5: Caught up

| | Plain word | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- |
| The five | This week's picks | This week's scoop | Arms full | This week's specials |
| Monday | Monday drop | The Monday dish | Arms full | Monday whistles |
| Done | You're caught up | All dished out | Arms free | Kitchen's clean |
| Run | Weekly run | The paper trail | Free arm weeks | Stove's been hot |
| Skip | Free skip | Lying low | Coffee break | Cold week |
| Wildcard | Wildcard | The wild rumour | The ninth arm | Chef's surprise |

Retire: today's 10, moves a morning, You're done for today.

Onboarding: the first week is different. The first win bar, heart one, make one, hand off one, replaces the Monday drop until it is done. See [c-1b](#c-1b).

### The pick {#c-5.the-pick}

User moment: You want to know in one glance whether an idea is worth a minute.

Answer: A pick is one idea, closed in 25 words, opened in four layers.

- Five picks a week, the rest are ideas
- Closed: area, thing, headline, why, button
- Open: draft, Why this, plan, where

Character line: Fetch: One stick at a time. Never a whole tree. | Buzz: One flower per pick. Smell it, choose it. | Scoop: One scoop per page. Short and juicy. | Ocho: One idea per arm. Five arms busy, three on coffee. | Seeti: One special per plate.

- Screen t1: Closed picks
- Screen p1: An open pick

- Screen d1: Picks on a laptop

| | |
| --- | --- |
| Plain word | Pick for the five, idea for the rest |
| Retire | card, call, decision, signal, move, as user words |
| Status | Next, a Recompose of today's ranked feed |

A pick on a phone opens as a full screen sheet over Today. On a tablet it opens from the right at half width. On a laptop it opens as a side peek beside the list, and Esc closes it.

The character never speaks on a pick. Picks belong to the brand.

### Why this {#c-5.why-this}

User moment: It says run a rain ad. You want to know why before you spend an evening on it.

Answer: Why this gives at most three lines, each with its source, then the plan in five short steps.

- Every number has a source chip
- Unsure numbers carry To confirm
- Projections say so

Character line: Fetch: I can show you where I found it. Under the sofa, mostly. | Buzz: Here is the flower it came from. Smell for yourself. | Scoop: This number is from your store page. If it looks off, confirm it first. | Ocho: I am not sure of this number. Confirm it before you use it. | Seeti: Here is the recipe. Every spice labelled.

- Screen p1: Why this on an open pick
- Screen p2: The full plan

- Source chip: Reviews, Shopify, Ad library, Site check. Shows where the number came from
- To confirm: A number we are not sure of. Check it before you use it
- A projection, not a promise: Any projected number. Never presented as a result

| | |
| --- | --- |
| Plain word | Why this, with its plan |
| Retire | moves, plays, playbooks, plans as a page name, proofs, evidence |
| Scoop says | The source |
| Status | Today, recomposed Next |

The plan is five steps at most, each under ten words. The whole plan for your store lives in Your store as The plan, grouped by get found, get chosen, get them back, with Download in the kit's look.

### Need your yes {#c-5.need-your-yes}

User moment: Somebody needs an answer from you, and you would rather not dig for it.

Answer: Yes or no questions only you can answer, at the top of Today, with a count on the tab.

- One place for everything waiting on you
- Ten words a question
- Yes and Not now

Character line: Fetch: Paw raised. One question, then I leave you alone. | Buzz: Quick buzz in your ear. Yes or not now. | Scoop: Just need your nod on this one. | Ocho: One arm up. This one needs your yes. | Seeti: Taste this first.

- Screen t2: One question, two buttons
- Screen t2:answered: After a yes, one left

- Today: Five lists, three names. On your board, Needs you, Needs your okay, the queue view and the greeting tiles.
- Tomorrow: One list. Need your yes at the top of Today, with a count on the Today tab.

| | |
| --- | --- |
| Plain word | Need your yes |
| Retire | On your board, Needs you, Needs your okay, Your call |
| Scoop says | Your nod |
| Ocho says | One arm up |
| Seeti says | Taste this first |
| Status | Today, recomposed Next |

What lands here: permission to use a photo, questions from a handed off brief marked Needs something from you, and from v2 approvals for posts. Risk: changing what counts as Need your yes changes ranking.

### Heart and Not for me {#c-5.heart}

User moment: You want it to learn your taste without filling in a survey.

Answer: Heart means more like this, Not for me means fewer, and Later means not now.

- Three gestures, all with Undo
- Never a promised number
- Taste stays per person

Character line: Fetch: Heart it and I fetch more of that. Not for me and I drop it. Mostly. | Buzz: Heart sends me back to that patch. Not for me, I skip it. | Scoop: Keep digging, or old news. Either way I learn. | Ocho: Stick it or drop it. Both teach me. | Seeti: Seconds, please, or off the menu.

- Screen t6: A heart, with its toast
- Screen t4: See everything

- Heart becomes Scoop: Keep digging | Ocho: Stick it | Seeti: Seconds, please | Fetch: Heart | Buzz: Heart
- Not for me becomes Scoop: Old news | Ocho: Drop it | Seeti: Off the menu | Fetch: Not for me | Buzz: Not for me
- Later becomes Scoop: Back pocket | Ocho: Under the desk | Seeti: Back burner | Fetch: Later | Buzz: Later

| | |
| --- | --- |
| Plain words | Heart, Not for me, Later |
| Retire | Save for later, Saved, Keep, Not interested, Less like this, Show fewer, Remove, Remind me tomorrow |
| Status | Today |

The build adds one more card in the hearted direction. Write: more like it appear. Never write a number. Fetch and Buzz show the plain word until their word lists exist.

### Make it {#c-5.make-it}

User moment: You want to change the thing, not learn a tool.

Answer: One place for everything you make: the thing itself, and a chat to change it.

- Every way in opens the same Make it
- Ask in words, get a new version
- Hand it off is the next step

Character line: Fetch: We chew on it together until it is just right. | Buzz: We build the comb cell by cell. | Scoop: The scribble. You talk, I scribble. | Ocho: Ink it. I have a pen in every arm. | Seeti: On the stove. Stir, taste, stir.

- Screen m1: Make it
- Screen m2: Making, you can leave
- Screen m3: Confirm a paid make

- Today: 16 ways into three making spaces. The jam pane, Jam v2 and the card page each made things their own way.
- Tomorrow: One way in, one Make it. A pick, a Work row or a notification all open the same Make it.

| | |
| --- | --- |
| Plain word | Make it |
| Retire | jam, studio, remix, stage, package, canvas, Jam v2, jam pane |
| Scoop says | The scribble |
| Ocho says | Ink it |
| Seeti says | On the stove |
| Status | Today, one Make it is Next |

Start something new lives in Work, for making with no pick. The floating round button and New jam go away. The making engines underneath stay as they are.

### Versions {#c-5.versions}

User moment: Version 3 was better than version 5. You want it back without a fight.

Answer: Every New version is kept in a strip, the current one marked, and one tap takes you back.

- Nothing is ever overwritten
- A broken make keeps the last good one
- The hand off takes the current version

Character line: Fetch: I keep every stick. You never know. | Buzz: Every cell of the comb stays. Pick your favourite. | Scoop: The stack. Nothing gets thrown out. | Ocho: Fresh ink. The old one is still in the stack. | Seeti: Another batch. The last one is still warm.

- Screen m4: The strip of versions
- Screen m5: Something broke, version 3 is safe

- New version: One more take appears and becomes current. Go back any time
- Versions: A strip, current marked. Tap one to make it current
- A make breaks: One sentence and Try again. The last good version stays

| | |
| --- | --- |
| Plain words | New version, Versions |
| Retire | Redo it, Another take, Make it again, One more, History, Earlier takes |
| Scoop says | Scribble again, the stack |
| Ocho says | Fresh ink |
| Seeti says | Another batch, the stack |
| Status | Today |

One version at a time, then New version. Never three options side by side.

### Hand it off {#c-5.hand-it-off}

User moment: You have ten buttons that all seem to share something. You want one.

Answer: One button, one question: who is shipping this.

- Me, My team, My agency or freelancer, The ShopOS team
- A brief number every time
- Nothing posts in v1

Character line: Fetch: Drop it at their feet. Good handoff. | Buzz: Pollen passed. Next bee, go. | Scoop: Pass the note. | Ocho: Free an arm. Hand it off. | Seeti: Order ticket. Pass it on.

- Screen h1: Who is shipping this
- Screen h2: The ShopOS team got it
- Screen h2:me: You ship it yourself

- Send brief becomes Hand it off
- Share the brief becomes Hand it off
- Send the brief now becomes Hand it off
- Share with my team becomes Hand it off, My team
- Hand it to the team becomes Hand it off
- Brief a team becomes Hand it off

| | |
| --- | --- |
| Plain word | Hand it off |
| Retire | Send brief, Share the brief, Send the brief now, Share with my team, Hand it to the team, Send as a file, Brief a team |
| Scoop says | Pass the note |
| Ocho says | Free an arm |
| Seeti says | Order ticket |
| Status | Next, a Restyle over today's routes |

Me copies the words and opens the exact place to post. My team and My agency or freelancer copy a numbered brief and a read only link, nothing sent. The ShopOS team gets your brief.

### The brief {#c-5.the-brief}

User moment: Whoever ships this needs everything on one page, and you never want to explain it twice.

Answer: A brief is a numbered page anyone can ship from: what, why, the words, where, by when, and the files.

- One format instead of four
- Read only, no login
- Old links still open

Character line: Fetch: Everything they need, in one mouthful. | Buzz: One cell, full of honey, clearly labelled. | Scoop: One note with everything on it. Nothing left out. | Ocho: The clipboard. One page. Every arm's work on it. | Seeti: The order ticket. Mono font, torn edge, no confusion.

- Screen h3: The brief page
- Screen e2: The brief status email

- What: The thing, by name
- Why: The sourced reason
- The words: Every line, ready to paste
- Where: The channel and placement
- By when: The date
- The files: Every file of the version handed off

| | |
| --- | --- |
| Plain word | Brief, brief number such as Brief 1042 |
| Retire | team brief, jam brief, handoff as a noun |
| Ocho says | The clipboard |
| Seeti says | Order ticket |
| Status | Today |

Today there are four brief formats and four share link shapes. Keeping one is the one Change core item in the plan: listed as a risk, done in its own step, with old links redirected first.

### Status {#c-5.status}

User moment: You want to know where everything is without opening everything.

Answer: Every piece of work has one status: Idea, In the works or Handed off.

- Three columns in Work
- Four sub lines after a hand off
- Later columns arrive with later versions

Character line: Fetch: Found it, chewing it, gave it away. Simple. | Buzz: Bud, bloom, honey. | Scoop: Hunch, on the desk, note passed. | Ocho: On the desk or off my arms. Nothing in between. | Seeti: Raw, cooking, served.

- Screen w1: Work
- Screen w2: Work, empty
- Screen w1:later: Work with later columns

1. Idea: not started
2. In the works: being made
3. Handed off: with whoever ships it
4. Scheduled, Live, How it went: later versions [Later]

| | |
| --- | --- |
| Plain words | Idea, In the works, Handed off |
| Sub lines | Received, In progress, Needs something from you, Delivered |
| Retire | Drafting, With teammate, With your team, Jamming, Ready, Brief shared, Decided, Done, sent, Shared |
| Scoop says | Hunch, On the desk, Note passed |
| Status | Today as words |

Today the build has six status vocabularies for one piece of work. New since you looked heads Work and replaces the bell.

### Areas {#c-5.areas}

User moment: You think in jobs to get done, not in marketing departments.

Answer: Five areas named in your words, used only as tags and filters.

- Each area answers one founder question
- Small colour tags, never the hero
- Pick the ones you handle

Character line: Fetch: Five toys in the basket. You pick which ones I bring. | Buzz: Five kinds of flower. Same bee. | Scoop: Five beats. I cover the ones you care about. | Ocho: Five arms, five props. Three arms left for coffee. | Seeti: Five stations. One kitchen.

- Social posts: What should I post this week?
- Ads: What ad should I run next?
- Website: Why are visitors not buying?
- AI search: Does ChatGPT recommend me?
- Email and WhatsApp: How do I get customers back?

- Screen s3: Which of these do you handle
- Screen t4:ads: Filtered to Ads

| | |
| --- | --- |
| Plain words | Social posts, Ads, Website, AI search, Email and WhatsApp |
| Retire | Creative, Performance, Catalog, Storefront, AI visibility, AI answers as an area, the agent names |
| Status | Next, a Restyle |

Area colours stay as small tags only and never become a character's hero colour. Each character carries the areas as props: Scoop has an instant camera, binoculars, a magnifying glass, a tin can telephone and postcards; Ocho a paintbrush, megaphone, shopping bag, phone and scroll; Seeti a phone, a sandwich board, a shop window, a magnifying glass and a tiffin carrier.

Onboarding: Which of these do you handle is the first of the three quick questions during the read, and it replaces the old seat tiles.

### What we know about you {#c-5.what-we-know}

User moment: You want to see what it thinks your store is, and fix it when it is wrong.

Answer: One page holds every fact we keep about your store, each with its source, plus your house rules.

- Tell us something, any time
- House rules it never breaks
- Share your brand book

Character line: Fetch: Everything I sniffed out about you, in one bowl. | Buzz: Everything I gathered, stored in the comb. | Scoop: My notes on you. You can read every line. | Ocho: Grip. Everything I hold about your store. | Seeti: House recipe. You can edit it.

- Screen s2: What we know about you
- Screen y2: What customers say
- Screen y4: What AI search says, with the brand book fix

- Memory, Learned, Brand learnings becomes What we know about you
- Fact sheet, Lessons, Rules becomes What we know about you
- Brand Book as a page name becomes Share your brand book
- The check page under a clock becomes What we know about you, optional, no timer

| | |
| --- | --- |
| Plain word | What we know about you |
| Scoop says | My notes on you |
| Ocho says | Grip |
| Seeti says | House recipe |
| Status | Today, recomposed Next. The memory meter is Next |

The memory meter shows how much we know about your store, never your results. One shared brand memory plus a personal layer sit underneath. The brand book is the public page with your brand's facts and files for AI tools, and AI search links to it as the fix for answer gaps.

Onboarding: the second and third quick questions, your next big moment and one thing you never want to post, land here as facts and house rules. The old check page under a clock becomes an optional look at this page, with no timer.

## C7 Features A to Z {#c-6}

Everything it can do, where it lives now, and where it lived before.

### Every feature on one map {#c-6.az-index}

User moment: You want to know everything this thing can do, without clicking around for an hour.

Answer: Every capability lives at one of six addresses: Today, Work, Your store, Settings, a pick and Make it.

- Six addresses hold every feature
- Nothing more than three taps away
- Each feature lives in exactly one place

Character line: Fetch: Six rooms. I checked every one for tennis balls. Found features instead. | Buzz: Six cells in the hive. Every job has its own cell. | Scoop: Psst. I rummaged the whole building. It all fits in six rooms now. | Ocho: Six rooms, eight arms. I can reach all of them without standing up. | Seeti: Six stations in my kitchen. Everything has a shelf. Nothing on the floor.

**The whole product, every feature**
- Getting in
  - Paste your store
  - Sign in with your work email
  - Reading your store
  - Three quick questions
  - Here's your store
- Today
  - Need your yes
  - Story rings
  - This week's picks
  - See everything
  - Caught up
- A pick
  - The draft and Versions
  - Why this and the full plan
  - Where to post
- Make it
  - The thing and the chat
  - New version and Versions
  - Confirm a paid make
  - Hand it off
- Work
  - New since you looked
  - Ideas, In the works, Handed off
  - Scheduled, Live, How it went
- Your store
  - Store health
  - What customers say
  - What rivals run
  - What AI search says
  - What changed
  - The plan
- Settings
  - What we know about you
  - Which of these do you handle
  - Team
  - Connections
  - Notifications and sound
  - Account
- Outside the app
  - Brief page
  - Monday email
  - Brief status email

**The front door on phone and laptop**
- Screen t1: Today on a phone
- Screen d1: Today on a laptop

This section lists every capability in today's build, from _research/product-audit.md section 1 and the 309 surfaces in shared/surface-map.md, and says where each one lives in the one product from shared/ia.md.

Status tags follow the shared model. Today means built now and restyled or recomposed. Next means an add on behind its own switch, arriving soon in v1. Later means a later version. The v tag on a card says which version brings it: v1 drafts and hands off, v2 posts and schedules with your yes, v3 shows what worked, v4 runs ads inside rules and a budget you set.

| Address | What it holds | Screen ids |
| --- | --- | --- |
| Today | Need your yes, story rings, five picks, See everything, caught up | t1 to t6, d1 |
| A pick | The draft, Versions, Why this, the full plan, Where to post | p1, p2 |
| Make it | The thing, the chat, tools, New version, the confirm sheet, Hand it off | m1 to m5, h1, h2, d2 |
| Work | New since you looked, Ideas, In the works, Handed off | w1, w2 |
| Your store | Health meters and five sections | y1 to y5 |
| Settings | Six rows | s1 to s7 |
| Outside | Paste, sign in, read, Brief page, emails, errors | f1 to f7, h3, e1, e2, x1, x2 |

The next eight pages go family by family. Each card names the feature, its new home and what it absorbs. The full text of each page has the table a builder needs: feature, new home, what it absorbs today, version, and the file that already does the work.

### Onboarding: from pasted link to first win {#c-6.az-start}

User moment: You just heard about it. You want to see your own store in it before you commit to anything.

Answer: Paste, sign in, watch it read with three quick questions, see one finding and reach a first hand off, in 4 screens instead of about 11.

- Paste, sign in, watch it read, the reveal, first win
- Founder, invited teammate, agency and Shopify each have a way in
- One skip label instead of six

Character line: Fetch: You throw me the link. I run off and read everything. Back in four minutes, tail going. | Buzz: One link and I visit every flower in your store. Seven of them, to be exact. | Scoop: Pass me the tip. I read everything public about your store and report back. | Ocho: Pass it here. One arm per source. I have one spare for snacks. | Seeti: Into the pot. Three whistles and your store is cooked through.

**First run, tomorrow**
1. Paste your store: one box, Build my feed [Today]
2. Sign in with your work email: then the read starts [Today]
3. Reading your store: seven sources, three quick questions [Today]
4. Here's your store: one finding you can share [Next]
5. Today: five picks waiting [Today]

- Paste your store: Home: first run. Absorbs the landing, the demo picker promise and the Shopify start screen. [Today] [v1]
- Sign in with your work email: Home: first run. Absorbs two sign in walls and the wrong account wall. [Today] [v1]
- Reading your store: Home: first run. Absorbs the reading screen, the agent roster and the read done bar. [Today] [v1]
- Three quick questions: Home: inside the read. Absorbs five questions, three setup steps and the check page. [Next] [v1]
- Here's your store: Home: first run. New. Absorbs the ready overlay, swipe tuner and welcome card. [Next] [v1]
- Reads are full this week: Home: first run. The cap screen with a design partner read ask. [Today] [v1]
- First win bar: Home: Today, first week. The path to a first hand off. Absorbs Start here. [Next] [v1]
- Memory meter: Home: What we know about you. How much we know about your store, never your results. [Next] [v1]
- Invited teammate: Home: invite email, Join, then Today with one toast. Absorbs the four /join states. [Today] [v1]
- Shopify install: Home: Paste your store inside Shopify, same words and read time. Absorbs seven Shopify pages. [Today] [v1]
- Claim your store: Home: first run. The first person from the store's domain owns it. [Today] [v1]
- Agency with several brands: Invited per brand today. One brand switcher Later. [Later] [v4]

**The four screens**
- Screen f1: Paste your store
- Screen f2: Sign in
- Screen f4: Reading your store
- Screen f7: Here's your store

Today a new brand passes about 11 screens and up to 14 decisions before the first card, with six skip labels: Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed. Source: product-audit.md 2.1.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| Paste your store | Type a link, tap Build my feed. A name without a dot gets a Use x.com hint | First run, f1 | Landing A1, demo picker S77 promise, Shopify home S42 | Today, v1 | app.js 395 to 454, server.js POST /api/brands |
| Paste inside Shopify | Same screen, store already filled in | First run, f1s | Shopify embedded home, its half an hour line | Today, v1 | shopify-app.js, shopify-home.js |
| Sign in with your work email | Google sign in with a work address | First run, f2 | Sign in wall A3, failed sign in pages | Today, v1 | auth.js |
| This store is for its own team | Refusal with See demo stores and Switch email | First run, f3 | Wrong account wall A4, closed store gate S22 | Today, v1 | app.js 278 to 289, closed-gate.js |
| Join | An invite lands you on the brand | First run | /join with four states, old approve page | Today, v1 | auth.js 250 to 296 |
| Reading your store | Watch seven sources tick: store, brand, catalog, reviews, ads, site, AI answers. About 3 to 4 minutes | First run, f4 | Reading screen, agent roster, read done bar, wait screen | Today, v1 | build.js, reader/, feed-service.js onboarding stream |
| Three quick questions | Tap answers while it reads | Inside f4 | Five questions, setup steps for seat, focus and the check page | Next, v1 | questions.js, POST confirm |
| Read did not finish | One line, Start again | First run, f5 | Read failed bar | Today, v1 | app.js 578 to 581 |
| Reads are full this week | Ask for a design partner read | First run, f6 | Cap notice | Today, v1 | open question below |
| Here's your store | One shareable finding, then Open my picks | First run, f7 | Ready overlay, swipe tuner, welcome card | Next, v1 | new add on |
| Connect your tools and invite your team | Moved out of first run | Settings, Connections and Team | Setup steps Connect your tools, Invite your team | Today, v1 | live.js, connectors/ |
| First win bar | Shows the next step to a first hand off | Today, first week | Start here | Next, v1 | add on |
| Memory meter | Shows how much we know about your store | Settings, s2 | none | Next, v1 | add on |
| Claim your store | First person from the domain claims it | First run | Claim a brand book, check page claim | Today, v1 | P12, check route |
| Invited teammate | Invite email, Join, Today with Welcome to the team | First run, then Today | /join four states, join toast | Today, v1 | auth.js 250 to 296 |
| Shopify install | Install, then Paste inside Shopify; sign in opens in a new tab | First run, f1s | Embedded home, outside the admin page, new tab hop, hop expired, install errors, renew page | Today, v1 | shopify-app.js |
| Agency | Invited to each brand; brand switcher later | Today per brand, x3 Later | none | Later | GET /api/brands half supports it |

Who onboards and how:
| Person | Way in | First screen they see |
| --- | --- | --- |
| Founder | Paste your store on the landing | Reading your store |
| Invited teammate | Invite email, Join | Today |
| Agency or freelancer | Brief page link, or an invite per brand | Brief page or Today |
| Shopify merchant | Install from the Shopify admin | Paste your store inside Shopify |
| Guest of one brief | Open it in Make it from the Brief page | Make it, guest |

Rules that stay true:
- The read starts only for someone signed in with a work email. Never write that no sign in is needed. Showing one finding before sign in changes the read's start rule, a change core risk.
- The check page and the question taps post to the confirm route, which starts the plays. Dropping them changes what the read writes, so the three questions must still post there.
- Demo site at demo.joinsquareup.com keeps its own picker and tours, restyled, with Dummy tags kept.

Open question: the weekly read cap number is not stated in the sources. Find it in the build before printing it on f6.

### Today: your yes, your five, your stories {#c-6.az-today}

User moment: It is Monday, coffee in hand. You want to know what needs you and what is worth doing this week.

Answer: Today shows Need your yes on top, then five ranked picks, with story rings and See everything for the rest.

- One list of yes or no questions
- Five picks a week, finite
- Heart, Not for me and Later on every pick

Character line: Fetch: Five ideas dropped at your feet. And one ball. Ignore the ball. Actually, throw the ball. | Buzz: I waggle at the best one first. Then four more, in order of pollen. | Scoop: This week's scoop. Five things I overheard that you should act on. | Ocho: Arms full. Five picks, one arm up for each thing that needs your yes. | Seeti: This week's specials. Taste the ones up top first.

**Today and its parts**
- Screen t1: Today on Monday
- Screen t2: Need your yes
- Screen t3: A story
- Screen t4: See everything

- Need your yes: Top of Today. Absorbs three greeting tiles, the queue page, the Work lane Needs you and the bell group. [Today] [v1]
- Story rings: Under the greeting. 24 hour stories, Your week recap on Monday. Absorbs the recap ring. [Today] [v1]
- This week's picks: Five ranked, each a closed card. Absorbs today's 10 and Moves a morning. [Today] [v1]
- Heart, Not for me, Later: On every pick. Absorbs five card icons, six menu items and the swipe tuner. [Today] [v1]
- See everything: The rest, ranked, filtered by area. Absorbs the Deck, Find more, Yesterday and the Signals column. [Today] [v1]
- Caught up: The sign off until Monday. Absorbs You're done for today. [Next] [v1]
- Monday drop, weekly run, wildcard: Five fresh picks a week, a run of weeks with a hand off, one wildcard pick. [Next] [v1]

Today has five places listing things waiting on you: the Need your yes tile, the On your board tile, the Work lane Needs you, the Notifications group Needs you and the Library group Needs you. Source: product-audit.md 2.2. Tomorrow there is one: Need your yes, with a count on the Today tab.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| Need your yes | Answer a yes or no question, Yes or Not now | Today top, t2 | Tiles Need your yes, Costs ad money, On your board; queue page; decision cards; Library badge Needs your OK | Today, v1 | yesOf, todayOf, gLists at app.js 1306 to 1311 |
| Story rings | Tap a ring, one fact per frame, one button | Today, t3 | Rings brand today, Trends, Popular ads, Industry news, How to, recap | Today, v1 | research.js, feed-service.js 1347 |
| This week's picks | Read five closed cards, open one | Today, t1 | Feed home, today's 10, Moves a morning, Start here | Today, v1 | renderFeed, ranking in feed-service.js |
| Heart | More like this; one more pick in that direction appears | Every pick, t6 | Heart, Save for later, Saved | Today, v1 | feed-service.js 2013 |
| Not for me | Drop it | Every pick | Not interested, Less like this, Show fewer from an agent | Today, v1 | member-tuning.js |
| Later | Back on a later day | Pick menu | Remind me tomorrow | Today, v1 | existing snooze |
| See everything | The rest, ranked, with an area filter | Today, t4 | Deck and its columns, See the next 15, Find more, Yesterday | Today, v1 | same ranked list |
| Customer groups to reach | Picks in the Email and WhatsApp area | Today and See everything | The Signals column, the only Email and WhatsApp surface | Today, v1 | Deck Signals data |
| Refresh | Pull to refresh | Today | Refresh toasts | Today, v1 | app.js 2840 to 2885 |
| Caught up | A sign off until Monday | Today, t5 | You're done for today | Next, v1 | add on |
| First win bar | Shows the path to a first hand off | Today, first week | Start here | Next, v1 | add on |
| Monday drop | Five fresh picks a week | Today and the Monday email e1 | Weekly digest | Next, v1 | digest.js reads plays, not the ranked feed |
| Weekly run | Weeks in a row with a hand off, one free skip a month | Today | none | Next, v1 | add on |
| Wildcard pick | One surprise pick a week | Today | none | Next, v1 | add on |

Areas used for the filter: Social posts, Ads, Website, AI search, Email and WhatsApp. They replace agent names Creative director, Performance marketer, Catalog manager, AI visibility and CRM specialist.

### A pick and why it is there {#c-6.az-pick}

User moment: One idea caught your eye. Before you spend ten minutes on it, you want to know why it is worth it.

Answer: An open pick shows the draft, Versions, Why this and Where to post, with one button at the bottom: Make it.

- The draft first, words second
- Why this: three sourced lines, then the plan
- One button: Make it

Character line: Fetch: Found the idea, then sniffed my way back to where it came from. | Buzz: Every pick comes with its trail back to the flower. | Scoop: The source. I never pass on gossip without saying who said it. | Ocho: Ink on one side, proof on the other. Both arms full. | Seeti: Here is the dish and here is the recipe. Read both.

**Open a pick**
- Screen p1: A pick, open
- Screen p2: The full plan

**What the open pick absorbs**
- Card page, desktop drawer and full page becomes The open pick. Removed, card data stays
- Proof sheet, shield N proofs becomes Why this. Three sourced lines
- Play page and plays list for founders becomes The full plan, under Why this. Plays list goes Staff only
- Play PDFs with all caps headings becomes Download as PDF on the full plan. Restyled, sentence case
- Version picker Go with A becomes Versions. One strip, current marked

The open pick has four layers in a fixed order, from product-model.md section 10: the draft and Versions, Why this, Where to post, and the bottom bar with Make it.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| The draft | See the thing itself first | p1 | Card slot, card page body | Today, v1 | drafts-bg.js first drafts |
| Versions | Tap back to any earlier version | p1 and m4 | History, Earlier takes, version picker | Today, v1 | remix history |
| Why this | Three lines, each with a number and a source chip | p1 | Proof sheet, Why you're seeing this, The evidence, Sources | Today, v1 | evidence.js, card-from.js, claims.js |
| The full plan | Steps, sources, Download as PDF | p2 | Play page, Week by week, Sources | Today, v1 | moves-engine.js, pdf/ |
| Where to post | The channel this pick is for | p1 | Make chip, connect line | Today, v1 | cards-gen.js fitMedium |
| Make it | One main button | p1 bottom bar | Card main bar, Start here, hand icon, Jam with the team | Today, v1 | remix routes |
| To confirm chip | Marks a number we could not check | Why line | Unsure numbers written as sentences | Today, v1 | stat-check.js |

Measuring leftovers on the card page, such as We stop if, Target, Check on day N and How we know it was this, are hidden. They come back as How it went in v3. Hiding them is a Restyle. Stopping their generation is a change core risk.

### Make it: one place to make everything {#c-6.az-make}

User moment: You like the idea. Now you want it to look and sound like your brand, without opening three tools.

Answer: Make it puts the thing on the left and the chat on the right, with New version and Versions, so three making spaces today become one.

- The thing large, chat to change it
- Price only on the confirm sheet
- Teammates and guests chat in the same place

Character line: Fetch: Tell me what to change and I fetch a new version. I never get tired of fetching. | Buzz: You hum the tune, I build the comb. New version any time. | Scoop: The scribble. Say what bugs you and I scribble again. | Ocho: Ink it. Fresh ink whenever you say. My arms do not cramp. | Seeti: On the stove. Not salty enough? Another batch.

**Make it, start to finish**
- Screen m1: Make it
- Screen m3: Confirm a paid make
- Screen m2: Making
- Screen m4: Versions

- Today: Three making spaces. The studio, the jam pane on the card page and Jam v2 behind a hidden address switch. Which one you got depended on the card, its stage and the address.
- Tomorrow: One Make it. Every entry opens Make it. The thing left, chat right on a laptop. On a phone the thing on top, chat below.

**On a laptop**
- Screen d2: Make it on desktop

Today there are 16 ways into a jam and three jam interfaces. Source: product-audit.md 3.4 and 2.3. Tomorrow every entry opens Make it.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| The thing | See and edit the draft in place | m1 | Studio stage, Creative and Brief switch, canvas | Today, v1 | remix.js, studio.js |
| The chat | Ask AI or a teammate to change it | m1 | Chat tab, jam pane chat, Jam v2 chat, Conversation | Today, v1 | jams.js, jam-answer.js |
| Tag a teammate, ask for an OK | @ a name; the ask lands in their Need your yes | m1 | Person icon, assign popover, Approve vN | Today, v1 | jam-room.js 143 |
| Add a photo or file | One add button | m1 tools | Composer menu, Drop anything row, photo and reference pickers | Today, v1 | composer.js |
| Talk instead of typing | Mic on the chat box | m1 tools | Talk on every box | Today, v1 | existing |
| Film board and teleprompter | Plan shots, read on camera | m1 tools, videos only | Film board | Today, v1 | film-board.js |
| New version | One new take | m1 | Redo it, Another take, Make it again, refresh icon | Today, v1 | remix routes |
| Versions | A strip, current marked | m4 | History, history pill, drafts list | Today, v1 | remix history |
| Final as a version | The final is the newest version, marked final | m4 | Make the final sheet, Revise the final | Today, v1 | finals.js |
| Confirm a paid make | Price once, what happens, Make it or Not now | m3 | Prices on buttons, finals quote, priced toolbar | Today, v1 | creative-stage.js, jam2 engines |
| Making | Wait pose, one line, you can leave | m2 | Opening the jam overlay, Being made line | Today, v1 | loader.js |
| Waiting game | A game during long makes, off by default | m2 add on | Catch the beans | Today, off | game file |
| Make our version | Start from a rival's long running ad | Story ring button into m1 | Make our version on cards and stories | Today, v1 | rival-ad.js |
| Something broke | One sentence, Try again | m5 | 16 empty and error styles | Today, v1 | none new |
| Guests | Someone with the brief link chats, edits and drafts, never shares, approves, assigns or discards | m1 guest | Guest jam | Today, v1 | member-ctx.js |
| Start something new | A blank Make it | Work | Round button, New jam, Start a new jam | Today, v1 | jam-room.js 494 |
| Mute this | Stop emails for one Make it | m1 menu | Jam mute | Today, v1 | jam-mail.js |

Never shown to founders: vendor and model names such as Sloosh, Veo or Gemini, credits, Spaces. The composer's model and memory headers stay as they are; changing their defaults changes generation, a change core risk.

Removed and not hidden: Jam v2 with its boards, spark, finish sheet and history pill; the jam pane; the options page; the batch page becomes a pick with versions. Their engines stay.

### Hand it off and the Brief page {#c-6.az-hand}

User moment: It is good enough. You need it out of your hands and into the hands of whoever ships it.

Answer: One button, Hand it off, asks Who is shipping this, so four routes and ten buttons become one.

- One button, one who sheet
- Only the ShopOS team route sends anything
- The Brief page needs no login

Character line: Fetch: Drop it. Good. Now your team picks it up and runs. | Buzz: Off to the next hive. The note tells them exactly what to build. | Scoop: Pass the note. Folded neat, sources on the back. | Ocho: Free an arm. The clipboard goes to whoever ships it. | Seeti: Order ticket up. The kitchen knows exactly what to plate.

**Hand it off**
- Screen h1: Who is shipping this
- Screen h2: Handed off
- Screen h3: The Brief page

**Ten buttons, one home**
- Send brief in the studio, which drafts your own email becomes Hand it off, Me or My team. Nothing sent
- Send the brief now, Send brief in the jam pane becomes Hand it off, The ShopOS team. Emails the ShopOS team
- Share with my team, Share the brief, Hand it to the team becomes Hand it off, My team. Copies the brief
- Send PDF, Open in Gmail, Mail or Outlook draft becomes Brief page, Download as PDF. Your own mail app
- Brief a team in Jam v2, Saved Send brief, New jam Send to the ShopOS team becomes Hand it off. Same sheet
- Copy and open becomes Hand it off, Me. Copies the words, opens the exact place to post
- Share to Slack, Jam on Slack becomes Hand it off, My team, Post to Slack. Only when Slack is connected

Today there are four hand off routes with overlapping names, and Send brief means two different things. Source: product-audit.md 2.4.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| Hand it off | One button in Make it | m1 bottom bar | Ten buttons on six surfaces | Next, over today's routes | share.js |
| Me | Copies the words and opens the exact place to post | h1 | Copy and open, Copy the caption, Download | Today, v1 | existing copy and open |
| My team | Copies the numbered brief; Post to Slack when connected | h1 | Share with my team, Share to Slack, WhatsApp share | Today, v1 | doc/ship with to team |
| My agency or freelancer | Same as My team, with the Brief page link up front | h1 | none; reuses the team route | Today, v1 | doc/ship with to team |
| The ShopOS team | The ShopOS team gets your brief by email and makes it | h1 | Send brief, Send the brief now, Send to the ShopOS team | Today, v1 | jam-brief.js, jam-mail.js briefSent |
| Handed off | Brief number, copied or received | h2 | Brief shared states, Brief ready to paste, Send again | Today, v1 | jam-brief.js nextTicket |
| Changed since you handed it off | Hand off the new version | h2 | Send v4 | Today, v1 | existing |
| Brief page | Numbered brief, files, Copy all, status stamp, Open it in Make it | h3, no login | Read only brief, Ready to post page, Jam v2 brief page | Today, v1 | handoff.js, feed-service.js share routes |
| Brief status | Received, In progress, Needs something from you, Delivered | Work, Handed off sub line | Nine places, four wordings | Today, moved by the ShopOS team | brief-status.js |

Only the ShopOS team route sends anything. Every other route copies, and you paste. The product never posts or publishes in v1. In v2 Hand it off gains Schedule it, and in v4 Let it run, each with its own yes.

The Brief page keeps all four old link shapes answering. See Every route and its redirect in Today to tomorrow.

### Work and Your store {#c-6.az-work-store}

User moment: You want one place to see what is moving, and one place to see what the world says about your store.

Answer: Work is a board of Ideas, In the works and Handed off, and Your store holds store health and five sections.

- Work replaces the board, Library and bell
- Your store replaces Heard, watch, Rivals, Products
- Each thing lives in one place

Character line: Fetch: Work is where I keep the balls I already fetched. Your store is the park I sniff every day. | Buzz: Work is the comb we are filling. Your store is the whole meadow. | Scoop: The case board and the grapevine. One for what we do, one for what I hear. | Ocho: The desk and your waters. I keep an arm in each. | Seeti: The rail of tickets, and the pantry. Both tidy.

**Work and Your store**
- Screen w1: Work
- Screen y1: Your store
- Screen y2: What customers say
- Screen y3: What rivals run

- New since you looked: Heads Work. Absorbs the bell, the notification panel and the N with the team pill. [Today] [v1]
- Ideas, In the works, Handed off: Absorbs the Work lanes, Library Jams, Saved and the dashboard sheet. [Today] [v1]
- Scheduled, Live, How it went: Columns that arrive with the powers that need them. [Later] [v2]
- Store health: Three meters, one fix line each. Never called rings. [Today] [v1]
- What customers say: Absorbs Heard, What we heard, Things people said and the watch page. [Today] [v1]
- What rivals run: Absorbs Rivals, rival trading cards and the Popular ads ring source. [Today] [v1]
- What AI search says: Answers that name you, gaps, and the brand book as the fix. [Today] [v1]
- What changed and The plan: Price, stock, new products, reviews. The plan grouped by get found, get chosen, get them back. [Today] [v1]

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| New since you looked | Replies, updates, briefs that moved; each opens its thing | Work top | Bell, panel, N with the team popover, refresh toasts | Today, v1 | feed-service.js notifications |
| Ideas | Picks you hearted or started | Work | Saved, Library, Keep | Today, v1 | saved data |
| In the works | Everything in Make it | Work | Lanes Drafting, With teammate, Ready; Library Jamming; AI lane | Today, v1 | jams.js |
| Handed off | With one sub line | Work | Brief shared lane, recap ring lines | Today, v1 | brief-status.js |
| Start something new | A blank Make it | Work | Round button, New jam | Today, v1 | jam-room.js |
| References | Your uploaded references | Make it tools | Library References tab | Today, v1 | app.js 3233 to 3322 |
| Store health | Three meters with a fix line | Your store top, y1 | Store health rings | Today, v1 | feed-service.js |
| What customers say | Themes, counts, mood chips | y2 | Heard, watch page, What people say tiles | Today, v1 | listen-watch.js |
| What rivals run | Rival cards, long running ads, public pages only | y3 | Rivals page, rival tabs | Today, v1 | reader/adlib.js |
| What AI search says | Answers that name you, gaps | y4 | AI answers standing, Deck AI answers | Today, v1 | reader answers stage |
| What changed | Price, stock, new products, reviews | y1 row | Shelves, live watch | Today, v1 | live-watch.js |
| Products | Each product and what was made for it | Your store | Products page | Today, v1 | reader/products.js |
| The plan | The whole plan, grouped | y5 | Plays list for founders | Today, v1 | moves-engine.js |
| Scheduled and Live columns | See what is booked and out | Work | Live pill, canvas Live since | Later, v2 | none |
| How it went column | See results per pick | Work | measuring remnants | Later, v3 | none in today's build |

Quotes in Your store appear only when real and attributed to their public source. Rivals are read from public pages only.

### Settings, team, connections and emails {#c-6.az-settings}

User moment: Your marketer just joined and you need to add her, connect Klaviyo and stop the evening emails.

Answer: Settings sits behind your picture in six rows, replacing the account menu, Your feed, What we learned, Connectors and the team sheet.

- Six rows, one level deep
- One status chip per connection
- Sound off on a first visit

Character line: Fetch: Settings is my kennel. Everything I know about you is pinned to the wall. | Buzz: The hive rules live here. Who is in, what we read, when I buzz. | Scoop: My notes on you. Every fact with where I heard it. | Ocho: My grip on your brand. Change anything, I let go of the old version. | Seeti: The house recipe. You can change the salt any time.

**Settings**
- Screen s1: Settings
- Screen s2: What we know about you
- Screen s5: Connections
- Screen s4: Team

**One status chip per connection**
- Connected: Reading on its schedule. Nothing to do
- Needs a sign in: Sign in again or pick an account. Connect again
- Expiring: Sign in runs out soon. Connect again
- Stale: Last read is old. Sync now
- Read only: Looks, never changes anything. Nothing to do

There is no Settings page today. Its jobs are spread over the account menu, Your feed, Viewing as, Connectors, the team sheet and What we learned with 13 sections and six sub pages. Source: product-audit.md 1f and 1e.

| Feature | What you do | New home | Absorbs today | Version | Already built in |
| --- | --- | --- | --- | --- | --- |
| What we know about you | Facts with sources, house rules, tell us something | s2 | What we learned, Brand Book page, fact sheet, rules, lessons, team notes, Teach a rule, Upload files, My preferences, Memory | Today, v1 | brand-memory.js, brand-learnings.js, facts-desk.js |
| Share your brand book | Opens the public page and its files for AI tools | s2 | Public Brand Book, brand.md, brand.json, llms.txt, kit zip, PDF | Today, v1 | brand-book.js, server.js 890 to 928 |
| Memory meter | How much we know about your store, never your results | s2 | none | Next, v1 | add on |
| Which of these do you handle | Pick areas, several allowed | s3 | Seats, Viewing as, Your seat, Tune my feed | Next, v1 | seat field, a change core risk |
| Team | Members with one chip: Admin, Member, Invited. Hand over is a row action | s4 | Team and access sheet, Make admin instead of me, browser confirm boxes | Today, v1 | live.js 385 to 470 |
| Connections | Rows with status chips and one connect sheet | s5 | Connectors page, connect sheet, setup step | Today, v1 | connectors/, vault.js |
| Notifications and sound | One switch per kind, sound off first visit | s6 | Email settings page, Sounds, jam mute | Today, v1 | jam-mail.js 88 to 97 |
| Account | Theme, Start again, Ask us to delete your data, Sign out | s7 | Account menu, theme toggle, Start fresh, Reset, Delete my data | Today, v1 | live.js 353 to 384 |
| Ask us to delete your data | Sends us a request | s7 | Delete my data email draft, Dummy tag kept | Today as a request, real deletion Later | none on the server yet |
| Monday email | Five picks, one button | e1 | Weekly digest | Next, v1 | digest.js |
| Brief status email | Where your brief is, one button | e2 | Status emails | Today, v1 | jam-mail.js |
| Connection expiry emails | Connect again | Email | Expiry emails | Today, v1 | connectors/ |
| Add to home screen, Help, Privacy and terms | Small rows under Account | s7 | Account menu rows | Today, v1 | app.js 1571 to 1590 |

Live connections today, read only: Shopify, Meta Ads, Google Analytics, Google Ads, Klaviyo, Judge.me and Slack. Slack also has a write grant for posting jam threads. Source: product-audit.md, BRIEF differences table. Never sell connections as posting or budget control in v1.

Staff only, not in founder Settings: demo controls, plays Build tab and spend, the plays Updates tab.

### Later powers: publish, schedule, results, ad rules (from v2) {#c-6.az-later}

User moment: You trust the picks now. You want it to post for you, show what worked, and maybe run your ads while you sleep.

Answer: v1: Today it drafts and hands off, and never posts, schedules or spends until later versions add those powers one at a time. | v2: In v2 it publishes and schedules on your accounts, only after your yes. | v3: In v3 it shows what worked, and results shape next week's picks. | v4: In v4 it runs ads inside rules and a budget you set, with undo always there.

- One power per version
- Need your yes becomes the control centre
- The dial starts at Suggest, always

Character line: Fetch: New trick every version. Still sits when you say sit. | Buzz: More jobs for the hive. Still asks the queen first. | Scoop: Each version I get to do a little more. Only with your nod. | Ocho: More arms free every version. One arm always up asking first. | Seeti: One more burner each version. My kitchen, your rules.

**The dial, per area and per channel**
1. Suggest: Reads, picks, drafts. You ship or hand it off [v1]
2. Prepare: Files ready per channel, one click from connected accounts [v2]
3. Schedule: You approve, it posts at your time [v2]
4. Run within rules: Acts inside budget caps, topics and approval windows, undo always [v4]

- Publish with your yes: Hand it off gains Post it. Each post is a Need your yes question first. [Later] [v2]
- Schedule it: Pick a time. Work gains a Scheduled column, then Live. [Later] [v2]
- How it went: A results view per pick and a How it went column in Work. [Later] [v3]
- Results feed the picks: What worked raises similar picks next week. [Later] [v3]
- Ad rules and budget: You set caps, topics and approval windows. Let it run is the third exit. [Later] [v4]
- Dial per client: Agencies set the dial for each brand, with the brand switcher. [Later] [v4]

**Work grows its columns** (from v2)
- Screen w1:later: Scheduled, Live, How it went

Source: BRIEF.md 3.6 and product-model.md section 8, step 9.

Each pick gets three exits: hand it off, schedule it, let it run. Only hand it off is on in v1.

| Power | Version | Where it lives | What you do | Guard |
| --- | --- | --- | --- | --- |
| Prepare | v2 | Hand it off | Files ready per channel | Nothing leaves without a tap |
| Publish | v2 | Hand it off, Post it | Approve, it posts on your connected account | A Need your yes question per post |
| Schedule | v2 | Hand it off, Schedule it; Work Scheduled column | Approve and pick a time | Undo until it goes out |
| Live | v2 | Work Live column | See what is out | none |
| Results | v3 | Work How it went column, the pick | See what each pick did | Numbers only with their source |
| Smarter picks | v3 | Ranking | Results raise or lower similar picks | Shown in Why this |
| Run ads within rules | v4 | Settings, a rules row per area; Let it run on a pick | Set budget caps, topics, approval windows | Undo always; nothing outside the rules |
| Budget | v4 | Settings and Need your yes | Set a cap; ask before going over | A hard cap you set |
| Dial per client | v4 | Brand switcher x3, Settings | Agency sets the dial per brand | Starts at Suggest |

Groundwork for v1, each an add on that touches nothing that works, from BRIEF.md 3.6:
- Each pick stores its destination channel.
- The brief is also saved as structured data.
- A decision log of hearted, made and handed off.
- Pick status is one extendable field, so Scheduled, Live and How it went slot in.

Open questions with no source yet:
- Which channels v2 publishes to first. Live read only connections today are Shopify, Meta Ads, Google Analytics, Google Ads, Klaviyo, Judge.me and Slack; write scopes would need new platform reviews.
- Default budget caps and approval windows for v4.
- How long v3 waits before reading a result, and which result counts for each area.
- Whether Prepare ships in v1 or v2; BRIEF.md says Next or Later.

### The gift shelf, feature by feature {#c-6.gift-shelf}

User moment: You use a screen every week and find out it doubles as a gift for your team.

Answer: Six built features double as free gifts for partner brands, because each is a new layout of the read.

- Six built gifts, five ideas
- Each maps to a screen that exists
- A gift needs no new reading

Character line: Fetch: Same fetch, new trick. Every feature can be a gift. | Buzz: Same pollen, more honey. | Scoop: Same notes, new clippings. | Ocho: Same eight arms, more presents. | Seeti: Same pantry, more specials.

**Feature to gift**
- Share your brand book, s2 becomes Your brand book. Built 23 Oct, public page plus five files
- Download as PDF on The plan, y5 and p2 becomes Your plan as PDFs. Drawn on download
- Here's your store and Your store, f7 and y1 to y4 becomes Your store, read. Reveal is Next
- What rivals run and the references sheet, y3 becomes Rival ad teardowns. Public ad libraries
- Hand it off, Me, with Copy and open, h1 becomes Community finds. Built 20 Oct
- Viral finder and View references, m1 becomes Viral references. 10 times their usual
- What AI search says, y4 becomes AI search report. Idea, not built
- What customers say, y2 becomes Review highlights wall. Idea, not built
- Your week story, t1 becomes Monthly recap card. Idea, not built

A feature becomes a gift when it passes the four checks in [h-11](#h-11): made from data the read already holds, useful to a teammate who never opens the app, refreshed when the read refreshes, and carrying the character only as a sign off.

| Feature | Screen | Gift | Status |
| --- | --- | --- | --- |
| Share your brand book | s2 | Your brand book | Today |
| Download as PDF | y5, p2 | Your plan as PDFs | Today |
| The read and the reveal | f7, y1 to y4 | Your store, read | Today, reveal Next |
| References sheet | y3 | Rival ad teardowns | Today |
| Copy and open | h1, p1 | Community finds | Today |
| Viral finder | m1 | Viral references | Today |
| AI check | y4 | AI search report | Idea |
| Review themes | y2 | Review highlights wall | Idea |
| Brand book sticker sheet | s2 | Brand sticker pack | Idea |
| The plan and claims rules | y5, h3 | Launch day checklist | Idea |
| Your week story | t1, w1 | Monthly recap card | Idea |

## C8 Logic and rules {#c-7}

How picks get chosen, what the heart does, money, limits and safety.

### How picks get chosen {#c-7.rule-picks}

User moment: You wonder why this idea is first and not that one.

Answer: Every idea gets one score from freshness, impact, fit to you and how often you saw it, and the top five become this week's picks.

- Read, then plans, then ideas, then rank
- Five shown, the rest in See everything
- Your heart and Not for me move it

Character line: Fetch: I sniff every idea. The freshest, juiciest five go in my mouth first. | Buzz: The waggle dance is longer for the better flower. That is the whole ranking. | Scoop: I rank the gossip by how fresh it is and how much it matters to you. | Ocho: Every idea gets a number. Top five ride on my arms. | Seeti: Freshest ingredients first. Leftovers go on the full menu.

**From your store to five picks**
1. The read: seven sources
2. The plans: written on first open
3. Ideas: drafted from the plans
4. The score: fresh, impact, fit, minus seen too often
5. Five picks: and See everything

The score in the build: freshness plus impact plus affinity plus seat, minus fatigue. It lives in feed-service.js at lines 520 to 549 and must not change in the redesign.

How it works today, from product-audit.md section 7:

1. The read collects from the store, brand, catalog, reviews, ads, site and AI answers. Files: build.js, reader/.
2. The plans are written on the first feed open, through the feed open route. Files: moves-engine.js, brief.js.
3. Ideas are drafted from the plans and other streams: ideas.js, social-feed.js, listen-watch.js, live-watch.js, research.js for stories, statics.js, viral.js, drafts-bg.js for first drafts.
4. Every idea gets a score in feed-service.js lines 520 to 549: freshness plus impact plus affinity plus seat minus fatigue. The score gives urgency and a rank reason. The order is set at lines 683 to 718.
5. Per person tuning lives in member-tuning.js. Card value in value.js.

The redesign keeps this order and shows the top five as This week's picks, then everything else ranked in See everything.

| Input | What moves it |
| --- | --- |
| Freshness | New reads, changes in price, stock or reviews |
| Impact | The plan's priority and the idea's area |
| Affinity | Your hearts, Not for me, Later |
| Seat | Today's seat; tomorrow Which of these do you handle |
| Fatigue | Seeing the same kind too often |

Rules:
- Today shows three different numbers for today: 10 before the stop, a personal Moves a morning of 3, 5 or 10, and a hidden 14 for Need your yes. Tomorrow the visible number is five. Source: product-audit.md 6.5.
- Showing five is a Recompose over the same ranked list. Changing the score or the hidden 14 is a change core risk.
- Mapping seats onto Which of these do you handle changes ranking input. Check it before shipping.

Open question: whether the five are the top five overall or the top one per area. The sources say five ranked; the area spread is not decided.

### What counts as Need your yes {#c-7.rule-yes}

User moment: You only have two minutes. You want the things only you can decide, nothing else.

Answer: Need your yes holds questions only you can answer, yes or no, each saying what happens either way.

- Ten words at most per question
- Yes and Not now, nothing else
- One list instead of five

Character line: Fetch: Paw up or paw down. That is all I need from you. | Buzz: Just a nod from the queen and the hive gets to work. | Scoop: Your nod. One per question. I handle the rest. | Ocho: One arm up means I need you. Everything else I hold. | Seeti: Taste this first. Yes and it goes out. Not now and it waits.

**One question at a time**
- Screen t2: Need your yes, open
- Screen t2:answered: Answered

- Do: A question you can answer yes or no
- Do: One line on what happens either way
- Do: Count on the Today tab
- Never: The character on a decision
- Never: Hidden consequences
- Never: A third button

Rules from product-model.md section 10:
- A question, 10 words at most.
- One line on what happens either way.
- Two buttons: Yes and Not now.
- No character on a decision screen.

What lands here:
| Source | Today's name | Becomes |
| --- | --- | --- |
| Decision cards among the top ranked | Need your yes tile, Calls only you can make | Need your yes |
| Cards that cost ad money | Costs ad money tile | Need your yes |
| Work sent back for your OK | On your board tile, Approve vN | Need your yes |
| An OK request from a teammate | Assign popover, Waiting on a name's OK | Need your yes for that person |
| A brief that needs something from you | Needs info from you | Need your yes and Handed off sub line |
| A post or schedule to approve | none | Need your yes, v2 |
| A spend over your rules | none | Need your yes, v4 |

The rule in code: yesOf keeps decision cards inside the top todayN, which is the person's own number or 14, app.js lines 1306 to 1308. The digest counts needs you stages separately in digest.js line 74. Showing them as one list is a Recompose. Changing the 14 or adding OK requests changes ranking and emails together, a change core risk, so it ships in its own step.

In v2 and later, Need your yes becomes the control centre: every post, schedule and spend outside your rules asks here first.

### What the heart, Not for me and Later do {#c-7.rule-heart}

User moment: You liked one idea a lot. You want more like it, and fewer of that other kind.

Answer: Heart it and more like it appear, Not for me drops it and leans away, and Later brings it back another day.

- Never promise a number of new picks
- Three actions, two icons and one menu row
- Each one tunes ranking

Character line: Fetch: Heart means good idea, fetch more. Not for me means I drop it. No sulking. | Buzz: A heart sends me back to that flower. I bring more nectar. | Scoop: Keep digging, you say. I dig. Old news, you say. I forget it ever happened. | Ocho: Stick it and I grab more like it. Drop it and my arm lets go. | Seeti: Seconds, please. Coming up. Off the menu. Gone.

**A heart**
- Screen t6: Heart, and more like it appear

**Old actions to three**
- Heart More like this, Save for later, Keep becomes Heart. More like this
- Not interested, Less like this, Show fewer from an agent, Not for me becomes Not for me. Drops and leans away
- Remind me tomorrow, Not now, snooze becomes Later. Back another day
- Swipe tuner, Tune the deck, Your feed tuning becomes The heart and Not for me. Tuning by doing

Truth first, from product-model.md section 0: a heart asks the server for one child card, feed-service.js line 2013. Never write a number of new picks. Say: heart it and more like it appear.

| Action | Where | What it does | What it writes |
| --- | --- | --- | --- |
| Heart | Icon on every pick | One more pick in that direction, and the pick goes to Work, Ideas | Affinity up, decision log |
| Not for me | Icon on every pick | The pick leaves; fewer like it | Affinity down |
| Later | Pick menu | Hides it until another day | Snooze |

Seven ways to tune the feed today become these three actions plus Which of these do you handle. Source: product-audit.md 3.4.

The first heart gets a small celebration from the character. Later hearts get a one line toast.

### Card rules: what fits on a pick {#c-7.rule-cards}

User moment: You scroll on a phone with one thumb. You decide in a second or skip.

Answer: A closed pick is five things in 25 words at most: area and source, the thing, a headline, one why, one button.

- Headline 8 words, verb first
- Why 12 words, with a number and source
- One main button

Character line: Fetch: Short enough to read while I wait for the ball. | Buzz: Twenty five words. A bee does not waste nectar. | Scoop: One line of gossip and the source. Nobody reads a whole rumour. | Ocho: Five things per card. I could hold eight. I will not. | Seeti: Small plate, big flavour. Twenty five words.

**The closed card, top to bottom**
- 1. Area and source, 5 words: Ads, from your reviews
- 2. The thing, no words: The draft or one product photo
- 3. Headline, 8 words: Run the Monsoon candle rain ad
- 4. Why, 12 words: 41 reviews mention the smell of rain
- 5. Actions, one button: Make it, plus heart and Not for me

- Sample: the rain ad draft for the sample candle store (shared/sample/img/ad-rain.jpg)

From product-model.md section 10. The sample candle store and its 41 reviews are a Sample, not a real brand.

| Order | Element | Budget | Example |
| --- | --- | --- | --- |
| 1 | Area and source | 5 words | Ads, from your reviews |
| 2 | The thing | no words | The draft or one product photo |
| 3 | Headline | 8 words | Run the Monsoon candle rain ad |
| 4 | Why | 12 words | 41 reviews mention the smell of rain |
| 5 | Actions | one button | Make it, plus heart and Not for me |

- Area and source replace agent name, time, campaign, rank reason and the From label.
- With no asset, the thing is one big number with its source chip.
- Unsure numbers carry a To confirm chip, never a sentence.
- The open pick adds the draft and Versions, Why this, Where to post, and the Make it bar.

Other surfaces:
| Surface | Rule |
| --- | --- |
| Need your yes | Question 10 words, one line on what happens, Yes and Not now |
| Story frame | One fact, 8 words, over the picture |
| See everything | The same card, smaller |
| Your store rows | A theme, a count, a mood chip |
| Notifications | 60 characters, one thing, opens exactly that |
| Hand it off sheet | Three choices, one line each |

Making card generation write shorter titles is a change core risk. Until then the closed card shows the first sentence of the existing text.

### Money: paid makes, prices and budgets {#c-7.rule-money}

User moment: You hate surprise bills. You want to know before anything costs money.

Answer: Drafts are free to see, and anything paid asks once, on one sheet, with the price, before it starts.

- Price only on the confirm sheet
- No vendor names, no credits
- In v4, a budget cap you set

Character line: Fetch: I fetch drafts for free. The fancy ball costs money and I ask first. | Buzz: Honey costs pollen. I always show you the pollen before I spend it. | Scoop: Between us, I never spend your money without a nod. | Ocho: One arm up before any money moves. Every time. | Seeti: The menu shows the price before I light the stove.

**Confirm a paid make**
- Screen m3: Price once, Make it or Not now

- Do: One confirm sheet for anything paid
- Do: Say what happens after you tap
- Do: Show the price on the sheet only
- Never: Prices on buttons
- Never: Vendor or model names
- Never: A paid make started from Slack without the sheet

- Ad budget rules: Caps, topics and approval windows you set. Asks in Need your yes before going over. [Later] [v4]

Today: prices on buttons such as Make it with a price, free draft tags, credits, a finals quote, a priced toolbar in Jam v2, and two notices about writing paused and the brand's share of pictures for the day. Source: product-audit.md 5.17 and surface map F9.

| Rule | Tomorrow | Change |
| --- | --- | --- |
| Nothing is made or paid before Make it | Same, on the confirm sheet | Restyle |
| One confirm flow | m3: price once, what happens, Make it, Not now | Restyle |
| Finals | The final is a version; same sheet | Restyle |
| Vendor names | Never shown | Restyle |
| Slack make button | Removed so making always starts in Make it | Next, a change core risk |
| Picture share for the day | One plain line, resets at midnight UTC | Restyle |
| Writing paused | One plain line | Restyle |
| Ad budget | Caps you set, asks before going over | v4 |

Open question: the exact prices per make are set in the build and change; this book does not print them.

### Limits and caps {#c-7.rule-limits}

User moment: Something says it is full. You want to know why and when it comes back.

Answer: Every limit says what is full, when it resets and one thing you can do.

- Plain line, one way out
- The character in its empty or error pose
- No numbers we cannot source

Character line: Fetch: My mouth is full. I can only carry so many balls a week. | Buzz: The comb is full this week. New cells on Monday. | Scoop: Notepad full. I start a fresh page soon. | Ocho: All eight arms busy. One frees up soon. | Seeti: One pot at a time. The next one goes on soon.

**The cap screen**
- Screen f6: Reads are full this week

- Reads are full this week: The weekly read cap is reached. Ask for a design partner read
- Writing paused: New plans pause for a while. Open what you already have
- Pictures used up today: The brand's share of pictures for the day. Resets at midnight UTC
- Waiting for a slot: Your make is queued behind others. Leave, we let you know

| Limit | Where it shows today | Tomorrow | Source |
| --- | --- | --- | --- |
| Weekly read cap | First run | f6, Reads are full this week | ia.md screen list |
| Writing paused | Notice in the app | One line on Today | product-audit.md 5.17 |
| Picture share for the day | Notice; resets at midnight UTC | One line in Make it | app.js 2962 to 2970 |
| Queue for makes | AI lane: Now, Waiting to start, Starts when a slot frees up, Retry | In the works, with the wait line | surface map L11 |
| Rewrite caps on plans | Staff only | Staff only | memory notes, not for founders |

Open questions: the number of reads per week and the daily picture share are not stated in the sources. Read them from the build before printing a number.

### Safety and trust {#c-7.rule-safety}

User moment: You are letting a new app read your store. You want to know what it can touch.

Answer: In v1 it reads and drafts, and never posts, changes or spends on your accounts, and only the ShopOS team route, when you pick it, sends anything.

- Connections are read only
- Simulated things carry a Dummy tag
- From v2, every action asks first

Character line: Fetch: I look. I sniff. I never chew your accounts. | Buzz: I visit every flower and never pick one. | Scoop: I go through everything and touch nothing. Professional. | Ocho: Eight arms and none of them on your buttons. | Seeti: I read your pantry. I do not move your jars.

- Do: Say Read only on every connection
- Do: Keep Dummy tags on simulated data
- Do: Undo toast for anything reversible
- Do: One sheet for anything paid or leaving the product
- Never: Imply posting or budget control in v1
- Never: Browser confirm boxes
- Never: Show quotes without their public source
- Never: Disconnect a protected live connection

- Access by work email: A brand is for its own team. Others see demo stores. [Today] [v1]
- Guests of one brief: Chat, edit, draft. Never share, approve, assign or discard. [Today] [v1]
- Approve every post: Each post or schedule is a Need your yes question. [Later] [v2]
- Rules and undo for ads: Nothing outside your caps, undo always there. [Later] [v4]

| Rule | How it holds today | File |
| --- | --- | --- |
| Read only connections | Shopify, Meta Ads, Google Analytics, Google Ads, Klaviyo, Judge.me read only; Slack write grant only for threads | connectors/, vault.js |
| Protected connections | Some live client connections refuse disconnect | connectors/index.js |
| Access | Work email only; staff on shopos.ai and joinsquareup.com see every brand | auth.js, member-ctx.js, closed-gate.js |
| Guests | One brief only, limited actions | member-ctx.js |
| Dummy tags | Simulated things carry Dummy | test/honesty.test.js, DUMMY.md |
| Nothing posted | No post, send, schedule, launch, pause or budget move in v1 | BRIEF.md |
| Hand off | Only the ShopOS team route emails anything | jam-brief.js |
| Delete | A request today; real deletion Later | live.js 344 to 351 |
| Sound | Off on a first visit | Settings, s6 |
| Share links | Signed tokens; old shapes keep answering | handoff.js 15 to 31 |

From v2 the rules grow: every post or schedule is a Need your yes question, with undo until it goes out. From v4 ads run only inside caps, topics and approval windows you set, with undo always available. Source: BRIEF.md 3.6.

### Status words: where every piece of work is {#c-7.rule-status}

User moment: Your marketer asks where the rain ad is. You want one word that answers.

Answer: Work wears one of three words, Idea, In the works or Handed off, and 44 status lists today become two.

- Three words for work
- Four sub lines for Handed off
- Later: Scheduled, Live, How it went

Character line: Fetch: Found it, chewing on it, dropped it at your door. | Buzz: Flower, comb, honey jar. | Scoop: Hunch, On the desk, Note passed. | Ocho: In reach, inking, arm freed. | Seeti: Prepped, on the stove, plated.

**Work status**
1. Idea: hearted or started [Today]
2. In the works: in Make it [Today]
3. Handed off: with a sub line [Today]
4. Scheduled: booked to post [Later]
5. Live: out on your account [Later]
6. How it went: the result [Later]

**Handed off sub lines**
- Received: They have it
- In progress: They are on it
- Needs something from you: Also shows in Need your yes
- Delivered: Done

Source: surface-map.md section C, L1 to L44.

| Today's lists | Count | Becomes |
| --- | --- | --- |
| Studio step bar, card page steps, card stages, phases, Work lanes, tile badges, Library groups, team card, dashboard, server stage words, brief stage words | L1 to L7, L9, L10, L13 to L15, L30 | Idea, In the works, Handed off |
| Brief status moved by staff, read only stamp, recap ring, staff email | L16 to L19 | Handed off sub line |
| Needs your OK badges, notification kinds, digest asks | L8, L12, L24, L27, L28 | Need your yes |
| Jam v2 status lists | L20 to L23 | Removed with Jam v2 |
| Drafts list | L25 | Versions |
| Live pill | L26 | Later, v2 |
| Card kinds Report, Idea, Decision, Competitor watch | L29 | Pick, and Need your yes for decisions |
| Play states | L31 | Staff only |
| Connector pages, rows, server states | L34 to L36 | Connected, Needs you, Expiring, Stale, Read only |
| Team roles | L37 | Admin, Member, Invited |
| Rules, fact tags | L42, L44 | What we know about you |

Renaming the words is copy. Collapsing the server stage enum is a change core risk: two maps disagree, feed-service.js line 868 and handoff.js line 41. The ShopOS team moves Handed off sub lines by hand.

## C9 Today to tomorrow {#c-8}

Every old page, button and name, and its new home.

### The untangle in numbers {#c-8.tt-numbers}

User moment: You heard the product felt like fifteen things glued together. You want proof it got simpler.

Answer: 309 places to click become 22 and 42 routes become 6, while everything that works underneath stays.

- Counted from the deployed code, 25 October
- Every old surface has a home or leaves
- Engines stay, screens merge

Character line: Fetch: I buried 309 bones. Dug them up. Kept 22. | Buzz: 309 cells. We built one tidy comb of 22. | Scoop: I counted every bin. 309. Now 22. You are welcome. | Ocho: 309 things to hold. Now 22. My arms thank you. | Seeti: 309 pots on the stove. Now 22. Kitchen breathes.

- 309 to 22 Surfaces a person can reach
- 42 to 6 Routes and address switches
- 23 to 1 Sheet styles
- 163 to 4 Button classes
- 44 to 2 Status lists
- 16 to 1 Popover and menu styles

- Today: Fifteen things joined together. Feed, Deck, Library, Work, What we learned and six sub pages, three making spaces, four brief formats.
- Tomorrow: One product. Three tabs, Settings behind your picture, a pick, Make it, the Brief page.

Source: surface-map.md Before and after, read from origin/main at 271a8fb on 25 October.

| What | Today | Tomorrow |
| --- | --- | --- |
| Surfaces | 309 | 22 screens and sheets, plus emails |
| Routes and address switches | 42 | 6: Today, Work, Your store, Settings, a pick, Make it |
| Sheet styles | 23 | 1 |
| Button classes | 163 | 4: main, quiet, link, icon |
| Empty state styles | 25 | 1 |
| Loader kinds | 12 | 2: spinner in the button, wait pose |
| Status lists | 44 | 2 |
| Popover and menu styles | 16 | 1 |

Surfaces by destination: First run 33, Today 24, Inside a pick 13, Make it 52, Hand it off 23, Brief page 3, Work 13, Your store 13, Settings 60, Email or notification 14, Staff only 11, Demo only 9, Unlinked but kept in code 36, Later 5.

The 22: Paste your store, Sign in, This store is for its own team, Join, Reading your store, Here's your store, Today, Story viewer, Work, Your store, the open pick, Make it, Hand it off, Confirm a paid make, What we know about you, Which of these do you handle, Team, Connections, Account, Brief page, Error page, Email settings.

### Onboarding: every old first run step {#c-8.tt-onboarding}

User moment: You remember the long setup. You want to know what happened to each step.

Answer: About 11 screens, 14 decisions and 6 skip labels become paste, sign in, watch it read with three questions, the reveal and the first win.

- Setup steps move into the read or Settings
- The check page and its clock go
- One skip label: Skip

Character line: Fetch: Eleven hoops to jump through. I chewed through nine of them. | Buzz: Eleven flowers before the honey. Now four. | Scoop: Psst. Nobody liked the clock on the check page. I took it. | Ocho: Fourteen decisions. I hold eleven of them for you now. | Seeti: Eleven steps to boil water. Now four, and it whistles sooner.

- Today: About 11 screens, 14 decisions. Landing, sign in, reading, questions offer, five questions, read done bar, check page under a clock, reload, four setup steps, ready overlay, swipe tuner, welcome card.
- Tomorrow: 4 screens, 1 skip label. Paste your store, sign in, Reading your store with three quick questions, Here's your store, then Today with the first win bar.

- Landing, Build my feed becomes Paste your store. Restyle
- Sign in walls, Taking you to sign in becomes Sign in with your work email. Restyle
- Wrong account wall, demo mode sheet, read refusals becomes This store is for its own team. Restyle
- Reading screen, Setting up your agents roster becomes Reading your store, character wait pose. Recompose
- Questions offer bar, five quick taps becomes Three quick questions inside the read. Next
- Five question screen: who is this feed for, what comes first, channels, lead products, rivals becomes Three quick questions; seat to Which of these do you handle; channels and rivals to What we know about you. Next
- Read done bar, 7 sources and N findings becomes Here's your store, one finding. Next
- Read failed bar, Back to the start becomes Read did not finish, Start again. Restyle
- Check page Is this right, under a clock becomes Removed; facts become What we know about you with sources. Recompose
- Looks right, write my moves becomes The three questions post to the same confirm route. Keep
- Wait screen, figuring out the best plays becomes Removed; plans start on first open. Unlinked
- Setup step Who is this feed for becomes Which of these do you handle in Settings. Next
- Setup step What should come first, In your own words becomes Tell us something in What we know about you. Recompose
- Setup step Connect your tools becomes Settings, Connections. Recompose
- Setup step Invite your team becomes Settings, Team. Recompose
- Ready overlay, Your feed is ready becomes Here's your store, then Today. Removed
- Swipe tuner, Tune your feed 1 of 10 becomes Heart and Not for me on real picks. Removed
- Welcome card, plays writing card becomes First win bar on Today. Next
- Email me when they are ready becomes Removed with the wait screen. Removed

- Skip ahead becomes Skip
- Skip becomes Skip
- Skip questions becomes Skip
- Skip to my feed becomes Skip
- Skip for now becomes Skip
- Skip, open my feed becomes Skip

**The new first run**
- Screen f1: Paste your store
- Screen f4: Reading your store
- Screen f7: Here's your store
- Screen t1: Today with the first win bar

Source: product-audit.md 2.1 and surface-map.md A.1, F1, Unlinked list.

| Old step | Today's labels | New home | Change | Status |
| --- | --- | --- | --- | --- |
| 1 Landing | Design partner preview, Build my feed, Use x.com | Paste your store | Restyle | Today |
| 2 Sign in first | Taking you to sign in, Continue with Google | Sign in with your work email | Restyle | Today |
| 2b Refusal | Sign in with your work email at host, See demo stores | This store is for its own team | Restyle | Today |
| 3 Reading screen | Reading the brand, Setting up your agents, Skip ahead | Reading your store, no agents | Recompose | Today |
| 4 Questions offer | Five quick taps meanwhile, Answer 5 questions, Skip | Three quick questions start on their own | Recompose | Next |
| 5 Five questions | Who is this feed for, What should come first, Which channels do you run, Which should it lead with, Who do you lose sales to | Three questions; the rest move to Settings | Recompose | Next |
| 6 Read done bar | The brand is read, Skip to my feed, Check what we read | Here's your store | Add on | Next |
| 7 Check page under a clock | Is this right, starts your brief at a time unless you check first, Looks right, write my moves, Skip for now | Removed. Every fact shows with its source in What we know about you, where you fix it any time | Recompose | Today |
| 8 Setup steps after a reload | Your role, Focus, Tools, Team, Skip to my feed | Which of these do you handle, Tell us something, Connections, Team | Recompose | Today, Which Next |
| 9 Ready overlay | Your feed is ready, Tune it, then open my feed, See your N calls | Removed; Here's your store leads to Today | Recompose | Today |
| 10 Swipe tuner | Tune your feed 1 of 10, Less like this, More like this | Removed; heart and Not for me on real picks | Recompose | Today |
| 11 Feed opens | Plays writing card, Start here, Waiting for you, Check what we read | Today with the first win bar | Recompose | First win bar Next |

Six skip labels become one, Skip: Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed.

What must keep working underneath:
- The confirm route that the check page and the brand taps post to starts the plays. The three questions must still post there; dropping it changes what the read writes, a change core risk.
- The seat answer is ranking input. Moving it to Which of these do you handle is a change core risk; check it.
- The read starts only signed in. The reveal before sign in is a change core risk, so tomorrow's order keeps sign in before the read.
- Claiming the store for the first person from its domain moves from the check page to the first read.

Other ways in, mapped:
| Old | New |
| --- | --- |
| /join four states, You're on the team toast | Join, Welcome to the team |
| Shopify embedded home, half an hour line, new tab hop, hop expired, install errors, renew page | Paste your store inside Shopify, with the same read time words; sign in continues in a new tab |
| Closed store gate | This store is not open yet |
| Demo picker, tour starter | Demo only, restyled, Dummy tags kept |

Open question: the three questions are not chosen yet in the sources. The five old questions are listed above as candidates.

### Navigation: old menus to three tabs {#c-8.tt-nav}

User moment: You used the old app. You want to know where your buttons went.

Answer: Phone and laptop get the same three tabs, Today, Work and Your store, with Settings behind your picture.

- Same tabs on phone and laptop
- The bell, Deck and Library go
- Theme moves to Settings

Character line: Fetch: Three doors. I learned them in one walk. | Buzz: Three flight paths. Easy to remember, even for a bee. | Scoop: Three bins to check. Much better than eleven. | Ocho: Three tabs. I keep one arm on each and one on the coffee. | Seeti: Three stations. Pass, rail, pantry.

- Today: Two different top levels. Desktop rail: Feed, Work, Notifications, What we learned, Connectors. Phone tabs: Feed, Deck, New jam, Work, Library.
- Tomorrow: One top level. Today, Work, Your store on both. Settings behind your picture.

- Feed, home mark, logo becomes Today
- Deck, Feed and Deck toggle becomes See everything with an area filter. Removed
- Work, done becomes Work
- Library, Saved, Jams becomes Work. Removed
- Notifications bell and panel becomes New since you looked, in Work. Removed
- What we learned, Learned becomes What we know about you, and Your store. Removed
- Connectors becomes Settings, Connections
- Account menu becomes Settings
- Round button Jam with the team, New jam tab becomes Start something new, in Work. Removed
- Viewing as chip becomes Which of these do you handle. Next
- N with the team pill becomes Work, Handed off. Removed
- Theme toggle becomes Settings, Account

Source: surface-map.md A.2 rows A22, A23, A25 and ia.md section 6.

| Old place | New home | Change type |
| --- | --- | --- |
| Desktop rail | Left rail: Today, Work, Your store; Settings at its foot | Recompose |
| Desktop top bar | Brand mark or brand switcher, character corner, your picture | Recompose |
| Phone tab bar | Bottom bar: Today, Work, Your store | Recompose |
| Phone titles Learned, Plays, Play, Products, Rivals, Connectors, Your feed, Remix | The plain names of their new homes | Restyle |
| Five back button styles | One Back | Restyle |
| Library missing from the desktop rail | Gone; Work holds it | Recompose |

Getting around: nothing is more than three taps from a tab. Every notification opens exactly its thing. The brand switcher is Later.

### Every route and its redirect {#c-8.tt-routes}

User moment: Your freelancer has an old brief link from last month. You want it to still open.

Answer: Every old address keeps answering and lands on its new home, so shared brief links never break.

- Six addresses inside the app
- Old brief links redirect, never 404
- Redirects ship before screens are removed

Character line: Fetch: Old trail, new park. I still find my way. | Buzz: Old flight path, same hive. Nobody gets lost. | Scoop: Every old back alley still leads to the right door. | Ocho: Old address? An arm reaches out and guides you in. | Seeti: Old order slip still gets you the right dish.

**Inside the app**
- #v=feed, ?go=feed becomes Today
- #v=deck becomes Today, See everything. filter kept if set
- #v=queue with q=yes, spend or board becomes Today, Need your yes
- #v=work, #v=done becomes Work
- #v=saved, #v=jams, #v=remixes becomes Work
- #v=refs becomes Make it tools, references
- #v=learned, #v=brand, #v=facts, #v=tune becomes Settings, What we know about you
- #v=watch, #v=heard becomes Your store, What customers say
- #v=rivals becomes Your store, What rivals run
- #v=products becomes Your store, products
- #v=moves, #v=move with m becomes Your store, The plan, or that pick's full plan
- #v=connectors becomes Settings, Connections
- #team becomes Settings, Team
- #card=, #work=, #jam= becomes The open pick, or Make it if work started
- #remix= card and change becomes Make it
- #jam2=, ?v=2 becomes Make it. switch removed
- #check, #wait, #setup becomes Today. first run done
- &s= share token becomes Make it as a guest

**Outside the app**
- /h/ token with ?full=1 becomes Brief page
- /h/ token, old form becomes Brief page. today it redirects into the jam and asks for sign in
- /p/ token, Ready to post becomes Brief page. revoke kept
- /brief/ token, Jam v2 brief becomes Brief page. revoke kept
- /b/ slug /pdf/ move becomes The full plan, Download as PDF
- / slug /brand and its files becomes Share your brand book. files kept for AI tools
- /join becomes Join
- /auth/approve becomes Sign in. legacy
- /mail/pref becomes Settings, Notifications and sound
- /shopify becomes Paste your store inside Shopify

Source: product-audit.md 3.2 and 7.6, surface-map.md change core risks.

Today there are 20 view routes behind #v=: feed, deck, saved, jams, remixes, refs, done, work, connectors, learned, brand, watch, heard, facts, moves, move, queue, products, rivals, tune. Plus #card=, #work=, #jam=, #remix=, #jam2=, #check, #wait, #setup, #team, #cx=, a share token &s=, and query switches ?go=feed, ?joined=1, ?v=2, ?storefront=1, ?build=, ?print=1, ?embedded=1.

Tomorrow six addresses: Today, Work, Your store, Settings, a pick, Make it.

Redirect rules:
1. Every old route resolves on the client to its new address and replaces the history entry, so Back works.
2. Query switches ?go=feed and ?joined=1 keep their meaning: skip the read replay, show the join toast.
3. ?embedded=1 and ?print=1 stay as they are; they change layout, not place.
4. ?storefront=1 is a staff switch and stays staff only.
5. #cx= has no source describing it in the audit; check its use before mapping. Open question.
6. Old brief links: all four shapes keep answering. The plain /h/ form should land on the Brief page instead of a sign in, which changes the share link's serving rule, a change core risk. Do it in its own step with tests.
7. Redirects ship before any screen is removed. ia.md section 6: old links keep answering and redirect to the one brief page, so nothing anyone shared breaks.

### Buttons: many ways in, one way in {#c-8.tt-buttons}

User moment: You remember tapping a hand icon to start a jam. You want to know what to tap now.

Answer: Sixteen ways into a jam become one Make it, and ten hand off buttons become one Hand it off.

- Five card icons become two
- Six skip labels become one
- Seven tuning entries become three actions

Character line: Fetch: One button to fetch, one to drop. I can count to two. | Buzz: One button per job. Bees love a simple dance. | Scoop: Sixteen secret doors. I bricked up fifteen. | Ocho: Fewer buttons. More arms free. | Seeti: One knob per burner. As it should be.

- Tap card, card main bar, Start here, hand icon, Work tile, Library Jams tile, notification row, queue row, story Open the card, email Open the jam, email Join the jam, shared jam link, round button, phone New jam, Work Start a new jam, Saved Jam on all becomes Make it. 16 to 1
- Heart, hand, shield, refresh, bookmark becomes Heart and Not for me. Another take moves into Make it as New version
- Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed becomes Skip. 6 to 1
- Start again, Reset demo, Start fresh, Back to the start becomes Start again. Settings, Account and the read error
- Teach a rule, Upload files, Brand learnings, Memory, Teach the product your brand, Brand Book edits, In your own words, My preferences, fact sheet edits becomes Tell us something, in What we know about you. 9 to 1
- Card menu: Save for later, Remind me tomorrow, Share to Slack, Copy link to card, Not interested, Show fewer becomes Heart, Later, Not for me, Copy link
- Redo it, Another take, Make it again, One more becomes New version
- Approve vN, Ask for an OK, Ask for OK on vN becomes Ask for an OK, landing in Need your yes

Source: product-audit.md 3.4 and 4.

| Thing | Ways in today | Tomorrow |
| --- | --- | --- |
| A jam | 16 | Make it |
| Brief hand off | 10 buttons on 6 surfaces | Hand it off |
| What customers say | 5 | Your store, What customers say |
| Rivals | 7 | Your store, What rivals run |
| Products | 5 | Your store |
| The seat | 5 | Which of these do you handle |
| Feed tuning | 7 | Heart, Not for me, Later |
| Teaching the product | 9 | Tell us something |
| Things waiting on me | 5 | Need your yes |

Four button kinds from now on: main, quiet, link, icon. One main button per screen. No glyphs or emoji as icons.

### Names: old words to plain words {#c-8.tt-names}

User moment: Your team says jam, plays, moves and the deck. You want one set of words everyone uses.

Answer: Each concept gets one plain word on the button, and the character's own word lives around it.

- One word per concept
- The old product name leaves about 300 strings
- No measuring words, emoji or vendor names

Character line: Fetch: Jam? Remix? Stage? I just call it fetching. You call it Make it. | Buzz: One word per flower. The hive stops arguing. | Scoop: Between us, nobody knew what a play was. Now it says Why this. | Ocho: Fewer words to hold. I like that. | Seeti: One name per dish. No confusing the waiters.

- jam, studio, remix, stage, package, canvas becomes Make it
- card, call, decision, signal, move becomes Pick, or idea for the rest
- moves, plays, playbooks, plans, proofs, evidence becomes Why this, with its plan
- today's 10, Moves a morning becomes This week's picks
- Find more, See the next 15 becomes See everything
- On your board, Needs you, Needs your OK, Your call becomes Need your yes
- Save for later, Saved, Keep becomes Heart
- Not interested, Less like this, Show fewer becomes Not for me
- Remind me tomorrow, Not now becomes Later
- Redo it, Another take, Make it again becomes New version
- History, Earlier takes becomes Versions
- Send brief, Share the brief, Send PDF, Brief a team becomes Hand it off
- Drafting, With teammate, Ready, Brief shared becomes Idea, In the works, Handed off
- Memory, Learned, Fact sheet, Brand Book as a page becomes What we know about you
- seat, view, Viewing as, role becomes Which of these do you handle
- Creative, Performance, Catalog, Storefront, CRM, AI visibility becomes Social posts, Ads, Website, AI search, Email and WhatsApp
- Heard, What we heard, Things people said becomes What customers say
- competitors, Popular ads becomes What rivals run
- build crew, team as a bare word, Sloosh becomes the ShopOS team

Source: product-model.md section 4 and product-audit.md section 4.

Rename tasks that are pure copy, Restyle:
- The old product name appears in about 300 visible strings in the front end: 176 in app.js, 37 in live.js, 25 in brand-book.js, 22 in jam2.js. Every one is a rename task. The new name is still open; see Naming in part F.
- Measuring leftovers: We stop if, Target, Check on day N, How we know it was this, Shipped and measured, What moved the number, notification kinds Live, Reading, Result. Removed until v3 brings How it went.
- Emoji used as icons on Deck columns, pasted brief headings and Work lanes. Removed.
- Vendor and model names: Sloosh, Veo, Gemini TTS. Removed from founder screens.
- All caps play PDF headings and the old lockup. Sentence case.

The character's word sits in the sentence around the control, from each character's word list: Scoop calls Make it the scribble, Ocho says Ink it, Seeti says On the stove. The button itself always says Make it.

### What leaves the product {#c-8.tt-removed}

User moment: You liked the Deck. You want to know if it is gone or just moved.

Answer: Repeated surfaces are removed, not hidden, and what they held shows up in its one home.

- Only one of each thing exists
- Data stays, screens go
- Unlinked code counts as removed

Character line: Fetch: I dropped the duplicates. Kept every bone that mattered. | Buzz: Extra combs melted down. The honey went into the main one. | Scoop: Tossed the copies. Kept the originals. Classic tidy raccoon. | Ocho: Let go of the spares. All arms on the real ones. | Seeti: Fewer pots. Same food.

- Jam v2 and its boards, spark, finish sheet, history pill becomes Make it. Engines stay
- The jam pane on the card page becomes Make it. Jam chat and data stay
- The card page, drawer and full page becomes The open pick. Card data stays
- The Deck becomes See everything and Work. Card data stays
- Library, Saved, Jams list becomes Work. Saved and jam data stay
- Queue view and greeting tiles becomes Need your yes. What counts as a yes stays
- The bell and its panel becomes New since you looked. Notifications stay
- What we learned, six sub pages, fact sheet, rules, lessons becomes What we know about you. Memory and facts stay
- Heard, watch page, Rivals, Products as pages becomes Your store sections. What the reader collects stays
- Setup steps, check page, ready overlay, swipe tuner, welcome card becomes Paste, sign in, read with three questions, the reveal. Confirm call and answers stay
- Round button and New jam becomes Start something new
- Viewing as and the seat picker becomes Which of these do you handle. Seat field, mapped
- Pro carousel, plan sheet, logo stickers, measuring blocks becomes none. Data stays
- Four brief formats and four link shapes becomes One Brief page. Old links redirect

Source: ia.md section 6.

Removing a screen is a Recompose. Removing Jam v2's own brief and status and keeping one brief format is the one change core item, listed as a risk and done in its own step, with old links redirected first.

Everything the surface map marks Unlinked but kept in code, 36 surfaces, is read as Removed. Examples: the wait screen, the setup frame, the ready overlay, the swipe tuner, the welcome card, the Deck promo card, logo stickers, Tune the deck, the plays list, the options page, the card page, the version picker, Jam v2 and its parts, the Ready to post page, the Jam v2 brief page.

Marked Later, 5: the Pro carousel, the Pro plan sheet, the card page measure block, Marketplaces coming soon, the Live pill. Pricing is parked until after the design partnership.

Staff only, 11 surfaces, and Demo only, 9 surfaces, keep their shape and get restyled.

Also cleaned up: about 526 of 2,886 CSS classes are never named in any script. Remove after a run time check. 16 stylesheets load on every page, including two left from a removed UI.

### Ship order: safest first {#c-8.tt-order}

User moment: You want the new product without a week where nothing works.

Answer: Ship words first, then looks, then navigation, then each merged screen, with add ons behind switches and later powers last.

- Nine steps, safest first
- Each add on behind its own switch
- Change core risks get their own step

Character line: Fetch: One trick at a time. Sit first. Then stay. Then fetch. | Buzz: Build the comb cell by cell. Never knock the hive down. | Scoop: Tidy one drawer at a time. Never dump the whole cupboard. | Ocho: One arm moves, seven hold still. Then the next arm. | Seeti: One course at a time. Starters before mains.

1. Restyle words: One word set; remove the old name, measuring words, emoji and vendor names [Today]
2. Restyle look: Tokens, type, four buttons, one sheet, one empty state, one toast [Today]
3. Recompose navigation: Three tabs over existing views, Settings behind your picture [Today]
4. Recompose Today: Need your yes plus five picks over the ranked feed [Today]
5. Recompose Make it: Every entry opens one Make it; repeats removed, engines kept [Today]
6. Restyle Hand it off: One button, one who sheet calling today's routes [Next]
7. Add the character layer: Behind an off switch [Next]
8. Add ons: Reveal, question game, first win bar, memory meter, Monday drop, weekly run, wildcard [Next]
9. Later: Brand switcher, schedule, let it run, How it went [Later]

**After v1**
- v2: Publish and schedule. Each with your yes
- v3: How it went. Results feed the picks
- v4: Run ads within rules. Caps, topics, windows, undo (the turn)

Source: product-model.md section 8 and BRIEF.md 3.6.

| Step | What | Change type | Touches an engine |
| --- | --- | --- | --- |
| 1 | Words | Restyle | No |
| 2 | Look | Restyle | No |
| 3 | Navigation | Recompose | No |
| 4 | Today | Recompose | No, reuses todayOf, yesOf, gLists |
| 5 | Make it | Recompose | No, removes screens only |
| 6 | Hand it off | Restyle | No, calls today's routes |
| 7 | Character layer | Add on, off switch | No |
| 8 | Add ons | Add on, each its own switch | No |
| 9 | Later powers | New | Yes, v2 to v4 |

Groundwork add ons to slip into v1, from BRIEF.md 3.6: each pick stores its destination channel; the brief is saved as structured data; a decision log of hearted, made and handed off; pick status is one extendable field.

Risks, each in its own step after the nine, never mixed in:
- One brief format instead of four.
- Which of these do you handle mapped onto the seat field.
- Changing what counts as Need your yes.
- The plain old brief link opening the Brief page without sign in.
- Removing the Slack make button.
- A Monday email built from the ranked feed.

Every deploy goes to the live test site first. Old links get redirects before their screen is removed.

### What must not break {#c-8.tt-safe}

User moment: You run a real store on this. You need it to keep working while it changes clothes.

Answer: Six engines stay untouched, the read, card generation, ranking, the making engines, the brief format and the share link, and the front end is a new coat over them.

- Restyle and recompose around the engines
- Old brief links keep answering
- Fourteen core risks listed, none done this round

Character line: Fetch: New collar, same dog. The nose still works. | Buzz: New paint on the hive. The queen does not move. | Scoop: New outfit. Same sticky paws underneath. | Ocho: New skin, same eight arms doing the same jobs. | Seeti: New paint on the cooker. Same pressure inside.

- The read: build.js, reader/, POST /api/brands, the onboarding stream, check and confirm routes. [Today]
- Card generation: moves-engine.js, cards-gen.js, card-plan.js, card-from.js, claims.js, stat-check.js, drafts-bg.js. [Today]
- Ranking: feed-service.js score and order, member-tuning.js, value.js, todayOf and yesOf. [Today]
- Making engines: remix.js, studio.js, drafts.js, media.js, rival-ad.js, finals.js, jam2 engines, jams.js, brand-memory.js. [Today]
- The brief format: jam-brief.js, handoff.js, team-brief.js, brief-status.js, jam-mail.js. [Today]
- The share link: Signed tokens in handoff.js; /h/ both forms, /api/share, Jam v2 links with revoke. [Today]

- Do: Restyle and recompose public/ freely
- Do: Redirect every old link first
- Do: List each core risk as its own step
- Never: Change the score or the 14
- Never: Merge brief formats in a restyle
- Never: Drop Dummy tags on simulated things

Source: product-audit.md section 7 and surface-map.md change core risks.

Also keep working: access rules and guests in auth.js, member-ctx.js, closed-gate.js; the demo site in demo-mode.js, demo-routes.js, connectors/sim.js; real read only connectors in connectors/ and vault.js; Slack two way threads in slack-routes.js; the Shopify entry in shopify-app.js, shopify-embed.js, shopify-home.js; the honesty guards in test/honesty.test.js and DUMMY.md.

Safe to reshape: everything in public/. Today maps onto renderFeed plus gLists, Work onto renderWork plus Library Jams, Your store onto Heard, the watch page, Rivals, AI answers and the fact sheet, Settings onto Your feed, the account menu, team, connectors and the Brand Book. The one real gap is a brand switcher, which the API already half supports.

The 14 change core risks, listed and never done in this round:
1. Four brief formats become one.
2. Two brief status systems merge.
3. Four share link shapes must keep answering.
4. Measuring fields are generated, not only shown.
5. The read starts only signed in; a reveal before sign in changes that.
6. A Slack button starts a paid make with no confirm.
7. What counts as Need your yes.
8. Seats become Which of these do you handle.
9. The stage enum disagrees between two server maps.
10. A Monday picks email needs the ranked feed.
11. My agency or freelancer has no route of its own and reuses the team route.
12. The check and the taps start the plays.
13. Composer model and memory headers set generation defaults.
14. Shorter cards need card generation to write shorter text.

# D. UX

How it feels to use, step by step, from the store owner's side.

## D1 UX principles {#d-1}

One glance cards, one way in, plain words, undo over confirm.

### A card lands in one glance {#d-1.glance}

User moment: It is Monday, you have a coffee and about ten minutes. You want to know what to do, not read.

Answer: Every closed card is five things and 25 words at most: area and source, the thing, a headline, one why, one button.

- Three seconds to get any card
- The draft or the photo carries it
- Everything else waits inside the open pick

Character line: Fetch: Five things on a card. Six if you count my tennis ball. Do not count my tennis ball. | Buzz: Short cards. I have pollen to count. | Scoop: Between us, the best gossip fits on a napkin. | Ocho: Five things on a card. I would add an arm, but rules are rules. | Seeti: One plate. Five things. Eat.

- Today: About 70 words before a tap. Agent name, time, campaign, rank reason, draft label, headline, copy line, five icons, a status row, a 15 word title, a 31 word sub, a make chip and a source line.
- Tomorrow: 19 words before a tap. 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.

**Five closed cards on Monday**
- Screen t1:monday: Today: Need your yes, then five picks
- Screen t4:all: See everything: the same card, smaller

**The closed card, top to bottom**
1. Area and source: 5 words. Ads, from your reviews
2. The thing: The draft, a product photo, or one big number with its source
3. Headline: 8 words, verb first, names the product
4. Why: 12 words, one number, one source chip
5. Actions: One main button, plus heart and Not for me as icons

### 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, fix the card.

### Budgets on every surface
| Surface | Budget |
| --- | --- |
| Closed card | Five things, 25 words at most |
| Open pick | The draft big, Why this in three sourced lines, the plan in five steps under ten words each, Where to post, the bottom bar |
| Need your yes | A yes or no question of 10 words at most, one line on what happens either way, Yes and Not now |
| Story frame | One fact, 8 words at most, over the picture |
| See everything | The same closed card, smaller, no extra words |
| Your store rows | A theme, a count and a mood chip |
| Notification | 60 characters at most, opens exactly its thing |
| Hand it off sheet | Four choices, one line each |

### Word rules on cards
- Verb 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. Ad metrics live inside Why this with a plain gloss.
- One idea per card. Two ideas means two cards.
- Unsure numbers carry a To confirm chip, never a hedge sentence.
- The character never speaks on a card. Cards belong to the brand.

### Today to tomorrow
Restyle and Recompose: 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 moves into the open pick. Shortening what card generation writes is a Change core risk, listed and not done this round. A card lint that flags a title over 8 words or a why over 12 is an Add on the team sees and founders never do.

### One way into each thing {#d-1.one-way-in}

User moment: You tapped something yesterday and ended up somewhere. Today you cannot find it.

Answer: A pick, a Work row and every notification all open the one Make it for that pick.

- 16 ways in today become one Make it
- 10 hand off buttons become one Hand it off
- 5 waiting lists become one Need your yes

Character line: Fetch: One door. I can find one door. I found it four times. | Buzz: One way into the hive. Much less bumping. | Scoop: Psst. There used to be sixteen doors. I checked every one. | Ocho: Sixteen doors were too many, even for eight arms. | Seeti: One kitchen. One door. Wipe your feet.

**Many entrances, one room**
- Studio, jam pane on the card page, Jam v2 becomes Make it. Three making spaces chosen by the address, now one
- Send brief, Share the brief, Send the brief now, Share with my team and six more becomes Hand it off. One button, then Who is shipping this
- Need your yes tile, On your board tile, Needs you lane, Notifications group, Library group becomes Need your yes on Today. One count on the Today tab
- The bell and its panel becomes New since you looked, at the top of Work. Each line opens exactly its thing
- Floating round button, New jam becomes Start something new, in Work. One place to begin from nothing

**The one road**
1. A pick: from Today, Work or a notification [Today]
2. Make it: the thing and the chat [Today]
3. Hand it off: Who is shipping this [Next]

### Evidence
The audit of the deployed build on 25 October found 16 ways into a jam, 10 hand off buttons across 6 surfaces, 4 brief formats and 5 places that list what is waiting on you under 3 names. Source: _research/product-audit.md.

### The rule
- Every entry to a piece of work opens the one Make it for that pick.
- Every way of passing work on starts from the one Hand it off button.
- Every question for the owner sits in Need your yes, with its count on the Today tab.
- Removed surfaces are removed, not hidden. Their engines stay underneath: generation, the brief and the share link.

### Change type
Recompose for navigation and Make it. Restyle for Hand it off. Keeping one brief format instead of four is the one Change core item, done in its own step with old links redirected first.

### Plain words on controls, the character around them {#d-1.plain-words}

User moment: You are tired. A button should say what it does.

Answer: Buttons and tabs use one plain word in every direction, and {name} speaks only in the sentence around them.

- Make it, Hand it off, Not for me
- One word per concept, retired words never return
- The character word lives in lines, never labels

Character line: Fetch: The button says Make it. I say fetch. We both mean go. | Buzz: The button stays plain. I do the buzzing around it. | Scoop: The button says Hand it off. I whisper pass the note. | Ocho: Plain on the button. Ink everywhere else. | Seeti: Button says Make it. I say on the stove. Same dish.

*Scoop:*
- Today becomes The dish
- Need your yes becomes Your nod
- Make it becomes The scribble
- Hand it off becomes Pass the note
- Not for me becomes Old news
- You are caught up becomes All dished out
*Ocho:*
- Today becomes On my arms
- Need your yes becomes One arm up
- Make it becomes Ink it
- Hand it off becomes Free an arm
- Not for me becomes Drop it
- You are caught up becomes Arms free
*Seeti:*
- Today becomes The pass
- Need your yes becomes Taste this first
- Make it becomes On the stove
- Hand it off becomes Order ticket
- Not for me becomes Off the menu
- You are caught up becomes Kitchen is clean
*Fetch:*
- Today becomes The drop
- Need your yes becomes Paw up
- Make it becomes Fetch it
- Hand it off becomes Throw it
- Not for me becomes Leave it
- You are caught up becomes Good dog, all done
*Buzz:*
- Today becomes The hive
- Need your yes becomes Your buzz
- Make it becomes Make honey
- Hand it off becomes Pass the pollen
- Not for me becomes Wrong flower
- You are caught up becomes Hive is quiet

- Do: Use the plain word on every button and tab
- Do: Put the character word in loading lines, empty states and celebrations
- Do: Use the same word for the same thing on every screen
- Never: A character word on a button
- Never: Jam, card, seat or move as words a founder sees
- Never: Vendor or model names anywhere a founder looks

### The one set of words
| Concept | Plain word | Retired |
| --- | --- | --- |
| 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, move |
| The strategy | Why this, with its plan | moves, plays, playbooks, proofs, evidence |
| The five | This week's picks | today's 10, moves a morning |
| 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 |
| 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, Done |
| Memory | What we know about you | Memory, Learned, Fact sheet, Lessons, Rules |
| Who you are | Which of these do you handle | seat, view, Viewing as, role |
| Start over | Start again | Reset, Start fresh, Back to the start |

### Where the character word comes from
Scoop, Ocho and Seeti use the word lists in raccoon/system.md, octopus/system.md and cooker/system.md. Fetch and Buzz have no system file yet, so their words on this page are proposals for the owner to settle.

### Undo over confirm {#d-1.undo-over-confirm}

User moment: You tapped Not for me by accident. Your thumb is faster than your coffee.

Answer: Anything reversible happens at once with an Undo toast, and only paid things or things that leave the product get a confirm sheet.

- Heart, Not for me, Later: instant, with Undo
- Paid make or leaving: one sheet, price once
- No browser confirm boxes, ever

Character line: Fetch: Dropped it? I will bring it right back. That is my whole thing. | Buzz: Wrong flower? Fly back with Undo. | Scoop: Changed your mind? I never throw anything away. | Ocho: Undo is my favourite arm. | Seeti: Spilled? Undo. Mop is in the corner.

**Which actions ask first**
- Heart: Done at once, toast with Undo. Undo for three seconds
- Not for me: Card leaves, toast with Undo. Undo for three seconds
- Later: Card leaves until next week, toast with Undo. Undo
- Yes in Need your yes: Saved, toast with Undo. Undo
- A paid make: One sheet: the price once, what happens, Make it, Not now. Confirm or leave
- Hand it off to the ShopOS team: One sheet, because the brief leaves the product. Confirm or Close
- Disconnect a tool: One sheet that says what leaves. No undo, so it asks
- Ask us to delete your data: One sheet that says it sends a request. Send or Close

- Screen t2:answered: A yes, with Undo
- Screen m3:confirm: The only kind of confirm: a sheet with the price

### The rule
- Reversible means Undo toast. One line, three seconds, one toast at a time.
- Paid or leaving the product means one sheet: slides up, a title, one main button, Close. No pop ups on top of sheets.
- Never a native browser confirm box. Today the build uses them for removing a teammate and fact sheet rows, per the audit. Both become sheets.

### Edge cases
| Case | What happens |
| --- | --- |
| Two quick undoable actions | The newer toast replaces the older; the older action stands |
| Undo after the toast faded | Not for me cards sit at the bottom of See everything for the week; hearts can be removed on the pick |
| Offline when tapping | The action waits locally, the toast says it will save when you are back |

### A week you can finish {#d-1.finite-week}

User moment: Every tool you use wants more of you. You want one that lets you stop.

Answer: The unit is a marketing week of five picks, with a clear end and a sign off until Monday.

- Five picks, never an endless feed
- Caught up is a real screen
- No streak guilt, no fake countdowns

Character line: Fetch: Five sticks a week. Then nap. Best schedule. | Buzz: Five flowers, then the hive rests. | Scoop: That is all the gossip for this week. Back Monday with more. | Ocho: Arms free. New picks Monday. | Seeti: Kitchen is clean. See you Monday.

- Mon: The drop. Five fresh picks wait on Today (the turn)
- Tue: Pick. Heart or Not for me
- Wed: Make. One Make it, every version kept
- Thu: Hand off. You choose who ships it
- Fri: Caught up. The character signs off
- Sat: Quiet. No pings
- Sun: Quiet. The next read runs

- Screen t5:caught: Caught up, until Monday

### Rules from the brief
- Lead with white hat drives: meaning, accomplishment, creativity and feedback. Source: BRIEF.md section 3.5, built on Yu-kai Chou's Octalysis.
- Scarcity and loss only when real and kind. The capped read is real. Fake countdowns are banned.
- Never guilt or shame. A missed week gets no message at all.
- Progress measures what you did and what we know about the store, never sales.

### The days show the order, not deadlines
A founder can do the whole week on Monday in ten minutes. The week block shows the beats in order. The Monday drop is Next; today the feed refreshes each morning and a weekly digest goes out on Monday.

### The character never blocks a button {#d-1.character-slots}

User moment: You like the little guy. You would not like it sitting on the button you need.

Answer: {name} lives in fixed slots and reads app state, so every screen still works without it.

- Corner, read, reveal, empty, celebrate, error, brief sign off
- Never on a card, a button or a decision
- Never over the brand's own photos

Character line: Fetch: I sit in my corner. Mostly. I am working on it. | Buzz: I hover in my corner. Never on your buttons. | Scoop: I keep to the shadows. Corner seat, good view. | Ocho: Eight arms, zero on your buttons. | Seeti: I stay on my burner. You run the kitchen.

**The seven slots**
- Today header corner: 40 to 56 px. Always there, idle, greets you on Monday.
- Reading your store: 120 to 180 px. The whole read, in its wait pose.
- The reveal: 160 px. Beside your one finding.
- Empty states: 96 px. Nothing waiting, no results.
- Celebrations: 120 px. First heart, first make, first hand off, caught up.
- Errors and the cap: 96 px. A plain line and one way out.
- Brief page: 32 px. A sign off at the bottom only.

- Do: React at real moments
- Do: Speak in section headers, waits, empty states and celebrations
- Never: Sit on a button, a card or inside the thing being made
- Never: Appear in Need your yes decisions or tables of numbers
- Never: Cover a brand photo

Slot sizes: Today header corner 40 to 56 px, always. Reading your store 120 to 180 px. The reveal 160 px. Empty states 96 px. Celebrations 120 px. Errors and the cap 96 px. Brief page 32 px sign off at the bottom.

The character is an Add on layer behind its own switch. It never blocks or replaces a working control. A person, never the character, handles money, privacy, apologies and anyone upset. Source: shared/product-model.md section 7 and each system file.

### Phone first, laptop wide {#d-1.layout}

User moment: You check it on your phone in a queue and work on it at your desk.

Answer: The same three tabs sit at the bottom on a phone and in a left rail on a laptop, and Make it splits into the thing and the chat when there is room.

- Phone: one column, sheets from the bottom
- Laptop: picks in a column, Need your yes beside
- Make it: thing left, chat right

Character line: Fetch: Small screen, big screen. I fetch on both. | Buzz: Same hive, bigger garden. | Scoop: Pocket size or desk size, same gossip. | Ocho: More screen, more room for arms. | Seeti: Small stove, big stove. Same recipe.

- Screen d1:today: Today on a laptop
- Screen d2:make: Make it on a laptop

| Width | Navigation | A pick | Make it |
| --- | --- | --- | --- |
| Phone, under 600 | Bottom tabs | Full screen sheet over Today | Thing on top, chat below |
| Tablet, 600 to 1024 | Bottom tabs | Sheet from the right, half width | Side by side in landscape |
| Laptop, over 1024 | Left rail, Settings at its foot | Side peek beside the list | Thing left, chat right |

### Patterns we borrow, never the look
| Surface | Phone | Laptop | Borrow |
| --- | --- | --- | --- |
| Today | Duolingo home | Things 3 Today | A list you can finish |
| Need your yes | Bank payment approvals | Linear triage | Two big answers, consequences shown |
| Open pick | App Store story page | Notion side peek | Fixed layers, Esc closes back to the list |
| Make it | CapCut and Canva mobile | Claude artifacts, ChatGPT canvas | The thing large, chat changes it |
| Versions | Google Photos revert | Figma version history | A strip, current marked |
| Hand it off | iOS share sheet | Figma and Loom share | Who first, then one action |
| Work | Linear mobile | Linear board | Columns by status |
| Settings | iOS Settings | Linear settings | Grouped rows |

Source: shared/product-model.md section 11.

## D2 The map {#d-2}

Three tabs, Settings, six addresses. Nothing more than three taps away.

### The whole product on one page {#d-2.the-map}

User moment: You want to know where things live before you trust it with your week.

Answer: Three tabs, Settings behind your picture, six addresses, and nothing more than three taps from Today.

- Today, Work, Your store
- A pick and Make it open over them
- The Brief page lives outside, no login

Character line: Fetch: Three tabs. I have buried bones in more places than that. | Buzz: Three rooms in the hive. Easy to fly. | Scoop: I mapped every corner. There are only three. Suspicious, but nice. | Ocho: Three tabs. I could hold them all at once. | Seeti: Three stations. A good kitchen needs no more.

**Every screen and where it sits**
- Top bar
  - Brand mark, or the brand switcher
  - Character corner
  - Your picture, opens Settings
- Today
  - Need your yes, count on the tab
  - Story rings, 24 hours
  - This week's picks, five
  - See everything, ranked, area filter
  - Caught up
- A pick, opens over any tab
  - The draft, New version, Versions
  - Why this, three sourced lines
  - The full plan, Download as PDF
  - Where to post
  - Bottom bar: Make it
- Make it
  - The thing
  - The chat, with AI and teammates
  - Tools: photo or file, talk, film board, teleprompter
  - Confirm a paid make
  - Hand it off: Me, My team, My agency or freelancer, The ShopOS team
  - Schedule it
  - Let it run
- Work
  - New since you looked
  - Ideas, In the works, Handed off
  - Scheduled, Live
  - How it went
  - Start something new
- Your store
  - Store health, three meters
  - What customers say
  - What rivals run
  - What AI search says
  - What changed
  - The plan
- Settings, behind your picture
  - What we know about you
  - Which of these do you handle
  - Team
  - Connections
  - Notifications and sound
  - Account
- Outside the app
  - Paste your store, Sign in, the read, the reveal
  - Brief page, no login
  - Emails: Monday picks, brief status
  - Error page, offline

- Screen d1:today: The rail on a laptop: three tabs, Settings at its foot

### Six addresses
Today, Work, Your store, Settings, a pick, Make it. The Brief page and the sign in pages live outside the app.

### The three tap check
| Goal | Taps from Today |
| --- | --- |
| Answer a yes | 1, the question opens as a sheet |
| Open a pick | 1 |
| Start making it | 2, the pick then Make it |
| Hand it off | 3, pick, Make it, Hand it off |
| See a handed off brief | 2, Work then the row |
| Connect a tool | 3, picture, Connections, Connect |
| Read what customers say | 2, Your store then the row |

### Screen ids
First run f1 to f7 and f1s. Today t1 to t6. A pick p1, p2. Make it m1 to m5. Hand it off h1 to h3. Work w1, w2. Your store y1 to y5. Settings s1 to s7. System x1 to x3. Emails e1, e2. Desktop d1, d2. Forty five screens, from shared/ia.md section 3.

### Where every old screen went {#d-2.old-to-new}

User moment: You used the old one. You want to know where your stuff went.

Answer: The audit found 89 surfaces, and each lands in one of six addresses or leaves with its data kept underneath.

- Nothing you made is lost
- Old brief links keep working and redirect
- Removed means removed, not hidden

Character line: Fetch: I moved all your bones. I know where every one is. | Buzz: New hive, same honey. | Scoop: I kept notes on where everything went. Naturally. | Ocho: Moved everything. Dropped nothing. Eight arms help. | Seeti: New kitchen. Same pots.

- The feed and today's 10 becomes Today, five picks. See everything shows the rest
- The Deck becomes Work board, and See everything with an area filter
- Library, Saved, the Jams list becomes Work
- Card page, desktop drawer, full page becomes The open pick
- Jam pane, Jam v2, the studio becomes Make it. Engines kept
- What we learned and six sub pages, fact sheet, rules becomes What we know about you, in Settings
- Heard, the watch page, Rivals, Products becomes Your store sections
- Setup steps, check page under a clock, ready overlay, swipe tuner becomes Paste, sign in, the read with three questions, the reveal. Answers kept
- The bell and its panel becomes New since you looked, in Work
- Viewing as, the seat picker becomes Which of these do you handle. A risk to check
- Four brief formats, four link shapes becomes One Brief page. Old links redirect

- 89 surfaces today, from the 25 October audit
- 6 addresses tomorrow
- 45 screens in the kit

### What stays underneath
| Removed | What replaces it | What stays |
| --- | --- | --- |
| Jam v2 and its boards | Make it | The making engines |
| The jam pane | Make it | The jam chat and its data |
| The card page | The open pick | Card data |
| The Deck | See everything and Work | Card data |
| Library, Saved, Jams list | Work | Saved and jam data |
| Queue view, greeting tiles | Need your yes | What counts as a yes |
| Bell and panel | New since you looked | Notifications that deep link |
| What we learned pages | What we know about you | Memory and facts |
| First run extras | Paste, sign in, read, reveal | The confirm call and answers |
| Floating button, New jam | Start something new | none |
| Pro carousel, measuring blocks | none | Data stays |

Source: shared/ia.md section 6. Keeping one brief format is Change core and runs in its own step after old links redirect.

### Who lands where {#d-2.who-lands-where}

User moment: Your co founder only approves. Your designer only ships. They should not see your whole week.

Answer: What you do decides where you land: deciders see Need your yes, makers land in Work, shippers live on the Brief page.

- Seats go away
- Which of these do you handle filters Today
- The Brief page needs no login

Character line: Fetch: Everyone gets their own spot on the couch. | Buzz: Every bee has a job. Every job has a door. | Scoop: I know who sits where. Discreetly. | Ocho: One arm per person. I have spares. | Seeti: Everyone at their station.

- Founder who is the marketing team: Need your yes, five picks, Make it, Hand it off. Lands on Today.
- In house marketer: The same, with Work as the daily home.
- Specialist: Today filtered to the areas they handle.
- Agency or freelancer: Invited per brand today. The brand switcher is Later. [Later]
- The ShopOS team: Same app, every brand, a staff badge. Lands on Work.
- Person with a brief link: One read only page, no login, phone first.
- Approver: Need your yes only. Yes or no.

| Person | Default landing | Sees |
| --- | --- | --- |
| Founder | Today | Everything |
| In house marketer | Work | Everything |
| Specialist | Today, filtered | Areas they handle first |
| Agency or freelancer | Today, per brand | Each brand they are invited to |
| The ShopOS team | Work | Every brand, staff badge |
| Brief link holder | Brief page | One brief |
| Approver | Today | Need your yes |

Source: shared/product-model.md section 6. Mapping Which of these do you handle onto today's seat field changes ranking input, so it is a risk to check.

## D3 Getting around {#d-3}

Tabs, back, close, deep links, keyboard and the brand switcher.

### Tabs, back and close {#d-3.tabs-and-back}

User moment: You opened something. You want out, to exactly where you were.

Answer: Three tabs stay put, Back goes one level up, Close drops a sheet, and Esc does both on a laptop.

- Tabs never move or rename
- A pick closes back to the list, same scroll
- One Back word, one arrow

Character line: Fetch: Back? I know back. I come back every time. | Buzz: Buzz back to where you were. | Scoop: I always know the way out. Professional habit. | Ocho: Back is one arm away. | Seeti: Back to the pass. Lid stays on.

- Screen t1:monday: Three tabs at the bottom
- Screen p1:open: A pick: Back top left, Make it at the bottom

- A pick, open: Sheet on phone, side peek on laptop. Back or Esc returns to the list at the same scroll
- Make it: Full screen. Back returns to the pick or the Work row you came from
- A sheet: Title, one main button, Close. Close, swipe down, Esc
- Settings page: Back to Settings rows. Back
- Story viewer: One frame. Tap to advance, swipe down to close
- Brief page: Outside the app. No back into the app; Open it in Make it

### Rules
- One top bar, one tab set, one bottom bar. Tabs are Today, Work, Your store, in that order, on every screen size.
- Back means one level up in the six addresses, never browser history jumps across brands.
- Reopening the app returns to the tab you left, with the same scroll.
- The audit counted five back styles and labels such as Feed and Back to my feed. All become Back.

### Every link opens exactly its thing {#d-3.deep-links}

User moment: An email says your brief needs something. You tap it on the train.

Answer: Every email, notification and Slack line opens exactly the thing it names, never a home page you have to search.

- Notification to its pick, Make it or brief
- Old link shapes keep answering
- Signed out? Sign in, then land on it

Character line: Fetch: You throw the link, I fetch the exact thing. | Buzz: Straight to the right flower. | Scoop: Psst, the link goes right to it. No rummaging. | Ocho: Tap the link, land on the thing. One arm, no detours. | Seeti: Ticket goes straight to the right pot.

- Screen e1:monday: Monday email: five picks, one button
- Screen e2:status: Brief status email: where it is, one button

| Link from | Opens |
| --- | --- |
| Monday email | Today |
| A pick in the email | That pick, open |
| Brief status email | That row in Work, Handed off |
| Needs something from you | Need your yes, that question open |
| A teammate reply | Make it, scrolled to the reply |
| Final is ready | Make it, that version |
| Invite email | Join page, then Today |
| Brief link | Brief page, no login |

### Rules
- 60 characters at most for a notification. One thing per notification.
- Email buttons skip the read replay and setup, as today's ?go=feed switch does, per the audit.
- Signed out: sign in with your work email, then land on the thing, never on Today.
- A link to something removed opens the error page with one way out: Go to Today.
- Old forms such as /h/<token> keep answering and redirect to the one Brief page.

### Open question
The exact address shapes for a pick and Make it after the redesign are not settled in the sources. Today they are hash routes such as #remix=<card>/<change>.

### Keyboard on a laptop {#d-3.keyboard}

User moment: You live in Linear and Gmail shortcuts. You want the same here.

Answer: Six keys cover the week: J and K move, H hearts, X is Not for me, Enter opens, M is Make it, Esc closes.

- J K to move between picks
- H heart, X Not for me, M Make it
- Enter open, Esc close

Character line: Fetch: H for heart. Also for happy. Also for hungry. | Buzz: J and K. Like a little waggle dance. | Scoop: Shortcuts. My favourite kind of road. | Ocho: Six keys. I could press them all at once. | Seeti: M for Make it. Also for masala.

| Key | Does |
| --- | --- |
| J | Next pick |
| K | Previous pick |
| H | Heart |
| X | Not for me |
| Enter | Open the pick |
| M | Make it |
| Esc | Close the pick or sheet |

- Screen d1:today: Focus ring moves down the picks

Keys work only when no text field has focus. Every key has a visible button twin, so nothing depends on the keyboard. Source: shared/product-model.md section 11. Accessibility rules for focus live in d-11.

### The brand switcher, Later {#d-3.brand-switcher}

User moment: You run four brands. You are tired of typing addresses.

Answer: Today an agency is invited to each brand, and Later the brand mark becomes a switcher of the brands you handle.

- Shown only to people with more than one brand
- Today: one invite per brand
- The only real build item in the map

Character line: Fetch: Four yards. One dog. I sniff them all. | Buzz: Many gardens, one bee. | Scoop: Several stores? Plenty of gossip for everyone. | Ocho: One arm per brand. I have room. | Seeti: Four kitchens. One head cook.

- Today: One address per brand. An agency person is invited to each brand separately and types each address or follows an email.
- Tomorrow: Brands you handle. The brand mark opens a menu of your brands. Today, Work and Your store follow the one you pick.

- Screen x3:brands: Brands you handle

Source: _research/product-audit.md section 2.6: GET /api/brands returns the brands a person is on, but no screen calls it. Flagged Later in BRIEF.md section 3.4. It is shown only to people with more than one brand.

## D4 Journeys {#d-4}

Twenty journeys, each with a flow, live screens and the edge cases.

### Journey 1: first week {#d-4.j-first-week}

User moment: You heard about this from another founder. You have ten minutes before a supplier call.

Answer: Paste your link, sign in with your work email, watch it read for about 3 to 4 minutes, then heart one, make one, hand off one.

- Four screens to your first picks
- One skip label, Skip
- First win: one pick handed off

Character line: Fetch: Throw me your link. I will be back before your coffee cools. | Buzz: Give me your store. I will buzz every corner of it. | Scoop: Pop your store link in. For your read, I only look at what is public. | Ocho: Pass it here. Eight arms reading, about 3 to 4 minutes. | Seeti: Give me your store link. Then step back from the stove.

**Pasted link to first hand off**
1. Paste your store: Build my feed [Today]
2. Sign in: work email [Today]
3. Reading your store: 7 sources, 3 questions [Today]
4. Here's your store: one finding [Next]
5. Today: first win bar [Next]
6. Make it: first version [Today]
7. Hand it off: first win done [Next]
8. Caught up: see you Monday [Next]

**Step by step**
- Screen f1:ready: 1 Paste your store
- Screen f2:default: 2 Sign in with your work email
- Screen f4:reading: 3 Reading your store, question 1 of 3
- Screen f7:reveal: 4 Here's your store, one finding
- Screen t1:monday: 5 Today with the first win bar
- Screen m1:studio: 6 Make it
- Screen h1:who: 7 Who is shipping this
- Screen h2:team: 8 Handed off, first win

**Edge cases**
- A name instead of a link: That looks like a name. Paste the link, like saanjh.in. Fix the box; Build my feed stays off until it is a link
- A personal or other company email: This store is for its own team. See demo stores or Switch email
- The read stops: Read did not finish, with where it stopped. Start again
- Reads are full this week: The cap screen. Ask for a design partner read, See demo stores
- You leave during the read: Nothing lost; it keeps going. Come back from the email or the address
- You skip the questions: One label: Skip. Answer later in Which of these do you handle
- Store behind a password page: This store is for its own team, until it opens. Sign in as the team
- Shopify admin start: Same screen with the store filled in. See journey 17

### Steps
| Step | Screen | What you see | What you do | Status |
| --- | --- | --- | --- | --- |
| 1 | f1 Paste your store | One box, the promise, Reading takes about 3 to 4 minutes | Paste, Build my feed | Today, Restyle |
| 2 | f2 Sign in with your work email | The store you pasted, ready to read | Continue with Google | Today |
| 3 | f4 Reading your store | Seven sources tick: store, brand, catalog, reviews, ads, site, AI answers. Finding cards arrive | Answer three quick questions or Skip | Read Today, questions Next |
| 4 | f7 Here's your store | One finding, shareable | Share this finding, Open my picks | Next, Add on |
| 5 | t1 Today | Need your yes, five picks, the first win bar: heart one, make one, hand off one | Heart a pick | Today, bar Next |
| 6 | p1 then m1 | The draft, Why this, then the studio | Make it, change it in the chat | Today |
| 7 | h1 Hand it off | Who is shipping this | Pick who | Next, Restyle |
| 8 | h2 Handed off | Brief copied or sent, small celebration | Back to Today | Today |

### Today to tomorrow
Today's first run is about 11 screens or overlays and up to 14 decisions before the first card, with six skip labels: Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed. Tomorrow it is four screens and one skip label. The questions offer, five question screen, check page under a clock, setup steps, ready overlay and swipe tuner leave. Their data paths stay: the confirm call, the seat answer, connect and invite. The check page lives on inside What we know about you, optional, with no timer. Source: _research/product-audit.md section 2.1, shared/surface-map.md F1.

### Truth first
A work email sign in comes before the read. Never write that no sign in is needed. The reveal before sign in is Next.

### Open question
Whether the ten minute first win has been timed with any design partner is not in the sources.

Onboarding in full, every screen and every skip: [d-5 Onboarding](#d-5).

### Journey 2: Monday {#d-4.j-monday}

User moment: Monday, 9 in the morning. You open the email before you open anything else.

Answer: The Monday email shows five picks and one button, and Today opens with Need your yes on top, then the five.

- Ten minutes, start to caught up
- Questions first, then picks
- Finite: five, then See everything

Character line: Fetch: Monday. I brought five sticks. One might be my tennis ball. | Buzz: Fresh week. I waggled straight to the best one. | Scoop: Fresh week, fresh gossip. Five picks, and the second one is spicy. | Ocho: Arms full. Five picks, drafted, still warm. | Seeti: Three whistles. Five specials. Go on, pick.

1. Monday email: five picks, one button [Next]
2. Today: Need your yes 2 [Today]
3. Answer: Yes or Not now [Today]
4. Pick: heart or Not for me [Today]
5. Make it [Today]
6. Hand it off [Next]
7. Caught up [Next]

**Step by step**
- Screen e1:monday: 1 The Monday email
- Screen t1:monday: 2 Today on Monday
- Screen t2:open: 3 One question, Yes or Not now
- Screen p1:open: 4 A pick, open
- Screen m1:studio: 5 Make it
- Screen t5:caught: 6 Caught up

**Edge cases**
- Nothing needs your yes: Need your yes is gone, not empty. Go straight to picks
- You did not open the email: Today has the same five. Nothing chases you
- All five are Not for me: See everything stays one tap away. Pick from the rest
- You skipped last week: No message about it. This week starts fresh
- A pick went stale since Monday: It drops off at the next read. Undo is not needed
- A brief needs something from you: It sits in Need your yes. Answer it there

### Steps
| Step | Screen | What you see | What you do | Status |
| --- | --- | --- | --- | --- |
| 1 | e1 Monday email | Five picks, one button | Open Today | Next |
| 2 | t1 Today | Greeting, Need your yes with a count, story rings, five picks | Answer first | Today, Recompose |
| 3 | t2 Need your yes | A yes or no question, what happens either way | Yes or Not now | Today |
| 4 | p1 A pick | Draft, Why this, Where to post | Heart, Not for me, Make it | Today |
| 5 | m1 Make it | The thing and the chat | Change it, New version | Today |
| 6 | h1, h2 | Who is shipping this, Handed off | Pick who | Next, Restyle |
| 7 | t5 Caught up | Sign off until Monday | Close the app | Next |

### Today to tomorrow
Today the digest goes out on Monday at 09:00 brand time with Open the feed. The feed top shows up to three tiles, rings, a plays card, a health card, then ten cards and See the next 15. Tomorrow: one list of five, Need your yes on top, one number. A picks email that reads ranked cards is a Change core risk, because today's digest reads the plays files. Source: product-audit 2.2, surface-map F13.

### Weekly run, Next
Weeks in a row with at least one hand off, one free skip a month, a light nudge, no guilt. Never a message about a missed week. The second week habit and coming back after a break: [d-5 Onboarding](#d-5).

### Journey 3: pick and make {#d-4.j-pick-and-make}

User moment: One pick looks right. You want to see it, change the words and make it real.

Answer: Open the pick, read Why this, tap Make it, change it in the chat, and every version is kept.

- A heart brings more like it
- Make it opens the thing and the chat
- Versions: a strip, one tap back

Character line: Fetch: You liked that one. I will dig up more like it. Maybe a ball too. | Buzz: Sweet pick. More flowers like it, coming. | Scoop: Ooh, you liked that one. Noted. I will dig up more like it. | Ocho: Fresh ink. The old one is still in the stack. | Seeti: That draft is undercooked. Another batch?

1. Heart: more like it appear [Today]
2. Open the pick: draft, Why this [Today]
3. The plan: five steps, sources [Today]
4. Make it: thing and chat [Today]
5. New version: kept in Versions [Today]

**Step by step**
- Screen t6:heart: 1 A heart
- Screen p1:open: 2 The pick, open
- Screen p2:plan: 3 The full plan
- Screen m1:studio: 4 Make it
- Screen m2:making: 5 Making, you can leave
- Screen m4:versions: 6 Versions

**Edge cases**
- A number we are unsure of: A To confirm chip on it. Check it before you use it
- You leave while it makes: The wait pose and one line: you can leave. Come back from the notification
- You want the old one back: Versions strip, current marked. One tap makes it current
- Not now, not never: Later. The pick comes back next week
- A make breaks halfway: Version 4 stopped halfway. Version 3 is safe.. Try again
- A pick needs something paid: The confirm sheet. See journey 10

### Steps
| Step | Screen | What you see | What you do | Status |
| --- | --- | --- | --- | --- |
| 1 | t6 | Toast, more like it appear | Undo | Today |
| 2 | p1 | The draft big, Why this in three sourced lines, the plan, Where to post | Make it | Today, Recompose |
| 3 | p2 | Steps, sources, Download as PDF | Back | Today |
| 4 | m1 | The thing, chat with AI and teammates, tools: photo or file, talk, film board, teleprompter | Type a change, edit in place | Today, Recompose |
| 5 | m2 | Wait pose with one line | Leave or wait | Today |
| 6 | m4 | Strip of versions | Pick one | Today |

### Truth first
A heart brings one more card in that direction today. Never promise a number: write more like it appear.

### Today to tomorrow
Three jam interfaces, chosen by the card's state and the address, become one Make it. Redo it becomes New version. History becomes Versions. Source: product-audit 2.3.

### Journey 4: hand it off, all four routes {#d-4.j-hand-off}

User moment: It is good enough. You want it off your plate and into the right hands.

Answer: One button, Hand it off, asks Who is shipping this, and only The ShopOS team route sends anything.

- Me: copies the words, opens the place
- Team or agency: brief copied, nothing sent
- The ShopOS team gets your brief by email

Character line: Fetch: Throw it to anyone. I will not chase it. Probably. | Buzz: Pass the pollen. The hive takes it from here. | Scoop: Copied. Slip it to whoever ships it. My lips are sealed. | Ocho: Brief copied, link ready. You pass it on, and I get an arm back. | Seeti: Order ticket is written. Pass it on.

**The sheet and its four endings**
- Screen h1:who: Who is shipping this
- Screen h2:me: Me: you ship it yourself
- Screen h2:team: My team or agency: brief copied
- Screen h2:shopos: The ShopOS team got it, brief number

**Me**
1. Hand it off [Next]
2. Me [Next]
3. Words copied: the exact place to post opens [Today]
4. You post it: outside the product [Today]

**My team**
1. Hand it off [Next]
2. My team [Next]
3. Brief copied: numbered brief and read only link [Today]
4. Paste it where they work: or Post to Slack if connected [Today]

**My agency or freelancer**
1. Hand it off [Next]
2. My agency or freelancer [Next]
3. Brief copied: same as My team [Today]
4. They open the Brief page: no login [Today]

**The ShopOS team**
1. Hand it off [Next]
2. The ShopOS team: one confirm sheet [Next]
3. Brief sent by email: brief number [Today]
4. Status in Work: Received to Delivered [Today]

**Edge cases**
- Something is missing, such as when or who it is for: One line naming what is missing. Hand it off anyway or keep making
- The email to the ShopOS team did not go: Brief ready to paste. Send again
- You changed it after handing off: Changed since you handed it off, v4 is current. Hand off v4
- The ShopOS team needs something: Needs something from you, in Need your yes. Answer it
- Copy failed: Could not copy. Try again.. Try again
- No place to post known for Me: Words copied, no place opened. Paste it yourself

### The four routes
| Route | What happens | Is anything sent | Today's route it calls |
| --- | --- | --- | --- |
| Me | Copies the words and opens the exact place to post | No | Copy and open |
| My team | Copies the numbered brief with a read only link. Offers Post to Slack when Slack is connected | No, unless you post to Slack | Share with my team |
| My agency or freelancer | Same as My team; the link opens the Brief page with no login | No | Share with my team |
| The ShopOS team | The ShopOS team gets your brief by email, frozen with a brief number | Yes, by email | Send the brief now |

### Status after handing off
Handed off cards carry one sub line: Received, In progress, Needs something from you, Delivered. The ShopOS team moves these by hand. Needs something from you also appears in Need your yes.

### Today to tomorrow
Four routes and ten buttons on six surfaces: Send brief, Send the brief now, Share with my team, Hand it to the team, Share the brief, Send brief in Saved, Send to the ShopOS team, Brief a team, Slack share, WhatsApp. They become one Hand it off with one sheet that calls today's routes. Restyle only. Source: product-audit 2.4, surface-map F11.

### Never write
The product posts or publishes anything. For your own team or a freelancer: copied, nothing sent.

### Journey 5: the person who ships it {#d-4.j-shipper}

User moment: You are the designer. Someone pasted a link in WhatsApp. You are on your phone, between jobs.

Answer: The link opens the Brief page, no login, with a numbered brief, the files, Copy all, a status stamp and Open it in Make it for changes.

- Phone first, nothing to install
- Copy all, download the files
- The character only signs off at the bottom

Character line: Fetch: Here is the stick. You know what to do with it. | Buzz: Everything you need, in one cell. | Scoop: The full note, just for you. Nobody else is reading over your shoulder. | Ocho: Here is the clipboard. All yours. | Seeti: Order ticket. Everything on it. Cook.

1. Link arrives: WhatsApp, Slack, email [Today]
2. Brief page: no login [Today]
3. Copy all, files [Today]
4. Ship it: outside the product [Today]
5. Open it in Make it: only if you must change it [Today]

**Step by step**
- Screen h3:brief: 1 The Brief page
- Screen m1:guest: 2 Make it, as a guest
- Screen e2:status: 3 The founder sees the status move

**Edge cases**
- An old link form: It redirects to the Brief page. Nothing breaks
- The brief is for the team only: Sign in with your work email. Sign in or ask the founder
- The brief changed after it was shared: The page shows the version that was handed off and a note that a newer one exists. Ask the founder
- You want to say it is done: Not possible from the page today. Tell the founder; the ShopOS team moves its own briefs
- Files are large on a phone: Each file downloads on its own. Download what you need

### What the Brief page holds
A numbered brief, the files, a Copy all button, the status stamp, Open it in Make it, and a 32 px sign off from the character at the bottom.

### Today to tomorrow
Today the read only page is /h/<token>?full=1 with about twelve sections and no download all. Old /h/<token> links without full redirect into the jam, which forces a Google sign in. Jam v2 links are a second format. Tomorrow: one Brief page; every old form keeps answering and redirects to it. Source: product-audit 2.5.

### Open question
Whether a shipper can mark their own work Delivered. Today only Jam v2 links can move their own status, and merging the two status systems is a Change core risk.

### Journey 6: the approver {#d-4.j-approver}

User moment: You are the co founder. You do not want to learn a tool. You want to say yes or no.

Answer: Need your yes shows one question, what happens either way, and two buttons: Yes and Not now.

- A yes or no question, 10 words at most
- Undo after Yes
- No reading required

Character line: Fetch: Paw up or paw down. That is it. | Buzz: One buzz for yes. Easy. | Scoop: Just your nod, please. I will handle the rest. | Ocho: One arm up. This one needs your yes. | Seeti: Taste this first. Yes or no.

1. Today: count on the tab [Today]
2. The question: what happens either way [Today]
3. Yes: or Not now [Today]
4. Done: Undo toast [Today]

- Screen t2:open: 1 Can we use the rain photo from your Instagram?
- Screen t2:answered: 2 Yes saved, one left, Undo

**Edge cases**
- Not sure: Not now. It stays in Need your yes
- Tapped Yes by mistake: Undo in the toast. Undo
- Someone else already answered: The question is gone, with who answered. Nothing
- The approver is not on the team: Invite them as a member. See journey 19
- A yes asked in Slack: Approve in the thread works today. See journey 18

### What counts as a yes
Questions only the owner can answer: use a photo, run something that costs money, a brief that needs something from you. Changing what counts as Need your yes changes ranking, so it is a risk to check.

### Today to tomorrow
Today there are five places that list things waiting on you, and the queue view is guided Call 1 of N. Tomorrow: one Need your yes, with a count on the Today tab. Source: product-audit 2.2.

### Open question
Whether an approver can answer from an email without opening the app. Not in the sources.

### Journey 7: the specialist {#d-4.j-specialist}

User moment: You run the ads. You do not need to see email ideas.

Answer: Tell it Which of these do you handle once, and Today and See everything show your areas first.

- Pick several areas
- Today shows yours first
- Same Make it, same Hand it off

Character line: Fetch: You fetch ads. I will only throw you ads. | Buzz: Your flowers first. | Scoop: Your beat, your gossip. | Ocho: Your arm, your picks. | Seeti: Your station. Your specials.

1. Which of these do you handle: five areas [Next]
2. Today, filtered [Today]
3. A pick [Today]
4. Make it [Today]
5. Hand it off [Next]

- Screen s3:areas: 1 Which of these do you handle
- Screen t4:ads: 2 Filtered to your areas
- Screen p1:open: 3 A pick
- Screen m1:studio: 4 Make it

**Edge cases**
- You handle everything: Pick all five. Same as the founder
- No pick in your area this week: Empty state with one line. See everything, all areas
- A pick spans two areas: It shows for both. Either person can make it
- Two people make the same pick: Both in one Make it chat. Talk it out in the chat

### The five areas
| Area | Question it answers |
| --- | --- |
| Social posts | What should I post this week? |
| Ads | What ad should I run next? |
| Website | Why are visitors not buying? |
| AI search | Does ChatGPT recommend me? |
| Email and WhatsApp | How do I get customers back? |

### Today to tomorrow
Five seats that re rank and re word cards, plus views that limit what invited people see, become one question with several answers. Mapping it onto today's seat field changes ranking input: a risk to check. Source: product-model section 8.

### Journey 8: the agency {#d-4.j-agency}

User moment: You run marketing for six small brands. Mornings are a blur of logins.

Answer: Today you are invited to each brand as a member, and Later a brand switcher puts them all under one mark.

- Invited per brand today
- Brief page to show clients work
- Switcher Later, dial per client v4

Character line: Fetch: Six yards to patrol. Good thing I like walks. | Buzz: Six gardens. Busy bee, happy bee. | Scoop: Several stores, several notepads. I keep them separate. | Ocho: Six brands. Still two arms spare. | Seeti: Six kitchens. One apron.

1. Invite email: per brand [Today]
2. Join [Today]
3. Today for that brand [Today]
4. Switch brand: brand switcher [Later]
5. Set the dial per client [v4]

- Screen x3:brands: Brands you handle, Later
- Screen t1:monday: Today for one brand
- Screen h3:brief: The Brief page, to show a client

**Edge cases**
- Your email is not the brand's domain: Invites still work. Join by invite
- A client removes you: That brand leaves your list. Nothing else changes
- Two clients in one category: Each read stays in its own brand. No data crosses brands

Today there is no brand switcher: each brand lives at its own address and team, and an agency person must be invited to each. Source: product-audit 2.6. Agencies set the dial for each client: BRIEF.md section 3.6, which belongs to v4. Showing a client a brief uses the same Brief page. Agency onboarding: [d-5 Onboarding](#d-5).

### Journey 9: connect a tool {#d-4.j-connect}

User moment: The pick says your ad numbers are guesses. You want real ones on the card.

Answer: Settings, Connections, Connect opens one sheet with the platform's own consent, and every connection is read only.

- One connect sheet for every tool
- Status chip per connection
- Read only, disconnect any time

Character line: Fetch: Plug it in. I only sniff, I never chew. | Buzz: One more flower to read. Never to pick. | Scoop: Anything you connect, I read only. Promise. | Ocho: One arm on it. Read only. | Seeti: I read the recipe. I do not touch the pot.

1. Connections: status chips [Today]
2. Connect: one sheet [Today]
3. Platform consent [Today]
4. Pick the account [Today]
5. Connected: cards refresh [Today]

- Screen s5:rows: 1 Connections with status chips
- Screen s5:sheet: 2 The connect sheet

**Edge cases**
- You are not an admin: Only admins connect; you can refresh connected ones. Ask an admin
- The sign in expired: Chip: Needs you. Connect again
- Expiring soon: Chip: Expiring, plus an email. Connect again early
- Last refresh failed: Chip: Stale. Refresh
- Too many tries: Wait a few minutes, then paste it again. Wait
- A protected connection: Protected while live with a client. Ask a ShopOS admin
- Disconnect: One sheet that says what leaves, for everyone on the team. Keep it or Disconnect, no undo
- Inside Shopify admin: Continue in a new tab. Sign in there, come back

### Status chips
Connected, Needs you, Expiring, Stale, Read only. Expiry emails are restyled.

### Tools live today, read only
Shopify, Meta ads, Google Analytics, Google Ads, Klaviyo, Judge.me and Slack, real and read only on the live site since 16 October. The demo site simulates them. Source: product-audit, truth table.

### Never write
Never sell connections and never imply posting or budget control. The Slack grant to post covers Slack threads only.

### Today to tomorrow
Nine surfaces and two sheet styles become Settings, Connections, one connect sheet, platform consent, account pick, connected. Source: surface-map F5 and F6.

### Journey 10: paid make and finals {#d-4.j-paid-make}

User moment: You want the real six second video, not the draft. You want to know what it costs before it costs.

Answer: A paid make shows the price once on one confirm sheet, lets you leave while it makes, and lands as a version marked final.

- Price only on the confirm sheet
- No vendor names, ever
- You can leave while it makes

Character line: Fetch: This one costs a treat. Want me to fetch it? | Buzz: This honey costs a little. Say yes and I fly off to make it. | Scoop: This one costs real money. I will wait for your nod. | Ocho: Ink costs here. One arm up first. | Seeti: This dish has a price. Say yes, I light the stove.

1. Make it [Today]
2. Confirm: price once, what happens [Today]
3. Making: you can leave [Today]
4. Notification: it is ready [Today]
5. Version marked final: in Versions [Today]

- Screen m3:confirm: 1 Confirm a paid make
- Screen m2:making: 2 Making, you can leave
- Screen m4:versions: 3 The final in Versions
- Screen m5:broke: 4 If it breaks

**Edge cases**
- Not now: Sheet closes, nothing paid. Keep the draft
- Today's share of pictures is used up: One line: it resets tomorrow, everything else works. Wait, or keep editing words
- Making is paused for a while: Everything opens; new drafts wait. Come back later
- The final paused for a check: A notification opens it. Check it, then carry on
- The final did not come through: Make it again. Try again, nothing charged twice
- Started from Slack: Slack opens Make it; the sheet asks there. Confirm in Make it

### Rules
- Never show a price on the first button. Today buttons read like Make it with a price after a dot; that goes.
- Never show vendor or model names to a founder.
- The final is a version, not a separate flow.

### Today to tomorrow
Three confirm flows, five priced buttons and one path with no confirm, the Slack make button, become one sheet. Removing the make button from Slack messages is listed as Next; routing Slack through the sheet is a Change core risk. Source: surface-map F9 and F10, ia.md section 2.

### Open question
Who pays for a paid make during the design partnership is not settled in the sources. See part B.

### Journey 11: post and schedule (from v2) {#d-4.j-post-schedule}

User moment: You made it. You do not want to open three apps to post it.

Answer: A pick gets a second exit, Schedule it, which posts on your connected account at the time you approved.

- Your OK every time
- Undo until it goes out
- Scheduled and Live columns in Work

Character line: Fetch: Now I can drop it on the porch myself. After you say sit. I mean yes. | Buzz: I fly it to the right flower at the right hour. With your OK. | Scoop: Now I can slip it out myself, at your time, with your nod. | Ocho: One arm on the calendar. Your yes first. | Seeti: Served at your time. After you taste it.

1. Make it [v1]
2. Schedule it: pick a time [v2]
3. Need your yes: approve the post [v2]
4. Scheduled: in Work, undo until then [v2]
5. Live: on your account [v2]

- Screen w1:later: Work with Scheduled, Live and How it went

- Today: v1: hand it off. Me copies the words and opens the exact place to post. You post it.
- Tomorrow: v2: schedule it. It posts on your connected account at the time you approved.

**Edge cases** (from v2)
- No approval by the time: It does not post. Approve or pick a new time
- The account disconnected: Chip: Needs you, the post waits. Connect again
- You change your mind: Undo or Unschedule until it goes out. Undo
- The platform refused the post: One sentence of why, the post stays in Scheduled. Fix and try again
- Edited after approval: It asks for your yes again. Yes or Not now

### Status
v2. Today the product never posts, publishes or schedules anything. Source: BRIEF.md section 3.6: Prepare is Next or Later, Schedule is Later.

### The dial
Per area and per channel: Suggest, Prepare, Schedule, Run within rules. Every brand starts at Suggest.

### Groundwork in v1
Each pick stores its destination channel. The brief is also saved as structured data. Pick status is one extendable field. These make v2 a new column, not a new product.

### Journey 12: see what worked (from v3) {#d-4.j-what-worked}

User moment: You shipped five things last month. You want to know which ones did anything.

Answer: Work grows a How it went column, and its sourced results feed next week's picks.

- How it went per pick
- Results shape the next Monday
- Only numbers with a source

Character line: Fetch: I sniffed out which sticks you liked best. | Buzz: I counted the pollen. Here is what bloomed. | Scoop: I heard how it went. Here is what people did. | Ocho: One arm on the results. Sourced, every number. | Seeti: Clean plates and full plates. Here is which was which.

1. Live [v2]
2. How it went: per pick, sourced [v3]
3. Next week's picks: more of what worked [v3]

- Screen w1:later: How it went, the last column

**Edge cases** (from v3)
- Not enough data yet: Too early to tell, with when to look. Wait
- No connection for that channel: Connect to see how it went. See journey 9
- Shipped outside the product: Paste the link to the post. Add it by hand
- Results look off: To confirm chip. Check the source

v3. Measuring is Later today; the redesign removes leftover measuring words from v1, a Restyle. Progress in the game layer measures what you did and what we know about the store, never sales. Results feed ranking only in v3. Source: product-model truth table, BRIEF.md 3.5 and 3.6.

### Groundwork in v1
A decision log of hearted, made and handed off. It changes nothing a founder sees.

### Journey 13: let it run ads (from v4) {#d-4.j-run-ads}

User moment: You know what you are willing to spend. You do not want to babysit an ad account.

Answer: Inside the rules and budget cap you set per area and channel, it launches and tunes ads with undo always.

- Your budget cap, your topics
- Approval windows you choose
- Pause everything in one tap

Character line: Fetch: I stay inside the fence you built. Good dog. | Buzz: I only visit the flowers you fenced in. | Scoop: I stay inside your rules. No sneaking. | Ocho: All eight arms, inside your lines. | Seeti: Your budget, your heat. I will not turn it up.

1. Set the dial: Run within rules [v4]
2. Rules: budget cap, topics, approval window [v4]
3. It runs: inside the rules [v4]
4. Need your yes: anything outside them [v4]
5. Undo or pause: always [v4]

**Edge cases** (from v4)
- It nears the cap: One line in Need your yes. Raise it or let it stop
- A rule conflict: It stops and asks. Pick which rule wins
- You want everything off: Pause all. One tap, one confirm sheet
- An ad gets refused: One sentence of why. Fix it or drop it
- Account access removed: Everything pauses. Connect again

v4. Today the product never launches, pauses or moves budget. Source: BRIEF.md 3.6, Run within rules is Later. Each pick then has three exits: hand it off, schedule it, let it run. Only hand it off is on in v1. Spending money always uses a confirm sheet, not a toast.

### Journey 14: errors and recovery {#d-4.j-errors}

User moment: Something broke. You want to know if you lost anything and what to tap.

Answer: An error shows one plain sentence and one way out, and says Your work is safe whenever it is true.

- One error page, one error state
- Never the empty style for errors
- A person handles apologies

Character line: Fetch: Oops. I tripped over my own ball. Try that again. | Buzz: Bumped the window. Try again. | Scoop: Oops. Tripped over my own tail. Give me a second and try that again. | Ocho: Ah. I tied myself in a knot. Your work is safe. Try again in a second. | Seeti: That one boiled over. My fault.

- Screen f5:error: The read did not finish
- Screen m5:broke: Something broke in Make it
- Screen x1:notfound: Not found
- Screen x2:offline: Offline

**Every error and its way out**
- Read did not finish: Where it stopped; nothing was saved. Start again
- A make broke: Version 4 stopped halfway. Version 3 is safe.. Try again
- Not found: The link may be old or mistyped. Go to Today
- Offline: One line. Try again
- A dead old link: Not found. Go to Today
- A plan PDF failed: The PDF could not be drawn just now. Try again in a minute
- Server error: Something went wrong on our side. Try again
- Not your store: This store is for its own team. See demo stores, Switch email

### Rules
- Plain sentence of what happened, one way out, the error pose at 96 px, 56 px inside Make it.
- Errors never use the empty style. Today the same empty class also shows load errors, per the audit.
- No raw server text, no codes in the main line.
- Start again clears only this browser for one brand.

### Today to tomorrow
Nine error surfaces become one error page and one error state. Five start over labels become Start again, in Settings, Account and on the read error. Source: surface-map F8 and F14.

### Journey 15: the cap {#d-4.j-cap}

User moment: You pasted your link and it says no. You want to know why and what now.

Answer: Reads are capped because each one takes real time, so the cap screen offers Ask for a design partner read and the demo stores.

- A real cap, said plainly
- Never a fake countdown
- One way in: ask for a read

Character line: Fetch: My bowl is full this week. Ask and I will save you a spot. | Buzz: The hive is full this week. Ask for a spot. | Scoop: Notepad full for now. Each read costs real time, so we keep a cap while we build. | Ocho: Out of arms for now. Reads are capped this week. Ask us for one. | Seeti: One pot at a time this week.

1. Paste your store [Today]
2. Reads are full this week [Today]
3. Ask for a design partner read [Today]
4. A person replies [Today]

- Screen f6:cap: Reads are full this week

**Edge cases**
- You just want to look: See demo stores. Open a demo
- Your store was read before: It opens your store. No cap for a returning brand
- A teammate of a read brand: Join by invite. Ask for an invite
- Pictures share used up for the day: One line, everything else works. Wait until it resets

The capped read is real scarcity, the only kind allowed. Never write psst upgrade, only hours left, or anything that rushes. Source: BRIEF.md section 3.5 and every system file's banned lines.

### Open question
How many reads a week the cap allows, and who answers the request, are not in the sources. Part H covers the design partner offer.

### Journey 16: a guest with a read only link {#d-4.j-guest}

User moment: Your freelancer got the link. They want to tweak a line without you giving them the keys.

Answer: The Brief page needs no login, and Open it in Make it lets a signed in guest chat, edit and make drafts in that one Make it only.

- Read only page, no login
- Guest: chat, edits, drafts
- No share, approve, assign or discard

Character line: Fetch: A guest in my yard. They can play, not dig. | Buzz: Visiting bee. One flower only. | Scoop: Guests get one note, not the notepad. | Ocho: One arm for the guest. The other seven stay home. | Seeti: Guest can stir. Guest cannot change the menu.

1. Brief page: no login [Today]
2. Open it in Make it [Today]
3. Sign in [Today]
4. Make it, as a guest: that one only [Today]

- Screen h3:brief: 1 Brief page
- Screen m1:guest: 2 Make it as a guest

| A guest can | A guest cannot |
| --- | --- |
| Chat | Hand it off |
| Edit the words and the brief | Approve |
| Make drafts | Assign |
| See Versions | Discard |
| Download files | See any other pick, Today or Your store |

**Edge cases**
- The link has expired: This link no longer works. Ask the founder for a new one
- Signed in as a teammate: Lands in their own workspace, same Make it. Full rights
- A team only pick: Sign in with your work email. Ask for an invite
- A guest presses something paid: Only the brand's team makes paid things. Ask the owner

Guest rules today, from SCOPE.md via the audit: a guest of one jam can chat, edit the brief and make drafts, but cannot share or send the brief, approve, assign or discard. The model keeps these rules. Source: product-audit 2.5, ia.md section 2, surface-map F4.

### Journey 17: start from Shopify {#d-4.j-shopify}

User moment: You found it in the Shopify app store. You tapped open, inside your admin.

Answer: It is the same Paste your store screen with your store already filled in, the same read time words, and sign in opens a new tab because Google does not allow it inside Shopify.

- Store filled in
- Same 3 to 4 minute words
- Sign in hops to a new tab

Character line: Fetch: You came in the back door. Still my favourite visitor. | Buzz: Straight from your own garden. Nice. | Scoop: Came in through Shopify? Clever. I already know which store. | Ocho: Already have your store in one arm. | Seeti: Store is already in the pot.

1. Shopify admin, Apps [Today]
2. Paste your store, filled in [Today]
3. Continue in a new tab: sign in [Today]
4. Reading your store [Today]

- Screen f1s:filled: Inside Shopify, store filled in
- Screen f4:reading: Reading your store

**Edge cases**
- Opened outside the admin: Open it from your Shopify admin, under Apps. Go there
- The sign in hop expired: This link no longer works. Go back to Shopify and tap it again
- The install did not take: Install again from Shopify. Install again
- Uninstalled: Shopify disconnects. Data follows Shopify's erasure rules
- Store behind a password page: Shown to the store's own team until it opens. Sign in as the team

### Today to tomorrow
Today the Shopify home says Read my store and that the first read takes about half an hour. That is a third start screen with its own words. Tomorrow it is f1s with the same words as Paste your store. The half an hour line goes after a check. Seven surfaces become three. Source: surface-map F15, S42 to S48. The public Shopify app was submitted for review on 21 October; until approval, entry is by install link. Shopify onboarding: [d-5 Onboarding](#d-5).

### Journey 18: Slack {#d-4.j-slack}

User moment: Your team lives in Slack. You do not want to drag them into another app.

Answer: With Slack connected, Hand it off offers Post to Slack, and replies in the thread show up in the Make it chat.

- Post to Slack from Hand it off
- Thread replies land in Make it
- No make button in Slack

Character line: Fetch: I carry it to the Slack porch. Replies come back to me. | Buzz: Buzzed to your channel. Replies fly back. | Scoop: Psst, posted in your channel. Whatever they say finds its way back to me. | Ocho: One arm in Slack. It brings the replies home. | Seeti: Ticket pinned in Slack. Shouts come back to the kitchen.

1. Hand it off: My team [Next]
2. Post to Slack: pick a channel [Today]
3. Thread: teammates reply [Today]
4. Make it chat: replies land here [Today]

- You: Posted the Monsoon candle rain ad to the team channel.
- Priya in Slack: Can we try the headline in Hindi too?
- Character: Priya asked for a Hindi headline. Want a new version?
- You: Yes, make it.

**Edge cases**
- No channel visible: Invite the app to a channel first. Copy for Slack instead
- Workspace no longer connected to the brand: One line to the person who pressed. Open it in the app
- It changed since it was posted: Open it, check it, then approve. Open in the app
- Approve in the thread: Approved by name, in the thread and in Make it. Undo in Make it
- A paid make asked from Slack: Slack opens Make it, the sheet asks there. Confirm in Make it

### Rules
- Slack is a place your team already is. It is two way: posts out, replies back.
- The make button leaves Slack messages so making always starts in Make it with the one confirm sheet. Next, a Change core risk listed.
- The weekly Slack post becomes the Monday drop post.
- Priya in the chat sample is an invented sample teammate.

### Today to tomorrow
Ten Slack surfaces become three: Hand it off to your team in Slack, the thread, replies in Make it. Source: ia.md section 2, surface-map F17, S54 to S59.

### Journey 19: invite the team {#d-4.j-invite}

User moment: You want your designer and co founder in, without a setup afternoon.

Answer: Settings, Team, Invite sends an email and a join page, and each person gets one role chip: Admin, Member or Invited.

- Invite by email
- One role chip each
- Hand over admin as a row action

Character line: Fetch: More people to throw sticks. Wonderful. | Buzz: More bees, more buzz. | Scoop: New faces. I love new faces. | Ocho: More arms on deck. Welcome. | Seeti: More hands in the kitchen.

1. Team: Invite [Today]
2. Invite email: Join the brand [Today]
3. Join page: sign in [Today]
4. Today: You are on the team [Today]

- Screen s4:team: Team with role chips

**Edge cases**
- The invite expired: This invite has expired. Ask for a new one, or Resend
- Opened with another email: This invite is for another email. Switch account
- The email did not send: The invite is saved; copy the link. Copy the invite link
- You are not an admin: Only an admin invites people. Ask an admin
- Someone joins with the brand's domain: They join on their own; admins get a note. Review the team
- Remove someone: One sheet, not a browser box. Remove or Close
- Hand over admin: Row action, one sheet. Confirm

### Today to tomorrow
Eight surfaces and two browser confirm boxes become Settings, Team, the invite email, the join page and a toast. Views per person are the seat field, a Change core risk. Domain auto join stays. Source: surface-map F3, S17 to S21.

### Words
Join the brand, You are on the team, Admin, Member, Invited. Never views or seats. Teammate onboarding: [d-5 Onboarding](#d-5).

### Journey 20: leave and delete my data {#d-4.j-leave}

User moment: Maybe it is not for you. You want to leave cleanly and know what happens to your data.

Answer: Settings, Account has Sign out, Start again and Ask us to delete your data, which sends a request a person handles.

- Ask us to delete your data sends a request
- Disconnect tools from Connections
- Start again clears this browser only

Character line: Fetch: Going? I will not follow. Promise. | Buzz: Flying off? The hive will not chase you. | Scoop: Leaving? Your notes go with you. A person handles the rest. | Ocho: Every arm lets go when you ask. | Seeti: Kitchen closed for you. A person clears the table.

1. Settings: Account [Today]
2. Ask us to delete your data: one sheet [Today]
3. A person deletes it: and replies when done [Today]
4. One tap deletion [Later]

- Screen s7:account: Account
- Screen s5:rows: Connections, to disconnect first

**Edge cases**
- You only want to stop emails: Notifications and sound. Switch them off
- You want to try again from scratch: Start again. Clears this browser for this brand only
- You are the last admin: Hand over admin first. Team, row action
- Connected tools: They stay connected until disconnected. Disconnect each in Connections
- Shopify uninstall: Shopify erasure rules apply. Uninstall from Shopify

### Truth first
Today Delete my data opens an email request to the team from your own email and carries a Dummy tag. There is no server route; the team deletes by hand and replies. Tomorrow the label says what it is: Ask us to delete your data. The Dummy tag stays until deletion is real. Source: ia.md section 2, surface-map F7 and S82, P16.

### A person handles it
Money, privacy, apologies and anyone upset are handled by a person, never the character.

### Open question
When one tap deletion ships, and how long a by hand deletion takes, are not in the sources.

## D5 Onboarding {#d-5}

From pasted link to first handed off idea in ten minutes, then the habit that keeps you coming back. Every step, every screen, every skip.

### The first ten minutes, screen by screen {#d-5.ob-ten-minutes}

User moment: You pasted your link between two other jobs. You will give this ten minutes, not more.

Answer: Paste, sign in, watch it read, see one finding, then heart one, make one, hand off one, about ten minutes to a first win.

- Today: about 11 screens, 14 decisions, 6 skip labels
- Tomorrow: four screens, one Skip
- The first win is one pick handed off

Character line: Fetch: Ten minutes. I can fetch a lot in ten minutes. | Buzz: Ten minutes, five flowers, one jar of honey. | Scoop: Give me three or four minutes to rummage. The rest is yours. | Ocho: Eight arms reading. You only need two minutes of yours. | Seeti: Three whistles. Then you pick.

**Minute by minute**
1. Paste your store: Minute 0. One box, Build my feed [Today]
2. Sign in with your work email: Minute 0 to 1. The read starts on its own after [Today]
3. Reading your store: Minutes 1 to 5. Seven sources tick, about 3 to 4 minutes [Today]
4. Three questions as a game: During the read, each answer sharpens the picks [Next]
5. Here's your store: One shareable finding, Open my picks [Next]
6. Today with the first win bar: Heart one [Next]
7. Make it: Change one line, keep the version [Today]
8. Hand it off: Who is shipping this, first win done [Next]

**Every onboarding screen**
- Screen f1:empty: f1 Paste your store, empty
- Screen f1:name: f1 A name instead of a link
- Screen f1:ready: f1 Ready
- Screen f2:default: f2 Sign in with your work email
- Screen f3:refusal: f3 This store is for its own team
- Screen f4:reading: f4 Reading your store
- Screen f5:error: f5 Read did not finish
- Screen f6:cap: f6 Reads are full this week
- Screen f7:reveal: f7 Here's your store
- Screen t1:monday: t1 Today, first win bar

### Every step
| Step | Screen | What you see | What you do | Status | Change |
| --- | --- | --- | --- | --- | --- |
| 1 | f1 Paste your store | The promise, one box, Reading takes about 3 to 4 minutes, your own photos become the drafts | Paste, Build my feed | Today | Restyle |
| 1a | f1, name state | That looks like a name. Paste the link, like saanjh.in | Fix it | Today | Restyle |
| 2 | f2 Sign in | The store, ready to read, the character corner | Continue with Google | Today | Restyle |
| 2a | f3 Refusal | This store is for its own team, the email you used | See demo stores, Switch email | Today | Restyle |
| 3 | f4 Reading your store | Sources tick, finding cards arrive, question 1 of 3 inline | Answer or Skip, or leave | Read Today, questions Next | Restyle plus Add on |
| 3a | f5 Read did not finish | Where it stopped, nothing saved | Start again | Today | Restyle |
| 3b | f6 Reads are full | The cap, said plainly | Ask for a design partner read | Today | Restyle |
| 4 | f7 Here's your store | One finding, shareable | Share this finding, Open my picks | Next | Add on |
| 5 | t1 Today | Need your yes, five picks, first win bar | Heart one | Today, bar Next | Recompose |
| 6 | p1, m1 | The pick, then Make it | Make one | Today | Recompose |
| 7 | h1, h2 | Who is shipping this, Handed off | Hand off one | Next, Restyle | Restyle |

### Today
About 11 screens or overlays and up to 14 decisions before the first card, with six skip labels. Source: _research/product-audit.md section 2.1.

### Truth first
A work email sign in comes before the read. The reveal before sign in is Next. Never write that no sign in is needed.

### Open question
The ten minute first win is the target from BRIEF.md section 3.5. No timing with a design partner is in the sources; the team should time five first runs before quoting it outside.

### Watching it read {#d-5.ob-read}

User moment: It is reading your store. You want to see it is real, not a spinner.

Answer: Seven sources tick in order while finding cards land, for about 3 to 4 minutes, and you can leave.

- Store, brand, catalog, reviews, ads, site, AI answers
- Real findings arrive, no fake progress
- Leave any time, it keeps going

Character line: Fetch: Sniffing every corner. Back in about four minutes. | Buzz: Buzzing through your store, flower by flower. | Scoop: Going through everything people say about you. Give me three or four minutes. | Ocho: Eight arms reading. About 3 to 4 minutes. | Seeti: Cooking your store. Nobody lifts my lid.

- Screen f4:reading: Sources ticking, findings arriving, question 1 of 3

**The seven sources**
1. Store: pages a shopper sees
2. Brand: voice, look, claims
3. Catalog: products and prices
4. Reviews: what customers say
5. Ads: public ad libraries
6. Site: speed and pages on a phone
7. AI answers: what AI assistants say about you

### Rules
- Steps tick plus something to do while waiting, borrowed from a deploy log and Duolingo first run. No fake progress.
- The read looks at public pages, and read only connections if any. Say so while reading.
- Leaving is safe. The email or the address brings you back to wherever it is.

### Today to tomorrow
Today the reading screen also shows five agents going from Waiting to Has ideas ready and a Skip ahead link. Agents leave the founder's view; Skip ahead goes. Source: product-audit 2.1 step 3.

### Edge cases
| Case | What happens |
| --- | --- |
| A source fails | It shows as skipped with one line; the read carries on |
| The whole read fails | f5, Start again |
| Very small store, few reviews | Fewer findings; the read never invents them |

### Three questions as a game {#d-5.ob-questions}

User moment: You are waiting anyway. You would answer a couple of things if it made the picks better.

Answer: While it reads, three questions arrive one at a time, and each answer visibly sharpens the picks.

- Three taps, during the read
- Each answer changes what you see
- Skip is fine, answer later in Settings

Character line: Fetch: Three questions. Then I know which sticks you like. | Buzz: Three little questions. Then I know your flowers. | Scoop: Three quick questions. Between us, it helps me dig. | Ocho: Three questions. I will hold the answers in one arm. | Seeti: Three questions. Then I know your taste.

**The three questions, Next**
- Character: Which of these do you handle? Pick as many as you like.
- You: Social posts and Ads.
- Character: What is your next big moment?
- You: Diwali gifting.
- Character: One thing you never want to post?
- You: Discount codes.

**What each answer changes**
- Which of these do you handle: Today shows those areas first. Change in Settings
- Your next big moment: Picks lean towards it, such as the Diwali gift shoot. Change in What we know about you
- One thing you never want to post: Saved as a house rule. Edit house rules

### Status
The read is Today. The three questions as a game are Next, an Add on behind its own switch. Source: BRIEF.md section 3.5.

### Rules
- One question at a time, inline in the read, never a full screen.
- Several answers allowed on the first question; it replaces seats.
- Every answer shows a visible change, for example a finding card that re sorts.
- One skip label: Skip.

### Today to tomorrow
Today: a questions offer after about 9 seconds or 6 findings, then five questions full screen: who the feed is for with five seats, what should come first, channels, which products to lead with, who you lose sales to. Tomorrow: three inline questions. The seat answer keeps its data path. Source: product-audit 2.1 steps 4 and 5.

### The reveal {#d-5.ob-reveal}

User moment: The read is done. You want one thing that makes you go, huh, I did not know that.

Answer: Before the picks you see one finding about your store, big, with its source and Share this finding.

- One finding, not a dashboard
- Sourced, shareable
- Then straight to the picks

Character line: Fetch: Look what I dug up. | Buzz: Look what I found in your garden. | Scoop: Psst. The first scoop. You will want to sit down. | Ocho: One arm up. Look at this one. | Seeti: First taste. Ready?

- Screen f7:reveal: Here's your store: one finding, Share this finding, Open my picks

- Do: One finding with a number and its source
- Do: A share card that names the store, not a rival
- Never: A wall of charts
- Never: A finding about sales results
- Never: A rival named on the share card

### Status
Next, Add on. Source: shared/product-model.md journey step 3 and BRIEF.md section 3.5, which also names a later version with one finding before sign up.

### Example finding
Named in 12 of 32 AI answers is allowed only as an example finding from one brand's read. Any number on the reveal carries its source chip.

### Empty to full {#d-5.ob-empty-to-full}

User moment: You land on Today for the first time. You want it to feel like it already knows your store.

Answer: Nothing a new founder opens is blank: Today has five picks, Your store has meters, What we know about you has sourced facts, and only Work starts empty.

- Picks written on the first open
- Work empty state: See this week's picks
- Memory meter fills as you answer

Character line: Fetch: Empty bowl? Not on my watch. | Buzz: No empty cells. I filled them while you watched. | Scoop: My notepad is already full of you. | Ocho: Every arm already holding something. | Seeti: Pantry is stocked. Cook.

- Screen t1:monday: Today, full on day one
- Screen w2:empty: Work, empty, one button
- Screen y1:store: Your store, meters
- Screen s2:know: What we know about you, memory meter

- Today: Five picks, Need your yes if any. Heart one
- Work: Nothing in the works yet. See this week's picks
- Your store: Three health meters and five sections. Open a section
- What we know about you: Facts with sources, house rules, memory meter. Tell us something
- Connections: Nothing connected. Connect, optional

### Rules
- The empty state is the character, one line, one button. Errors never use it.
- The store memory meter shows how much we know about your store, never your results. Next.
- Moves for a new brand are written on the first feed open after onboarding, per today's build, so Today never shows a plays being written card to the founder.

### Today to tomorrow
Today's first feed shows a play writing card, N of 50 plays written, or Waiting for you, Check what we read, and a Start here tag. Tomorrow: the five picks, ready. Source: product-audit 2.1 step 11.

### The first win bar {#d-5.ob-first-win}

User moment: You want to feel you got something done before you close the tab.

Answer: A three step bar on Today, heart one, make one, hand off one, cheers each step and then goes away for good.

- Three steps, shown once
- Small celebration per step
- Measures what you did, never sales

Character line: Fetch: Fetch, chew, drop. Three tricks. Good human. | Buzz: Three steps, one sweet jar. | Scoop: Three little moves. Then I am telling everyone you are a natural. | Ocho: Three arms done. Five to go, but not today. | Seeti: Pick. Cook. Serve. Done.

1. Heart one: a small cheer [Next]
2. Make one: first version kept [Next]
3. Hand off one: celebrate pose [Next]
4. Bar leaves: for good [Next]

- Screen t1:monday: The bar on Today
- Screen t6:heart: Step 1 done
- Screen h2:team: Step 3 done

### Status
Next, Add on behind its own switch. Source: BRIEF.md section 3.5.

### Rules
- Shown in the first week only, until all three steps are done.
- Steps can happen in any order; making a pick counts even without a heart.
- Celebrations use the 120 px celebrate pose and the character's cue, sound off by default.
- No points, no streak on day one.

### Where the old setup went {#d-5.ob-old-setup}

User moment: You set up the old one and remember a lot of steps. Where did they go?

Answer: The setup steps, the check page under a clock, the ready overlay and the swipe tuner leave the first run, and their data paths stay.

- Six skip labels become one
- Check page lives on, optional, no timer
- Connect and invite move to Settings

Character line: Fetch: Fewer hoops. I never liked hoops. | Buzz: Fewer doors to the hive. | Scoop: I tidied the paperwork. You will not miss it. | Ocho: Fewer steps. More free arms. | Seeti: Fewer steps. Faster to the plate.

- Questions offer and five question screen becomes Three questions inline in the read. Next
- Check page Is this right, under a clock becomes What we know about you, optional, no timer. The confirm call stays
- Setup step: Who is this feed for becomes Which of these do you handle. Settings
- Setup step: What should come first becomes Your next big moment, question 2
- Setup step: Connect your tools becomes Settings, Connections, when a pick needs it
- Setup step: Invite your team becomes Settings, Team
- Ready overlay becomes Here's your store, the reveal. Next
- Swipe tuner, 1 of 10 becomes Heart and Not for me on real picks
- Welcome card, Start here tag becomes The first win bar. Next
- Skip ahead, Skip questions, Skip to my feed, Skip for now, Skip open my feed becomes Skip

### Change type
Recompose for the removals. The reveal, the question game and the first win bar are Add ons, Next. Data paths stay: the confirm post, the seat answer, connect and invite all keep their routes. Source: shared/surface-map.md F1, shared/product-model.md journey.

### Risk
The check page today claims the brand for the first person from the brand's domain. That claim must still happen when the check page leaves the first run. Listed as a risk to check, not a change.

### Onboarding an invited teammate {#d-5.ob-teammate}

User moment: Your boss sent you an invite. You have never seen this thing.

Answer: An invited teammate goes from email to join page to sign in, and lands on Today with a toast: You are on the team.

- The read is already done
- Answer Which of these do you handle
- Land where your role lands

Character line: Fetch: New friend. Sniff, wag, welcome. | Buzz: A new bee in the hive. Welcome. | Scoop: New face. I already know which areas are yours. | Ocho: One arm out for a handshake. | Seeti: New cook in the kitchen. Apron is on the hook.

1. Invite email: Join the brand [Today]
2. Join page: sign in [Today]
3. Today: You are on the team [Today]
4. Which of these do you handle: optional [Next]

- Screen s4:team: Where the admin invites
- Screen s3:areas: Which of these do you handle
- Screen t4:ads: Today filtered to your areas

### Steps
| Step | What they see | Status |
| --- | --- | --- |
| Invite email | Who invited you, Join the brand, the link works for a few days | Today, Restyle |
| Join page | Four states: expired, no longer valid, for another email, then in | Today, Restyle |
| Today | One line toast, the same five picks | Today |
| Areas | Which of these do you handle, if they want | Next |

Specialists land on Today filtered; makers land in Work. See [journey 19](#d-4) and [journey 7](#d-4). Source: surface-map F3, S17 to S19, A121.

### Onboarding an agency {#d-5.ob-agency}

User moment: You run marketing for several brands and a client just added you.

Answer: Today an agency joins one brand at a time by invite, and Later the brand switcher puts every client under one mark.

- Invite per brand today
- Your own email domain is fine with an invite
- Switcher Later

Character line: Fetch: New yard. Same dog. | Buzz: Another garden for the route. | Scoop: Another store to get to know. Delightful. | Ocho: New client, new arm. | Seeti: Another kitchen on the rota.

1. Client invites you [Today]
2. Join page [Today]
3. That brand's Today [Today]
4. Brand switcher: every client in one menu [Later]

- Screen x3:brands: Brands you handle, Later

### Truth first
An agency on its own email domain cannot paste a client store and read it: the read refuses an email from another company and points to demo stores. The way in today is an invite from the brand. Source: product-audit 2.1 step 2 and 2.6. See [journey 8](#d-4).

### Open question
Whether an agency can start a read for a client before the client signs in is not settled. It would change access rules, so it is listed, not designed.

### Onboarding from Shopify {#d-5.ob-shopify}

User moment: You installed it from inside your Shopify admin.

Answer: It is the same first run with your store already filled in, and sign in hops to a new tab because Google does not allow it inside Shopify.

- No link to paste
- Same 3 to 4 minutes
- New tab for sign in

Character line: Fetch: You opened the gate yourself. Coming in. | Buzz: Already in your garden. | Scoop: I already know which store. Shopify told me. | Ocho: Your store, already in one arm. | Seeti: Store is already in the pot.

- Screen f1s:filled: Paste your store, inside Shopify
- Screen f2:default: Sign in, in a new tab
- Screen f4:reading: Reading your store

Today the Shopify home says the first read takes about half an hour, a third start screen with its own copy. Tomorrow: f1s, the same words, the half an hour line goes after a check. Full edge cases in [journey 17](#d-4). Source: surface-map F15.

### Coming back after a break {#d-5.ob-return}

User moment: You were away for three weeks. A launch, a sick kid, whatever. You are back and a bit guilty.

Answer: Today shows this week's five, Work opens on New since you looked, and nothing mentions the weeks you missed.

- This week only, never a backlog
- Briefs and replies wait in Work
- Not one word about missed weeks

Character line: Fetch: You are back. Best day ever. Here is this week. | Buzz: Welcome back to the hive. Fresh flowers. | Scoop: You are back. I saved this week's gossip, nothing stale. | Ocho: Arms full again. Fresh picks, nothing old. | Seeti: Stove is warm. This week's specials.

- Screen t1:monday: This week's five
- Screen w1:board: New since you looked

- Do: Show this week only
- Do: Put replies and brief changes in New since you looked
- Do: Keep every version and brief
- Never: You missed a week
- Never: A count of what you missed
- Never: Streak loss copy

### Rules
- Missed weeks are never mentioned. The weekly run, Next, allows one free skip a month and a light nudge only.
- Briefs handed off before the break keep their status lines.
- Connections that expired show Needs you in Connections, never as a blocker on Today.

### Open question
How the read refreshes after a long absence is not stated for founders in the sources. Today's build re reads on a schedule per connector and flags moves that move 10 percent from base; the founder view of that is to be decided.

### The second week habit {#d-5.ob-second-week}

User moment: The first week was fun. Will you open it again next Monday?

Answer: The habit is the Monday drop: five fresh picks and an email with one button, plus one wildcard pick a week.

- Monday email, five picks, one button
- One wildcard pick a week
- Weekly run with one free skip a month

Character line: Fetch: Monday again. I have been waiting by the door. | Buzz: Week two. The garden grew. | Scoop: The Monday dish is served. | Ocho: Arms full again. Coffee first. | Seeti: Monday whistles.

- Mon 1: First run. Paste, read, first win
- Tue to Sun: Quiet. No nudges in week one
- Mon 2: The drop. Email, five fresh picks (the turn)
- Mon 2: Ten minutes. Answer, pick, make, hand off
- Mon 2: Caught up. Until next Monday

- Screen e1:monday: The Monday email
- Screen t5:caught: Caught up

### The loop
| Mechanic | What it is | Status |
| --- | --- | --- |
| Monday drop | Five fresh picks a week, finite | Next |
| Weekly run | Weeks in a row with at least one hand off, one free skip a month, light nudge, no guilt | Next |
| Wildcard | One surprising pick a week | Next |
| Generation as play | New version, try it as a reel, the version stack | Generation Today, framing Next |
| Brand memory you own | House rules, exportable as a one page brand book | Later |

Source: BRIEF.md section 3.5, which cites Duolingo's account on Lenny's Newsletter: retention of current users was the biggest lever, and notifications are a channel to protect. Full Monday walk: [journey 2](#d-4).

## D6 States {#d-6}

Empty, waiting, partial, broken, full, done. Every screen, every state.

### The six states every screen can be in {#d-6.six-states}

User moment: You opened the app and something looks odd. Is it loading, broken, or just empty?

Answer: Every screen is in one of six states, and each state looks the same everywhere, so you always know which one you are in.

- Empty, waiting, partial, broken, full, done
- One look per state across the whole app
- Broken never borrows the empty look

Character line: Fetch: Six states. I know them all. Mostly the one where I have the ball. | Buzz: Six cells in the comb. Each one has one job. | Scoop: Psst. Empty, waiting, broken. I can tell them apart from across the room. | Ocho: Six states, one look each. Even I can keep that straight. | Seeti: Six states. Empty pot, cooking, half done, boiled over, full, served.

**The six, with what you can do**
- Empty: The character, one line, one button. Start the thing that fills it
- Waiting: A spinner in the button, or the wait pose with one line. Leave, it carries on without you
- Partial: What has arrived so far, the rest still ticking in. Use what is there now
- Broken: One plain sentence of what happened, the error pose. One way out: Try again, Start again or Go to Today
- Full: The real content, at its card budgets. Heart, Not for me, Make it
- Done: A short sign off and what comes next. Nothing until the next five arrive

**One of each, live**
- Screen w2:empty: Empty: Work before anything starts
- Screen m2:making: Waiting: something is being made
- Screen f4:reading: Partial: sources still ticking
- Screen m5:broke: Broken: one sentence, Try again
- Screen t1:monday: Full: five picks on Monday
- Screen t5:caught: Done: caught up until Monday

Today's build has 16 empty state styles, some with a button and some without, and the same style also shows load errors such as "The products didn't load. Reload the page." Source: _research/product-audit.md section 5, patterns 3 and 4. The kit keeps one of each.

| State | Kit component | Character slot | Words budget | One action |
|---|---|---|---|---|
| Empty | One empty state | empty pose, 96 px | 12 words | one button |
| Waiting, short | Spinner inside the button | none | the button label stays | none, it finishes |
| Waiting, long | Wait pose in its corner | wait pose | 10 words | you can leave |
| Partial | The real list, still filling | wait pose on the read only | as the list | use what arrived |
| Broken | One error state | error pose, 96 px | 1 sentence | 1 button |
| Full | The screen itself | corner only on Today | card budgets, product-model.md 10 | the bottom bar |
| Done | Caught up or Handed off | celebrate or caught up pose | 12 words | none, or Open the brief |

Rules:
- An error never uses the empty style. Empty means nothing is wrong.
- No skeleton forests. Today's build has 19 skeleton blocks and 6 full screen holds; they go.
- Every state names one way forward, except Done, which names when the next thing arrives.

### Empty: nothing here yet {#d-6.empty}

User moment: You open Work for the first time and there is nothing in it. Did you break something?

Answer: An empty screen shows the character, one line and one button that fills it.

- Empty is calm, never an error
- One line says why it is empty
- One button starts the thing that fills it

Character line: Fetch: Nothing here yet. Throw me something. | Buzz: An empty comb. Give me one flower and I start. | Scoop: Nothing to report. Yet. Give me a minute. | Ocho: All eight arms free. Suspicious. Give me a job. | Seeti: Empty pot. Put something in it.

- Screen w2:empty: Work before your first pick
- Screen f6:cap: Reads are full this week
- Screen t5:caught: Caught up, empty on purpose

- Do: Say why it is empty in plain words
- Do: Give one button that fills it
- Do: Use the empty pose at 96 px
- Never: Show an error in the empty style
- Never: Leave an empty screen with no button
- Never: Blame the person for an empty list

Every empty state in the one product:

| Screen | Why it is empty | Line, the character's words | Button |
|---|---|---|---|
| w2 Work, empty | Nothing picked or made yet | workEmpty | Open this week's picks |
| f6 Reads are full this week | The read is capped while the product is small | capReached | Ask for a design partner read |
| t5 Caught up | The week's five are done | caughtUp, caughtUpSub | none, Monday brings five more |
| See everything with an area filter and no matches | You handle one area and nothing ranks there this week | open, see below | Show all areas |
| Need your yes with nothing waiting | Nothing needs you | the section hides, no empty box | none |

Open question: the kit draws no empty state for See everything filtered to zero. The rule above is the proposal. The owner decides whether it ships.

The cap is real scarcity, the only kind the game layer allows, per BRIEF.md 3.5. Its line never counts down.

### Waiting: short waits and long waits {#d-6.waiting}

User moment: You tapped Make it. Now you are staring at the screen wondering if you should leave.

Answer: Short waits show a spinner inside the button, and long waits show the wait pose with one line that says you can leave.

- Under a few seconds: spinner in the button
- Longer: wait pose, one line, you can leave
- No fake progress bars

Character line: Fetch: Still fetching. Go get coffee. I will bark. | Buzz: Busy in the hive. Fly off, I will buzz you. | Scoop: Still rummaging. You do not need to watch me dig. | Ocho: Inking it now. Go on, I have arms to spare. | Seeti: On the stove. You do not need to stand there.

- Screen f4:reading: The read: about 3 to 4 minutes, sources tick
- Screen m2:making: Making: wait pose, you can leave
- Screen t2:answered: A short wait ends in a toast

- Spinner in the button: Saving a yes, a heart, a hand off.. Good: Stays where your thumb is, No layout jump. Bad: Wrong for anything over a few seconds
- Wait pose with one line (our pick): The read, a picture or video being made.. Good: Says you can leave, The character earns its slot. Bad: Too much for a heart
- Skeleton blocks: Grey boxes standing in for content.. Bad: Looks broken on a slow phone, Today there are 19 of them

Source: product-model.md section 5, Waiting. Today's build has the spinner, 19 skeleton blocks, 6 full screen holds, 10 inline loaders, an Opening the jam overlay, 18 button text swaps and more, per product-audit.md section 5 pattern 3.

| Wait | Where | What you see | Words |
|---|---|---|---|
| Short | Any button that saves | Spinner inside the button, label stays | none |
| The read | f4 Reading your store | Wait pose, 120 to 180 px, seven sources tick: store, brand, catalog, reviews, ads, site, AI answers | readLine, readSources, about 3 to 4 minutes |
| A make | m2 Making | Wait pose in its corner, the thing dimmed | makingWait, 10 words, says you can leave |
| Offline | x2 | Wait pose, Try again | offline |

Rules:
- Say the real time once. The read says about 3 to 4 minutes. Never a countdown that lies.
- If you leave a make, the result lands in New since you looked in Work and, if switched on, a notification that opens that version.
- The long wait game is a switch, off by default. See d-8.

### Partial: some of it has arrived {#d-6.partial}

User moment: Half your store is read and the rest is still coming. Can you start?

Answer: Partial screens show what has arrived and keep ticking, so you can use the first half while the second lands.

- Show findings as they land, each with a source
- Fields keep what you typed
- Connections say their state in words

Character line: Fetch: Got the first stick. Going back for the rest. | Buzz: Three flowers in, four to go. | Scoop: First bits of gossip are in. The juicy part is still coming. | Ocho: Four arms done, four still going. Normal for me. | Seeti: First whistle. Two to go.

- Screen f1:empty: Paste: empty
- Screen f1:name: A name instead of a link
- Screen f1:ready: Ready to go
- Screen f4:reading: Findings arriving while it reads
- Screen s5:rows: Connections, each with its state

Partial states in the kit:

| Screen | Partial state | What you can do |
|---|---|---|
| f1 Paste your store | A name instead of a link: "That looks like a name. Paste the website address instead." | Fix the address, nothing lost |
| f4 Reading your store | Sources tick one by one, finding cards arrive with source chips, question 1 of 3 sits inline, Next | Answer a question, or just watch |
| s5 Connections | Each row has one chip: Connected, Needs you, Expiring, Stale, Read only | Open the one that needs you |
| m1 Make it | Chat queued while an answer lands | Keep typing, it goes after |
| h2 Handed off | Brief status: Received, In progress, Needs something from you, Delivered | Open the brief |

Field states, from _docs/export/product/components.md: empty, filled, missing, error. Labels 3 words, hints 6 words.

### Broken: something went wrong {#d-6.broken}

User moment: Something failed and you are not sure if your work is gone.

Answer: A broken screen says what happened in one plain sentence, what is safe, and gives one way out.

- One sentence, no codes, no blame
- One button out
- Say what is safe, such as version 3

Character line: Fetch: Dropped it. Sorry. Throwing it again. | Buzz: Bumped the window. Trying that flower again. | Scoop: Lost the trail. Your notes are safe, I checked twice. | Ocho: Got knotted. Nothing spilled. Untangling. | Seeti: Boiled over. Your batch is safe. Again.

- Screen f5:error: The read did not finish
- Screen m5:broke: Something broke in Make it
- Screen x1:notfound: Not found
- Screen x2:offline: Offline
- Screen f3:refusal: This store is for its own team

Every error in the one product, from shared/ia.md section 4, Something goes wrong:

| Screen | What happened | Way out | Pose |
|---|---|---|---|
| f3 | Signed in with a personal or another company's email | See demo stores, Switch email | error |
| f5 | The read did not finish | Start again | error |
| m5 | A make failed | Try again; the line says which version is safe | error, small |
| x1 | Page not found | Go to Today | error |
| x2 | No connection | Try again | wait |
| Sheet error | A connect or a hand off did not go | Try again inside the sheet | none |

Notification for a failed final: "Version 4 stopped halfway. Version 3 is safe." Source: notifications.md.

Rules: no error codes, no "Oops", no blame on the person, no second button. The character's error line is its words; the sentence of fact is plain.

### Full and done {#d-6.full-done}

User moment: Monday morning, everything is there. Later, you want to know when you are finished.

Answer: Full is five picks you can finish, and done is a sign off that says when the next five arrive.

- Five picks, then See everything for the rest
- Handed off says exactly who has it
- Caught up says see you Monday

Character line: Fetch: Five sticks. All yours. Then I nap. | Buzz: Five flowers. Then the hive rests till Monday. | Scoop: Five bits of gossip. Then I lie low till Monday. | Ocho: Arms full on Monday. Arms free by Friday. | Seeti: Five specials. Kitchen closes after.

- Screen t1:monday: Full: Monday
- Screen t4:all: The rest, ranked
- Screen h2:shopos: Done: the ShopOS team has it
- Screen h2:team: Done: brief copied for your team
- Screen h2:me: Done: you ship it yourself
- Screen t5:caught: Done for the week

Full uses one number for today: five picks. Today's build shows three numbers, 10 before the stop, a personal 3, 5 or 10, and a hidden 14 for Need your yes. Source: product-audit.md section 6, hotspot 5.

Done has three hand off endings, h2, and one week ending, t5:

| Ending | Words around | Status after |
|---|---|---|
| The ShopOS team | handedOffShopOS, with the brief number | Handed off, Received |
| Your team or freelancer | handedOffTeam: brief copied, paste it to them | Handed off. Nothing is sent |
| You ship it | handedOffMe: copied, the place to post is open | Handed off |
| Caught up | caughtUp, caughtUpSub | Monday brings five more, Next |

Caught up is Next. Today the feed ends with "You're done for today" and a Find more button.

### Onboarding, state by state {#d-6.onboarding-states}

User moment: You just pasted your store link. Every screen from here decides whether you stay.

Answer: The first run has seven screens and every one has its states drawn: paste, sign in, refusal, reading, failed, capped and the reveal.

- Today: about 11 screens, 14 decisions, 6 skip labels
- Tomorrow: paste, sign in, read, reveal, first win
- One skip label: Skip

Character line: Fetch: Paste, sign in, sit. I do the rest. | Buzz: One link in, the hive gets busy. | Scoop: Give me the tip. I start rummaging. | Ocho: Pass it here. Eight arms start reading. | Seeti: Into the pot. Lid on. Wait for whistles.

- Today: About 11 screens, 14 decisions. Landing, Google, reading, questions offer, five questions, read done bar, check page under a clock, four setup steps, ready overlay, swipe tuner, then the feed.
- Tomorrow: Five steps. Paste, sign in with your work email, watch it read with three questions, the reveal, first win.

- f1 Paste, empty: One box, Build my feed. Paste a link
- f1 A name instead of a link: One line on how to fix it. Paste the address
- f1 Ready: The link filled in, main button lit. Build my feed
- f2 Sign in: Why the work email, in one line. Continue
- f3 Refusal: This store is for its own team. See demo stores, Switch email
- f4 Reading: Seven sources tick, findings arrive, question 1 of 3. Answer, Skip, or just watch
- f5 Did not finish: One sentence, error pose. Start again
- f6 Reads are full: Real cap, no countdown. Ask for a design partner read
- f7 The reveal, Next: One finding with its source. Share this finding, Open my picks

- Screen f1:empty: Paste
- Screen f2:default: Sign in
- Screen f4:reading: Reading, with a question
- Screen f7:reveal: The reveal, Next
- Screen f6:cap: Capped
- Screen f5:error: Did not finish

Today, from product-audit.md 2.1: about 11 screens or overlays and up to 14 decisions before the first card, with six skip labels: Skip ahead, Skip, Skip questions, Skip to my feed, Skip for now, Skip, open my feed.

What the old first run steps become, from product-model.md section 2 and ia.md section 6:

| Old step | Becomes |
|---|---|
| Questions offer and five question screen | Three questions inside the read, as a game, Next |
| Read done bar | The reveal, Next |
| Check page under a clock | Optional, inside What we know about you, no timer |
| Setup steps: role, focus, tools, team | Questions in the read; Connections and Team in Settings, any time |
| Ready overlay | Gone, Today opens |
| Swipe tuner | Gone, hearts and Not for me tune the picks |
| Six skip labels | One: Skip |

Data paths stay; only the screens go.

The Shopify install, f1s, is the same screen as Paste with the store filled in and the same read time words. The old "about half an hour" line goes after a check.

Questions, Next: what you handle, your next big moment, one thing you never want to post. Each answer visibly sharpens the picks. Kit words q1Intro, q2Intro, q3Intro.

### The empty first feed {#d-6.empty-first-feed}

User moment: The read finished. Today opens and the picks are still being written.

Answer: On a first open Today shows the picks as they are written, with the wait pose in the corner and the first win bar ready, never a blank page.

- Picks land one by one, best first
- The first one with a draft goes on top
- The first win bar waits, Next

Character line: Fetch: First sticks coming. Tail is already wagging. | Buzz: First flowers opening. Watch them land. | Scoop: First bits of gossip landing now. Stay close. | Ocho: Arms still writing. Two picks are already up. | Seeti: First specials plating now. One whistle to go.

1. Read done: readDone
2. Today opens: wait pose in the corner
3. Picks land: one at a time, ranked
4. Five are ready: first win bar lights, Next

- Screen f4:reading: The read ends here
- Screen t1:monday: Today once five are in, with the first win bar

Truth from product-audit.md 2.1 step 11: the plays are written only on the first feed open. Today's top card says "New cards land here as each play is written". On a first session the first card with a draft is pulled to the top and marked Start here.

In the one product:

| Moment | What you see | Words |
|---|---|---|
| Nothing written yet | Need your yes hidden, the corner in its wait pose, one line | Open: a new readLine style line, at most 10 words |
| Some written | The picks that exist, ranked, the rest arriving | none extra |
| Five written | Today as on Monday, first win bar on top, Next | firstWin |
| Writing failed | The error state with Try again; picks already written stay | makeError style line |

Open question: the kit draws no first open state for t1. The rows above are the proposal; they reuse the existing wait pose and the existing first draft order, a Restyle.

Email me when they are ready stays for anyone who leaves, see d-9.

### Every screen and its states {#d-6.state-matrix}

User moment: You are building a screen and want to know which states you owe it.

Answer: This is the build list of states: every one of the 45 screens, the states the kit draws, and the ones still owed.

- Ids are stable across every character
- Missing states are open questions
- Draw every state before a screen ships

Character line: Fetch: Forty five screens. I sniffed every one. | Buzz: Forty five cells. Every one checked. | Scoop: Forty five screens. I have notes on all of them. | Ocho: Forty five screens. I am holding most of them. | Seeti: Forty five dishes. Every one tasted.

- First run
  - f1 empty, name, ready
  - f1s filled
  - f2 default
  - f3 refusal
  - f4 reading
  - f5 error
  - f6 cap
  - f7 reveal
- Today
  - t1 monday
  - t2 open, answered
  - t3 frame
  - t4 all, ads
  - t5 caught
  - t6 heart
- A pick and Make it
  - p1 open
  - p2 plan
  - m1 studio, guest
  - m2 making
  - m3 confirm
  - m4 versions
  - m5 broke
- Hand it off
  - h1 who
  - h2 shopos, team, me
  - h3 brief
- Work and Your store
  - w1 board, later
  - w2 empty
  - y1 to y5, one state each
- Settings and system
  - s1 to s7, s5 rows and sheet
  - x1 notfound
  - x2 offline
  - x3 brands
  - e1 monday
  - e2 status
- Desktop
  - d1 today
  - d2 make

Source: shared/ia.md section 3 and kit/screens.js. Use the id and key, such as t2:answered, to show a state in any book.

States the kit does not draw yet, open for the build:

| Screen | Missing state | Proposal |
|---|---|---|
| t1 Today | Not Monday, greetOther | Same screen, no first win bar |
| t1 Today | Picks still being written on first open | Wait pose in the corner, picks land as written |
| t4 See everything | Filter with no matches | Empty state, Show all areas |
| p1 A pick | Draft still being written | Spinner in the draft, the rest readable |
| m1 Make it | Teammate typing, chat queued | One line under the chat |
| w1 Work | Only Handed off items | Board with two empty columns, no empty state |
| y1 to y4 | Source not read yet | One line: not read yet, with when |
| s4 Team | Invite failed to send | Error line in the row, Copy the link |
| h3 Brief page | Old link form | Redirects here, per ia.md section 6 |

Each proposal is a Restyle over data that exists, unless the owner says otherwise.

## D7 Interaction patterns {#d-7}

Sheets, undo, heart, versions, gestures, forms, search.

### One of each {#d-7.one-way}

User moment: Every screen in the old app did the same thing a different way. You just want to learn it once.

Answer: The kit has one top bar, one tab set, one bottom bar, one sheet, one menu, one toast and four button kinds.

- Learn it once, it works everywhere
- Four buttons: main, quiet, link, icon
- No pop up on top of a sheet

Character line: Fetch: One ball. One throw. Same every time. | Buzz: One dance for every flower. | Scoop: One way to do each thing. Between us, that is rare. | Ocho: One of each. Finally, fewer things to hold. | Seeti: One pot, one lid, one whistle.

- At least 10 bottom and inline bars becomes One bottom bar. Make it on a pick, Hand it off in Make it
- 23 sheet styles, 7 popovers, 4 overlays becomes One sheet. Slides up, title, one main button, Close
- 269 toast calls, stacked toasts becomes One toast. One line, three seconds, one at a time
- 112 button classes becomes Four buttons. Main, quiet, link, icon
- Browser confirm boxes becomes Undo toast or one sheet. Undo for reversible, sheet for paid or leaving
- Five back styles becomes Back. One word, one place

Counts from _research/product-audit.md section 5. Rules from shared/product-model.md section 5 and shared/ia.md section 5.

| Pattern | The one way |
|---|---|
| Next step | One bottom bar with one main button. On a pick: Make it. In Make it: Hand it off |
| Sheets | Slides up, title, one main button, Close. No pop ups on top of sheets |
| Waiting | Spinner in the button, or the wait pose with one line |
| Empty | The character, one line, one button |
| Errors | Plain sentence, one way out, error pose |
| Confirm | Undo toast for reversible. One sheet for paid or leaving the product |
| Toasts | One line, three seconds, one at a time |
| Status chips | Idea, In the works, Handed off. Later: Scheduled, Live, How it went |
| Icons | One set, no emoji, no glyphs |
| Sound | Short, off on a first visit, one switch |

### Sheets {#d-7.sheets}

User moment: Something slid up over the screen. You want to know how to get out.

Answer: Every sheet slides up with a title, one main button and Close, and nothing opens on top of it.

- Title says the one question
- One main button, one Close
- Esc and a swipe down close it

Character line: Fetch: Up it comes. Down it goes. Easy fetch. | Buzz: One petal at a time. | Scoop: One note slides up. Read it, then close it. | Ocho: One sheet. I promise not to stack another on it. | Seeti: Lid on, lid off.

- Screen t2:open: Need your yes
- Screen m3:confirm: Confirm a paid make
- Screen h1:who: Who is shipping this
- Screen s5:sheet: Connect a tool

| Sheet | Title | Main button | Second action |
|---|---|---|---|
| t2 Need your yes | One yes or no question, 10 words at most | Yes | Not now |
| m3 Confirm a paid make | What will be made | Make it, price shown once in the sheet | Not now |
| h1 Hand it off | Who is shipping this | the choice itself | Close |
| s5 Connect | Connect Meta ads | Allow access, at the platform | Close |
| m4 Versions | Versions | tap a version to use it | Close |

Rules: title at most 6 words, one line under it, one main button. Close always top right in the same place. Swipe down or Esc closes. Focus moves into the sheet and returns to the button that opened it. On laptop the open pick is a side peek, not a sheet; Esc closes it too.

### Undo over confirm {#d-7.undo}

User moment: You tapped Not for me by mistake. You want it back, now.

Answer: Anything you can take back gets an Undo in the toast, and only paid things or things that leave the app ask first.

- Reversible: act now, Undo for three seconds
- Paid or leaving: one sheet first
- Never a browser confirm box

Character line: Fetch: Oops, wrong ball. Undo. Good as new. | Buzz: Wrong flower. Undo. Back in the comb. | Scoop: Changed your mind? Undo. I never saw a thing. | Ocho: Undo. Every arm back where it was. | Seeti: Undo. Back on the stove.

- Screen t2:answered: Yes saved, with Undo
- Screen t6:heart: A heart, more like it appear

**How each action confirms**
- Heart, Not for me, Later: Happens now, toast with Undo. Undo
- Yes or Not now in Need your yes: Happens now, toast with Undo. Undo
- Remove a fact or a rival: Happens now, toast with Undo. Undo
- A paid make: One sheet with the price, before. Make it or Not now
- Hand it off to the ShopOS team: The who sheet is the confirm. Pick or Close
- Remove a teammate, Sign out: One sheet. Confirm or Close
- Ask us to delete your data: One sheet, says it is a request. Send or Close

Today's build confirms four ways: native browser boxes for removing a teammate and fact rows, an inline question, a modal with different buttons for the same question, and an Undo toast for discarding. Source: product-audit.md section 5 pattern 6.

The rule from product-model.md section 5: Undo toast for anything reversible, one sheet for anything paid or that leaves the product, no browser confirm boxes.

Undo window: the toast's three seconds. Open question: whether Undo should stay reachable after the toast goes, for example from the item's menu. Not in the sources yet.

### Heart, Not for me, Later {#d-7.heart}

User moment: One pick is spot on, one is wrong for your store, one is good but not this week.

Answer: Heart means more like this, Not for me drops it, and Later keeps it for another day.

- Heart: more like it appear, never a number
- Not for me: gone, Undo in the toast
- Later: back in See everything

Character line: Fetch: Heart it and I fetch more like it. Fair trade. | Buzz: Heart it and I dance toward more of those. | Scoop: Heart it and I keep digging that way. | Ocho: Heart it and I stick more like it to the glass. | Seeti: Heart it. Seconds, coming up.

1. Tap the heart: on a closed card or an open pick
2. Toast: heartToast, one line
3. More like it appear: one more in that direction today
4. Picks sharpen: next Monday follows your hearts

- Screen t6:heart: After a heart
- Screen t4:all: Later items rank in See everything

Truth from product-model.md section 0: today a heart asks for one more card in that direction. Books never give a number. Words: Heart it and more like it appear.

| Move | Plain word | Retired words | What happens |
|---|---|---|---|
| Keep | Heart, meaning More like this | Save for later, Saved, Keep | More like it appear |
| Drop | Not for me | Not interested, Less like this, Show fewer, Remove | Leaves Today, Undo in the toast |
| Snooze | Later | Remind me tomorrow, Not now | Leaves the five, stays in See everything |

Keyboard on laptop: H hearts, X is Not for me. The six item card menu of today becomes these three; Slack and copy link move to Hand it off. Source: surface-map.md A43.

### New version and Versions {#d-7.versions}

User moment: The draft is close. You want another go without losing this one.

Answer: New version makes another take, and Versions shows every take with the current one marked.

- Nothing is ever lost
- Current version always marked
- One tap to go back

Character line: Fetch: Another throw. I keep every ball. | Buzz: Another pass over the flower. Every one kept. | Scoop: Scribble again. The old notes stay in the stack. | Ocho: Fresh ink. The old ink stays put. | Seeti: Another batch. Old batches stay on the shelf.

- Screen m1:studio: Make it on a phone
- Screen m4:versions: The strip of versions
- Screen d2:make: Make it on a laptop

Today's words for this, from product-audit.md section 4: First draft, Draft, Another take, Redo it, Make it again, One more, Earlier takes, v3, Final, History and more. The one product uses two: New version and Versions.

| Part | Where | Rule |
|---|---|---|
| New version | Under the draft on a pick, in Make it | Makes one more take, the old one goes to Versions |
| Versions | Under the draft, opens a sheet | A strip, current marked, tap to use |
| Paid versions | Make it | m3 asks first, price once |
| Edit in place | Make it | Saves as a new version, toast says which |

Reference pattern, from product-model.md section 11: Google Photos revert on phone, Figma version history on laptop. No branches, no merges.

### Taps, gestures and keys {#d-7.gestures-keys}

User moment: You live on your phone, but on Monday you sit at a laptop with coffee.

Answer: On a phone it is taps and story swipes, and on a laptop J, K, H, X, Enter, Esc and M do everything on Today.

- Tap to open, tap the edge to advance a story
- Swipe down closes a sheet
- Keys on laptop, never needed on phone

Character line: Fetch: J, K, H. I learned three tricks. Good dog. | Buzz: Every key is a little waggle. | Scoop: Between us, J and K are the fastest way through the dish. | Ocho: Seven keys. I can press them all at once. | Seeti: Seven keys. M means on the stove.

| Key or gesture | What it does | Where |
| --- | --- | --- |
| J and K | Move between picks | Today, laptop |
| H | Heart | Today, laptop |
| X | Not for me | Today, laptop |
| Enter | Open the pick | Today, laptop |
| Esc | Close the sheet or side peek | Everywhere |
| M | Make it | An open pick, laptop |
| Tap right or left edge | Next or previous frame | Story viewer |
| Swipe down | Close the sheet or story | Phone |

- Screen t3:frame: Story viewer
- Screen d1:today: Today on a laptop

Source: product-model.md section 11, Keyboard on laptop. Story rings follow Instagram stories: rings clear once seen, tap to advance, no autoplay sound, no endless stories.

Every gesture has a button that does the same thing, so nothing is gesture only. Swipe to heart on cards is not in the sources and is not proposed: the old swipe tuner is removed, per ia.md section 6.

Open question: whether keys show a small hint the first time on laptop.

### Forms and fields {#d-7.forms}

User moment: You are pasting your store link on a phone with one thumb.

Answer: A field has a three word label, a six word hint and four states: empty, filled, missing, error.

- One field per screen where possible
- Errors say how to fix it
- Talk instead of typing on every box

Character line: Fetch: Drop the link. I will fetch the rest. | Buzz: One link is all the pollen I need. | Scoop: Just the tip. One link. I do the digging. | Ocho: Pass it here. One box, I promise. | Seeti: Into the pot. One link.

- Screen f1:empty: Empty
- Screen f1:name: A name, not a link
- Screen f2:default: Work email
- Screen s2:know: Tell us something

Field rules, from _docs/export/product/components.md: label 3 words, hint 6 words, states empty, filled, missing, error. Inputs are 48 px tall in the kit.

| Field | Where | Error words |
|---|---|---|
| Store link | f1 | That looks like a name. Paste the website address instead. |
| Work email | f2 | Refused emails go to f3, a page, not a field error |
| Tell us something | s2 | none, it saves what you say |
| Invite email | s4 | Fix or remove the emails in red |
| Ask for a change | m1 composer | Placeholder: Ask for a change |

Talk instead of typing is on every box today, from mic.js, and stays as a tool inside Make it and on fields. Source: surface-map.md P95.

Old questions that asked twice go: the seat and what comes first were asked in the read and again in setup. Now three questions, once, inside the read, Next.

### Finding things {#d-7.search-filter}

User moment: You only handle ads. You want to see only ads.

Answer: You find things by area filter in See everything and status columns in Work, with no search box to learn.

- Five areas as filter chips
- Work groups by Idea, In the works, Handed off
- Notifications open exactly their thing

Character line: Fetch: Ads only? I can sniff out just those. | Buzz: Only one flower type? I fly straight there. | Scoop: Just the ads gossip? Coming right up. | Ocho: One arm on ads. The other seven can rest. | Seeti: Just the ads station. Fine.

- Screen t4:ads: See everything, filtered to ads
- Screen w1:board: Work by status

Areas, one word set: Social posts, Ads, Website, AI search, Email and WhatsApp. Source: product-model.md section 4.

Which of these do you handle, in Settings s3, sets the default filter for specialists. Next.

Open question: the model has no free text search. If the owner wants one, it would search picks and Work by product name. Not proposed here.

## D8 Delight {#d-8}

Little celebrations, sounds, and when the character speaks or hushes.

### When delight earns its place {#d-8.delight-rules}

User moment: You just handed off your first idea. A small moment would be nice. A party would be annoying.

Answer: Delight shows up only at real moments you made happen, small and short, and never in the way of a button.

- Real moments only: heart, make, hand off, caught up
- Small, short, then gone
- Never guilt, never a fake countdown

Character line: Fetch: I do one tail wag per win. Two if you hand it off. | Buzz: One waggle dance per real win. | Scoop: I only gasp at real news. | Ocho: One happy wiggle per win. I keep the rest in. | Seeti: One whistle per real win. No extras.

- Do: Celebrate what the person did
- Do: Keep it under a second or two
- Do: Lead with accomplishment, creativity and meaning
- Never: Use guilt or shame for a missed week
- Never: Run fake countdowns or red badges
- Never: Celebrate sales or results we did not measure
- Never: Put the character on a button or a decision

- First heart: Toast and a small celebrate pose.
- First make: A new version lands, the character reacts beside it.
- First hand off: Handed off, celebrate pose at 120 px.
- Caught up: The sign off until Monday.

Ethics from _docs/export/product-2/game.md, built on BRIEF.md 3.5 and Yu-kai Chou's Octalysis, _research/sources.md sources A and B.

| We never | Instead |
|---|---|
| Guilt or shame for a missed week | A free skip a month, a light nudge |
| Fake countdowns, invented scarcity | Only real limits: the capped read, five picks a week |
| Count days or keep daily streaks | Weeks in a row with at least one hand off |
| Progress in sales or results | What you did, and what we know about your store |
| Red badges, autoplay sound, endless stories | A short list, rings that clear, sound off by default |

Duolingo's lesson, source C: a borrowed game mechanic with no tie to the core loop was neutral. Every moment here ties to read, pick, make, hand off.

### Little celebrations {#d-8.celebrations}

User moment: You hearted, made and handed off in ten minutes. You want to feel that.

Answer: The first win bar ticks heart one, make one, hand off one, with a small celebration at each step.

- Three steps in the first week
- Each tick gets one short moment
- The bar clears when done

Character line: Fetch: Three tricks. Sit, fetch, hand off. Treat please. | Buzz: Three flowers, three little dances. | Scoop: Three wins. I wrote them all down. | Ocho: Three wins, three arms waving. | Seeti: Three steps. Three whistles.

1. Heart one: heartToast, step one ticks [Next]
2. Make one: a version lands [Next]
3. Hand off one: Handed off, the bar clears [Next]

- Screen f7:reveal: The reveal, one finding
- Screen t6:heart: First heart
- Screen h2:shopos: Handed off
- Screen t5:caught: Caught up

Worked example from game.md, the sample candle store:
1. Paste, sign in with your work email, watch it read. Question 1 of 3 asks which areas you handle.
2. The reveal: 41 reviews mention the smell of rain. Share this finding, then Open my picks. Next.
3. Heart Run the Monsoon candle rain ad. Step one ticks.
4. Make it, New version, version 3 is current. Step two ticks.
5. Hand it off to the ShopOS team. Step three ticks. Brief 1042 sits in Work.
6. You're caught up.

Celebrate pose sizes: 120 px for celebrations, 160 px on the reveal, small on a heart. Kit words: firstWin.heart, firstWin.make, firstWin.handoff, heartToast, handedOff*, caughtUp.

### Sounds {#d-8.sounds}

User moment: You open the app on the train. It should not make a noise.

Answer: Sound is off on your first visit, one switch turns it on, and every cue is short.

- Off until you switch it on
- Five cues: heart, ready, hand off, error, caught up
- No autoplay, nothing on loop

Character line: Fetch: I only bark when you let me. | Buzz: I hum only when you ask. | Scoop: Quiet as a raccoon in a bin. Until you say. | Ocho: Silent ink until you turn me up. | Seeti: No whistle till you switch me on.

- Heart (Fetch: dog/snd/cue-heart.mp3 | Buzz: bee/snd/cue-heart.mp3 | Scoop: raccoon/snd/cue-heart.mp3 | Ocho: octopus/snd/cue-heart.mp3 | Seeti: cooker/snd/cue-heart.mp3)
- Ready (Fetch: dog/snd/cue-ready.mp3 | Buzz: bee/snd/cue-ready.mp3 | Scoop: raccoon/snd/cue-ready.mp3 | Ocho: octopus/snd/cue-ready.mp3 | Seeti: cooker/snd/cue-ready.mp3)
- Hand off (Fetch: dog/snd/cue-handoff.mp3 | Buzz: bee/snd/cue-handoff.mp3 | Scoop: raccoon/snd/cue-handoff.mp3 | Ocho: octopus/snd/cue-handoff.mp3 | Seeti: cooker/snd/cue-handoff.mp3)
- Error (Fetch: dog/snd/cue-error.mp3 | Buzz: bee/snd/cue-error.mp3 | Scoop: raccoon/snd/cue-error.mp3 | Ocho: octopus/snd/cue-error.mp3 | Seeti: cooker/snd/cue-error.mp3)
- Caught up (Fetch: dog/snd/cue-caught.mp3 | Buzz: bee/snd/cue-caught.mp3 | Scoop: raccoon/snd/cue-caught.mp3 | Ocho: octopus/snd/cue-caught.mp3 | Seeti: cooker/snd/cue-caught.mp3)

- Screen s6:switches: One switch for sound

Rules: product-model.md section 5 Sound, ia.md section 2: sound on by default becomes off on a first visit, one switch in Settings. Each skin supplies logo, heart, ready, handoff, error and caught, per kit-contract.md.

| Cue | Plays when | Never plays |
|---|---|---|
| heart | You heart a pick | On a page load |
| ready | The read or a make finishes while you are in the app | In the background |
| handoff | Handed off | For a teammate's hand off |
| error | A make or read fails | On a field error |
| caught | You are caught up | More than once a week |

Fetch and Buzz use the same file names; their files are still being recorded.

### When the character speaks and when it hushes {#d-8.speak-hush}

User moment: You like the character. You do not want it between you and a decision.

Answer: The character lives in fixed slots around the work and is never on a card, a button, a decision or your photos.

- Speaks in headers, waits, empties, celebrations
- Hushes on cards, buttons, Need your yes
- Your products are the hero

Character line: Fetch: I sit by the door. Never on the couch with your stuff. | Buzz: I hover nearby. Never on the flower. | Scoop: I talk around your work. Never on it. | Ocho: Arms off your cards. I promise. Mostly. | Seeti: I talk from the stove. Never on the plate.

| Slot | Size | When |
| --- | --- | --- |
| Today header corner | 40 to 56 px | Always, greets on Monday |
| Reading your store | 120 to 180 px | The whole read |
| The reveal | 160 px | One finding |
| Empty states | 96 px | Nothing waiting |
| Celebrations | 120 px | First heart, make, hand off, caught up |
| Errors and cap | 96 px | Plain line, one way out |
| Brief page | 32 px sign off | Bottom only |
| Never | none | Buttons, cards, the thing being made, tables, Need your yes, brand photos |

- Screen t1:monday: Corner on Today
- Screen t2:open: No character on a decision

Source: product-model.md section 7. The character appears in 18 of the 45 screens, per ia.md section 3. Cards belong to the brand; the character never speaks on a card, per product-model.md section 10.

As the relationship grows the lines get shorter. Raccoon's rule from raccoon/system.md: Scoop talks about itself for four words at most. Seeti's rule: never more than two sentences per line.

### Making as play {#d-8.generation-play}

User moment: You want to try the ad as a reel, then go back to the photo, without fear.

Answer: Make it is a place to try things freely: every version kept, the character reacting around the work.

- New version is free to try where it costs nothing
- Paid makes ask once
- The long wait game is off by default

Character line: Fetch: Try it as a reel. Try it as a photo. I fetch both. | Buzz: Try another flower. The old one stays in the comb. | Scoop: Scribble again. Nobody is grading this. | Ocho: Fresh ink as often as you like. | Seeti: Another batch. The stove is hot anyway.

- Screen m1:studio: The thing and the chat
- Screen m4:versions: Every take kept
- Screen m2:making: Being made, you can leave

Generation is Today; the play framing is Next. Source: BRIEF.md 3.5 and game.md.

The long wait game, today's "Catch the beans", becomes an add on behind its own switch, off by default. Its name and art come from each character, not from the old name.

Drive: creativity and feedback, Octalysis drive 3.

### The week as a game {#d-8.week-shape}

User moment: You want marketing to feel like something you can finish.

Answer: The week is the unit, with five picks on Monday and caught up by the end.

- Five picks Monday, finite
- Weekly run with one free skip a month
- One wildcard pick a week

Character line: Fetch: Monday I fetch five. By Friday we both nap. | Buzz: Monday the hive fills. By Friday it hums quietly. | Scoop: Monday dish. Friday quiet. Repeat. | Ocho: Monday arms full. Friday arms free. | Seeti: Monday whistles. Friday, kitchen clean.

- Monday: The drop. Five fresh picks, Monday email (the turn)
- Tuesday: Pick. Heart, Not for me, Later
- Wednesday: Make. One Make it, every version kept
- Thursday: Hand off. You choose who ships it
- Friday: Caught up. The sign off until Monday

Mechanics and status, from BRIEF.md 3.5:

| Mechanic | What it is | Status |
|---|---|---|
| Monday drop | Five fresh picks a week, finite | Next |
| Weekly run | Weeks in a row with at least one hand off, one free skip a month, a light nudge, no guilt | Next |
| Wildcard | One wildcard pick a week | Next |
| Caught up | A sign off and what happens Monday | Next |

Open question from game.md: what makes a pick a wildcard is not yet defined.

Duolingo's streaks worked once protected by a streak saver message and streak freezes, source C. The free skip is our streak freeze, shipped from day one.

## D9 Notifications {#d-9}

What earns a ping, and how we protect your attention.

### Protect the channel {#d-9.protect}

User moment: Your phone buzzes forty times a day already. One more app had better be worth it.

Answer: A notification says one thing in 60 characters and opens exactly that thing.

- 60 characters, one thing
- Opens that exact thing, never a list
- Nothing new means no email

Character line: Fetch: I only bark when someone is at the door. | Buzz: I buzz you only for real nectar. | Scoop: I only whisper when it is worth it. | Ocho: One tap on the glass. Only when it matters. | Seeti: I whistle only when it is ready.

- 5x Retention of current users beat the next best metric, Duolingo, source C
- 17% More learning time from leagues with automatic opt in, Duolingo, source C

- Do: One piece of work and one change per ping
- Do: Open exactly that thing
- Do: One switch per kind in Settings
- Never: Add volume without a strong case
- Never: Use measuring words such as Live or Result
- Never: Put the character in a decision
- Never: Say the product sent or posted anything it did not

Source: _docs/export/product-2/notifications.md and _research/sources.md source C, Jorge Mazal on Lenny's Newsletter, 28 February 2023: teams could improve timing and copy but could not add volume without a strong case.

| Rule | What it means |
|---|---|
| Protect the channel | Timing and words improve; volume needs a strong case |
| One thing, 60 characters | Brief 1042 is in progress |
| Opens exactly its thing | That Make it, that question, that brief |
| One place for waiting | Need your yes and its count on Today |
| No bell | New since you looked heads Work |
| No measuring words | Live, Reading, Result leave until How it went, v3 |
| Nothing new, no email | As the weekly digest already does |
| Truth in every send | Only the ShopOS team route sends a brief |

### What earns a ping {#d-9.what-pings}

User moment: Your teammate replied about the rain ad. You want to land right in that chat.

Answer: Eight events earn a notification, each under 60 characters, each opening one screen.

- Replies, approvals, finished makes, brief status
- Each opens one screen
- Anything for you joins Need your yes

Character line: Fetch: Meera replied. I ran straight to tell you. | Buzz: Meera replied. Buzz buzz, that way. | Scoop: Psst. Meera replied on the rain ad. | Ocho: Meera replied. One arm pointing at it. | Seeti: Meera replied. Taste it.

- The ShopOS team: Brief 1042 needs something from you
- Make it: Meera replied in Monsoon candle rain ad
- Make it: Version 4 of Monsoon candle rain ad is ready
- Make it: Version 4 stopped halfway. Version 3 is safe.
- Work: Brief 1042 is received

From notifications.md, In app notifications:

| When | Words, under 60 characters | Opens |
|---|---|---|
| A paid final picture is made | Version 4 of Monsoon candle rain ad is ready | m1 on that version |
| A final video pauses for a check | Monsoon candle story paused for a check | m1 |
| A final fails | Version 4 stopped halfway. Version 3 is safe. | m5 |
| The ShopOS team needs something | Brief 1042 needs something from you | t2 Need your yes |
| The ShopOS team receives a brief | Brief 1042 is received | Work, Handed off |
| A Slack reply lands | Meera replied in Monsoon candle rain ad | m1 chat |
| An approval in Slack | Meera said yes to version 3 | m1 |
| A teammate writes in Make it | Meera replied in Monsoon candle rain ad | m1 chat |

Toasts are not notifications: one line, three seconds, for something you just did.

### One place for waiting {#d-9.one-place}

User moment: You want one list of things only you can answer. Not five.

Answer: Everything that needs you lives in Need your yes on Today, with a count on the Today tab.

- Five old lists become one
- The count is on the Today tab
- The bell goes

Character line: Fetch: One bowl. Everything for you goes in it. | Buzz: One cell for your nods. | Scoop: One spot for your nod. I keep it tidy. | Ocho: One arm up when I need you. Just one. | Seeti: Taste this first. One spot.

- Need your yes tile becomes Need your yes
- On your board tile becomes Need your yes
- Work lane Needs you becomes Need your yes
- Notifications Needs you group becomes Need your yes
- Library Jams Needs you becomes Need your yes

- Screen t1:monday: Need your yes, 2
- Screen t2:open: One question
- Screen w1:board: New since you looked heads Work

Five places listed waiting work under three names in today's build. Source: product-audit.md 2.2 and 6.

A Need your yes item: a question you can answer yes or no, 10 words at most, one line on what happens either way, Yes and Not now. Brief status Needs something from you joins it.

Risk, listed only: changing what counts as Need your yes changes ranking. Source: product-model.md section 8.

### The emails {#d-9.emails}

User moment: Monday, 7 in the morning. One email, five picks, one button.

Answer: About ten emails, each with one button: the Monday picks email, brief status, invites and a few more.

- Monday email: five picks, one button, Next
- Brief status: where it is, one button
- Every email can be switched off

Character line: Fetch: One email on Monday. I carry it in my mouth. | Buzz: One Monday buzz in your inbox. | Scoop: Monday dish, in your inbox. One button. | Ocho: One email. I resisted writing eight. | Seeti: Monday whistles, by email.

- Screen e1:monday: Monday email, Next
- Screen e2:status: Brief status email

From notifications.md, every template:

| Email | When | Button |
|---|---|---|
| Monday, your five picks | Monday 9 in the morning brand time, none if nothing new | Open this week's picks |
| Brief status | The ShopOS team moves a brief | Open the brief |
| You're invited | An invite | Open Sample candles |
| Someone joined your team | A sign in with your domain | Open Team |
| You are now an admin | Role change | Open Team |
| Reconnect a tool | A week before a sign in runs out, and at expiry | Open Connections |
| Your picks are ready | First picks written | Open Today |
| Your picks are waiting | Picks written, Today never opened | Open Today |
| Mentions and Need your yes | Tag, question, OK request | Open that thing |
| New replies | Settled a minute, at most every 15 minutes | Open the chat |

The check reminder emails go, with the clock line. Subject of the Monday email: 8 words at most, the character's words.

### Messages in the first week {#d-9.onboarding-pings}

User moment: You left during the read to make tea. You want to know when it is ready, and nothing else.

Answer: The first week sends only what moves you to your first win: picks ready, picks waiting and an invite.

- Your picks are ready, once
- Your picks are waiting, at most twice
- No reminder under a clock

Character line: Fetch: Picks are ready. I brought them to the door. | Buzz: Your hive is ready. One buzz. | Scoop: Psst. Your first scoop is ready. | Ocho: Your picks are up. One tap on the glass. | Seeti: First whistles. Come and eat.

- Email: Your picks are ready
- Email: Your picks are waiting
- Email: You are invited to Sample candles
- Today: Welcome to the team, Sample candles

- Waiting for you to check what was read, two reminders becomes Removed. The check moves into What we know about you, no timer
- Your first plays are ready becomes Your picks are ready. No plays or moves words
- Open your feed to start the moves, Still waiting becomes Your picks are waiting. Opens Today
- Email me when they are ready becomes Email me when it is ready. One tap on the reading screen

From notifications.md, every template:

| Email | When | Who | Button |
|---|---|---|---|
| Email me when it is ready | You ask for it during the read | founder | none, it feeds the next one |
| Your picks are ready | First picks written | the team | Open Today |
| Your picks are waiting | Picks written, Today never opened; two sends at most | founder | Open Today |
| You're invited to Sample candles | An invite from Team | invited teammate | Open Sample candles |
| Someone joined your team | A sign in with your domain | admin | Open Team |
| Reconnect a tool | A week before a sign in runs out | admin | Open Connections |

Arriving from an invite shows one toast, "You're on Sample candles's team" restyled, surface-map.md A121.

The second week habit begins with the Monday email, Next. No other first week messages are proposed. The weekly run nudge, Next, never fires in week one.

### Your switches {#d-9.settings}

User moment: Your teammate is chatty. You want quiet on one piece of work, not all of them.

Answer: One switch per kind in Settings, plus Mute this on any piece of work in Make it.

- Four kinds plus sound
- Mute this on one piece
- Email footers link to the same switches

Character line: Fetch: Quiet, Fetch. Got it. Good dog. | Buzz: Hive on hush. Understood. | Scoop: Mute this? My lips are sealed. | Ocho: Mute this. Seven arms go still. | Seeti: Lid on. No whistle.

- Screen s6:switches: Notifications and sound

| Switch | Sub line | Default in the kit |
|---|---|---|
| Need your yes | When only you can answer | on |
| Replies in Make it | When a teammate writes | on |
| Brief status | Received, in progress, delivered | on |
| Monday picks email | Five picks, one button | off, Next |
| Sound | Off until you turn it on | off |

Open question from notifications.md: the weekly digest goes to the team by default today, while the kit draws Monday picks email off. The owner decides which default ships.

## D10 Trust moments {#d-10}

Sources, read only, money, privacy, approvals and undo.

### Where trust is won or lost {#d-10.trust-map}

User moment: You are about to let an app read your store. You want to know what it touches.

Answer: Trust is won at seven moments: sign in, the read, every number, connecting, paying, handing off and deleting.

- Say what we read and what we cannot touch
- Every number with its source
- Say what happens on yes and on no

Character line: Fetch: I only fetch. I never bury anything of yours. | Buzz: I visit your flowers. I never pick them. | Scoop: Public pages only. I say so every time. | Ocho: I read with all eight arms. I touch nothing. | Seeti: I read the recipe. I do not cook your books.

1. Sign in: work email, why we ask
2. The read: public pages, read only connections
3. Numbers: each with a source chip
4. Connect: read only, said in the sheet
5. Pay: price once, before
6. Hand off: who gets it, said plainly
7. Delete: a request, said as one

Truth table from product-model.md section 0, which every page must follow:

| Topic | What the product does today | Words to use |
|---|---|---|
| Sign in | A work email sign in comes before the read | Sign in with your work email |
| Heart | One more in that direction | More like it appear, never a number |
| Connections | Real and read only on the live site since 16 October | Read only connections, check status |
| Hand off to the ShopOS team | They really get the brief by email | The ShopOS team gets your brief |
| Hand off to your team | Copied, nothing sent | Brief copied |
| Measuring | Cut | Later. Remove old measuring words |

The product never posts or publishes anything in v1.

### Trust while you sign in and connect {#d-10.sign-in-connect}

User moment: It wants your work email before it reads anything. Then it wants your ads account. Why?

Answer: Sign in says why in one line, a refusal offers a way to look around, and connect says read only before you allow access.

- Why the work email, before you tap
- Refused? See demo stores, no dead end
- Connect any time, never required to start

Character line: Fetch: Work email so I fetch for the right house. | Buzz: Work email so I fly to the right hive. | Scoop: Work email, so I dig through the right bins. | Ocho: Work email, so my arms reach the right store. | Seeti: Work email, so I cook in the right kitchen.

- Screen f2:default: Why the work email
- Screen f3:refusal: Not your store
- Screen f1s:filled: From Shopify, store filled in
- Screen s5:sheet: Connect, read only

1. Paste: nothing asked yet
2. Sign in: work email, one line on why
3. Read: public pages only
4. Connect, later: read only, from Settings or a pick that needs it

Truth from product-model.md section 0: a work email sign in comes before the read. Never write that no sign in is needed. The reveal before sign in is Next and a Change core risk, per game.md.

| Moment | Words | Way out |
|---|---|---|
| f2 Sign in | signInLine: why the work email | Continue |
| f3 Personal or other company email | refusalLine: this store is for its own team | See demo stores, Switch email |
| Sign in did not finish | Sign in did not work, surface-map.md S7 | Try again |
| f1s Shopify install | Same as Paste, store filled in | Build my feed |
| s5 Connect | Read only, what we read, what we cannot do | Allow access, at the platform |

Today the old setup put Connect your tools and Invite your team inside the first run. Both move to Settings and to the one pick that needs them, so nothing asks for access before you see value.

Open question, audit hotspot 1: an agency or a founder on a personal address cannot try it on their own store.

### Every number has a source {#d-10.sources}

User moment: It says 41 reviews mention rain. Did it make that up?

Answer: Every number shows a source chip, and anything unsure carries a To confirm chip, never a hedge sentence.

- One fact, one number, one source
- To confirm when unsure
- Why this holds at most three sourced lines

Character line: Fetch: I dug up every number myself. Sniff the source. | Buzz: Every number comes with the flower it came from. | Scoop: Every bit of gossip has a source. I never make it up. | Ocho: Every number, one arm pointing at where it came from. | Seeti: Every number from the pantry. Check the label.

- Screen p1:open: Why this, with sources
- Screen p2:plan: The plan, sources listed
- Screen y2:themes: What customers say, with counts

Card budget, product-model.md section 10: Why is 12 words, one fact with a number and a source chip. Unsure numbers carry a To confirm chip.

Your store rows: a theme, a count and a mood chip. Quotes only when real and attributed to their public source.

Rivals: described by patterns, public pages only. Raccoon's rule: never names a rival.

The kit itself labels sample findings: y4 carries the caption "12 of 32 is an example finding from one brand's read."

### Read only, said out loud {#d-10.read-only}

User moment: Connect Meta ads? You need to know it cannot spend your money.

Answer: Every connection is read only in v1, and the connect sheet says so before you allow access.

- Read only, said in the sheet
- One status chip per connection
- Rivals: public pages only

Character line: Fetch: I can look at your ads. I cannot throw your money. | Buzz: I can see your ads. I cannot spend a drop of honey. | Scoop: I read your ads. I cannot touch the budget. Promise. | Ocho: I look with every arm. I spend with none. | Seeti: I read the bill. I never pay it.

- Screen s5:rows: Connections and their state
- Screen s5:sheet: The connect sheet
- Screen y3:rivals: Rivals, public pages only

Connected today on the live site, read only since 16 October: Shopify, Meta Ads, Google Analytics, Google Ads, Klaviyo, Judge.me, Slack. Source: product-audit.md, where BRIEF differs.

Status chips: Connected, Needs you, Expiring, Stale, Read only. Expiry emails restyled.

Do not sell connections. Never imply posting or budget control in v1. Slack is the exception that writes: Post to Slack in Hand it off, when connected, to your own channel.

v2 asks for posting rights separately, with approval each time. v4 asks for budget rules. Neither is in v1.

### Money once, before it is spent {#d-10.money}

User moment: You are about to make a video. You want to know if it costs anything.

Answer: The price shows once, on a sheet, before anything paid is made, never on the first button and never with a vendor name.

- Price on the confirm sheet only
- Says what happens after Make it
- No vendor or model names

Character line: Fetch: Costs a bit. I tell you before I fetch. | Buzz: Costs some honey. You say yes first. | Scoop: Between us, it costs this much. Before, not after. | Ocho: Costs this. You decide. My arms wait. | Seeti: Costs this. Taste the price first.

- Screen m3:confirm: Confirm a paid make

- Today: Make it plus a price on the button. Price first, result later, vendor names such as the final being made elsewhere.
- Tomorrow: Make it, then one sheet. What will be made, the price once, Make it and Not now.

Source: product-model.md section 4 and 5, components.md Paid confirm sheet: states quoting, ready, starting, no credit, error.

Today's build shows prices on buttons, free draft tags, credits, vendor names and model names before a result. Source: product-audit.md section 6 hotspot 10.

Risk listed in ia.md section 2: the Slack make button starts a paid make with no confirm. It is removed, Next, so making always starts in Make it with the one sheet.

### Who gets what you hand off {#d-10.who-gets-it}

User moment: You tapped Hand it off. Did it just email someone?

Answer: Hand it off asks who is shipping this and then says exactly what happened: sent to the ShopOS team, or copied for you.

- The ShopOS team gets your brief by email
- Your team or freelancer: copied, nothing sent
- The product never posts

Character line: Fetch: I drop it at the right feet. You choose whose. | Buzz: I fly it to the hive you pick. | Scoop: Pass the note. I tell you exactly who got it. | Ocho: Free an arm. I say which arm took it. | Seeti: Order ticket. I say which kitchen got it.

- Screen h1:who: Who is shipping this
- Screen h2:shopos: The ShopOS team got it
- Screen h2:team: Copied for your team
- Screen h3:brief: The brief page, no login

Today's build has 10 hand off buttons across 6 surfaces, and "Send brief" sometimes emails the ShopOS team and sometimes opens your own mail app. Source: product-audit.md 2.4 and section 5 pattern 8.

| Choice | What happens | Status |
|---|---|---|
| Me | Copies the words, opens the exact place to post | Handed off |
| My team | Brief copied, or Post to Slack when connected | Handed off |
| My agency or freelancer | Brief copied with the brief page link | Handed off |
| The ShopOS team | They get it by email with a brief number | Handed off, then Received, In progress, Needs something from you, Delivered |

The brief page: read only, no login, phone first, copy all, status stamp. Old link forms keep working.

### Your data {#d-10.privacy}

User moment: You want to see what it knows about you, and fix what is wrong.

Answer: What we know about you shows every fact with its source for you to fix, and deletion is a request that says so.

- Every fact has a source and can be fixed
- Ask us to delete your data is a request
- Work email only, for your own store

Character line: Fetch: Everything I know about you, in one bowl. Fix any of it. | Buzz: Every bit of pollen I carry, shown. | Scoop: My notes on you. Cross out anything wrong. | Ocho: Everything I am gripping, laid out. Fix any of it. | Seeti: House recipe. Change any line.

- Screen s2:know: What we know about you
- Screen s7:account: Ask us to delete your data
- Screen f2:default: Why the work email
- Screen f3:refusal: This store is for its own team

From ia.md section 2: Delete my data is an email draft today. Say what it is: Ask us to delete your data. It sends us a request; real deletion is Later.

The work email rule: a personal email or another company's email cannot open a brand. It points to demo stores. Source: product-audit.md 2.1 step 2.

Open question: an agency or a founder on a personal address cannot try it on their own store today. Hotspot 1 in the audit.

### Approvals as the product grows {#d-10.approvals}

User moment: One day it might post for you. You want to stay in charge.

Answer: v1: Today Need your yes is for questions only you can answer, and nothing goes live without people. | v2: In v2 every post asks for your yes before it goes out. | v3: In v3 How it went shows results, and next week's picks learn from them. | v4: In v4 it runs ads inside the budget and rules you set, with undo always there.

- Each version adds one power
- Every power starts at the lowest dial
- Undo is always there

Character line: Fetch: New tricks every version. Still wait for the whistle. | Buzz: More jobs for the hive. Still ask the queen. | Scoop: More digging every version. Always with your nod. | Ocho: More arms free every version. Still asking first. | Seeti: More burners every version. My kitchen, your rules.

- Screen t2:open: Need your yes, v1

- Suggest: Reads, picks, drafts. You ship it or hand it off. [v1] [v1]
- Prepare and schedule: You approve, it posts at your time. [v2] [v2]
- How it went: Results for each idea that went live. [v3] [v3]
- Run within rules: Budget caps, topics, approval windows, undo. [v4] [v4]

- Screen w1:later: Scheduled, Live and How it went

The dial, from BRIEF.md 3.6, set per area and per channel, starting at the lowest:

| Level | What happens | Version |
|---|---|---|
| Suggest | Reads, picks, drafts | v1 |
| Prepare | Files ready per channel, posted with one click | v2 |
| Schedule | You approve, it posts at your time | v2 |
| Run within rules | Acts inside budget caps, topics, approval windows, undo always | v4 |

Each pick gets three exits: hand it off, schedule it, let it run. Only hand it off exists in v1. Agencies can set the dial per client.

Groundwork in v1, add ons only: each pick stores its destination channel; the brief saved as structured data; a decision log of hearted, made and handed off; pick status as one extendable field.

## D11 Accessibility {#d-11}

Contrast, focus, screen readers, reduced motion, big targets.

### The bar for every screen {#d-11.a11y-bar}

User moment: You read on a cracked phone in sunlight, sometimes with one hand. It still has to work.

Answer: Every screen meets 4.5 to 1 contrast, a visible focus ring, 44 px targets, reduced motion and real labels in both themes.

- Contrast 4.5 to 1, light and dark
- Focus ring on everything you can tap
- Works with motion and sound off

Character line: Fetch: Big buttons. Even my paws can hit them. | Buzz: Big targets. Even a bee can land. | Scoop: Big enough to tap in the dark. I would know. | Ocho: Big targets. Good for eight arms or one thumb. | Seeti: Big buttons. Greasy fingers welcome.

- 4.5 to 1 Text contrast, ink and muted on bg and surface, kit-contract.md
- 44 px Menu rows and photo rows in kit/kit.css
- 48 px Field height in kit/kit.css
- 2 px Focus outline, offset 2 px, kit/kit.css

- Do: Test both themes at 400 wide
- Do: Give every image real alt words
- Do: Say status in words, not colour alone
- Never: Put the hero colour behind body text
- Never: Use motion to carry meaning
- Never: Hide a control behind a gesture only

Kit facts, from kit/kit.css: focus-visible outline 2px in the focus token with 2px offset; menu items min height 44px; inputs 48px; row pictures 44px; a prefers-reduced-motion block. From kit-contract.md: text contrast at least 4.5 to 1 for ink and muted on bg and surface, in both themes.

Open question: no full audit with a screen reader has been run on the kit. d-12 lists it as a test.

### Contrast and colour {#d-11.contrast-color}

User moment: You cannot tell green from orange. The status still has to be clear.

Answer: The hero colour is only for the main button, focus and the character, and every status chip carries its word.

- Brand photos carry the colour
- Status is always a word
- No agent colour as hero

Character line: Fetch: My green is the ball. Your status is a word. | Buzz: Yellow is mine. Your status is a word. | Scoop: Tangerine is my pencil. Status gets a word. | Ocho: Pink is mine. Words are yours. | Seeti: Chilli red for the whistle only.

- Scoop hero #ff7a1a, raccoon/system.md
- Ocho hero #ff4fa3, octopus/system.md
- Seeti hero #ff3d2e, cooker/system.md
- Kit neutral bg, dark #121214, cooker product token

From kit-contract.md: hero is used only for the main button, focus, the character and small accents, never as a card background. No agent colour as hero: not #2bb39b, #4a90f0, #f28a3c, #9a6bf0, #16a37f. Agent colours stay as small area tags.

Ink on a hero button, never white, per cooker/system.md. Every direction checks ink and muted against bg and surface in both themes before it ships.

Status chips use words: Idea, In the works, Handed off, and the sub lines. Area tags pair a shape icon with the area name.

### Focus and keyboard {#d-11.focus-keys}

User moment: You do everything on a laptop with the keyboard.

Answer: Every control takes a visible focus ring, sheets trap and return focus, and Today runs on seven keys.

- Tab order follows reading order
- Esc closes, focus goes back
- Keys never needed on phone

Character line: Fetch: Tab, tab, tab. I follow the ring. | Buzz: I follow the ring from flower to flower. | Scoop: I follow the focus ring. It never lies. | Ocho: Tab through. I will not lose track. I have arms. | Seeti: Tab, tab. Esc. Back on the stove.

- Screen d1:today: Today on a laptop
- Screen d2:make: Make it on a laptop

| Rule | Detail |
|---|---|
| Focus ring | 2px outline in the focus token, offset 2px, on focus-visible |
| Order | Top bar, tabs or rail, Need your yes, picks, See everything |
| Sheets | Focus moves to the title, stays inside, returns to the opener on Close |
| Side peek | Esc closes, focus returns to the pick |
| Keys | J, K, H, X, Enter, Esc, M from product-model.md section 11 |
| Skip | A skip to content link on desktop. Open: not drawn in the kit yet |

### Screen readers {#d-11.screen-readers}

User moment: You listen to your phone more than you look at it.

Answer: Every picture has alt words that say what is in it, toasts speak once, and the character is named, not described.

- Alt says what the photo shows
- Toasts announce once, politely
- Buttons say their action, not an icon name

Character line: Fetch: My picture says Fetch. That is plenty. | Buzz: My picture says Buzz. Enough said. | Scoop: My alt says Scoop. I keep my secrets. | Ocho: My alt says Ocho. Not eight paragraphs. | Seeti: My alt says Seeti. Short.

**What a screen reader hears**
- Monsoon candle photo: Monsoon candle lit on a wet windowsill, rain on the glass
- Heart icon button: Heart, more like this
- Area tag: Ads, from your reviews
- Toast: Yes saved. The rain ad uses your photo. Undo
- Character: Its name only

Alt words come from the ALT table in kit/screens.js, such as "Chai spice candle in amber glass beside a cup of chai". The kit uses aria labels across 27 places in screens.js, such as role menu and menuitem in the brand switcher and labelled icon buttons.

Rules:
- Icon buttons carry a label with the action.
- Toasts use a polite live region; one at a time keeps them readable.
- The story viewer frames read their one fact; the picture's alt follows.
- Counts on tabs read as words: Today, 2 need your yes.

Open question: no screen reader pass has been run. It is test 6 in d-12's plan.

### Reduced motion and sound {#d-11.motion-sound}

User moment: Motion makes you queasy. Sound on the train is a no.

Answer: With reduced motion on, the character holds still and nothing slides, and sound stays off until you turn it on.

- Motion only inside the no preference query
- Nothing means anything through motion alone
- Every spoken line also has words on screen

Character line: Fetch: Reduced motion? I sit. Very still. Very good dog. | Buzz: Reduced motion? I stop buzzing around. | Scoop: Reduced motion? I freeze like I was never here. | Ocho: Reduced motion? All eight arms, perfectly still. | Seeti: Reduced motion? Lid stays put.

- Do: Scope character motion to prefers-reduced-motion: no-preference
- Do: Show every line as text too
- Do: Keep celebrations under two seconds
- Never: Autoplay sound
- Never: Loop motion while you read
- Never: Flash anything

From kit-contract.md: a skin's motion CSS is scoped to the character, using the no-preference media query, and kit/kit.css carries a reduce block.

Octopus timings from octopus/system.md: idle bob 3.2s, wait sway 1.2s, react 280ms, celebrate 950ms once. All of them stop under reduced motion.

Sound: off by default on a first visit, one switch in Settings. Lines that play with sound also appear as the character's words on screen.

### An accessible first run {#d-11.first-run-a11y}

User moment: You use a screen reader and you just pasted your link. Three minutes of reading starts.

Answer: The first run announces each source as it ticks, keeps questions answerable by keyboard and voice, and never times you out.

- Each source tick is announced once
- Questions work with keys and talk
- No timers, Skip always reachable

Character line: Fetch: I bark each source once. Not every second. | Buzz: I hum each source once. | Scoop: I whisper each source once. Then I hush. | Ocho: One arm up per source. That is all. | Seeti: One toot per source. No more.

- Screen f1:ready: One labelled field
- Screen f4:reading: Sources tick, announced
- Screen f7:reveal: One finding, read as text

- Do: Announce each source once in a polite live region
- Do: Label the paste field and its error
- Do: Make Skip a real button in the tab order
- Do: Give the reveal finding as text, not only an image
- Never: Time anyone out, as the old check clock did
- Never: Animate the wait pose under reduced motion
- Never: Make a question answerable only by tapping tiles

| Screen | Check |
|---|---|
| f1 | Field has a visible label, the hint and the name error are tied to it, Build my feed is the only main button |
| f2 | Why the work email is text before the button |
| f3 | Both ways out are buttons, reachable by keyboard |
| f4 | Each source tick is announced once; finding cards read with their source; question tiles are buttons with names; Skip in the tab order; talk works on any answer box |
| f5, f6 | Error and cap lines are text, one button |
| f7 | The finding is text with its source; Share this finding and Open my picks are buttons |
| t1 first win bar | Steps read as Heart one, done; Make one, to do |

The old check page ran under a clock: "starts your brief at 3:40 PM unless you check first", product-audit.md 2.1 step 7. A timer like that fails people who read slowly; it goes.

Open question: no screen reader pass has been run on f1 to f7. It is part of script 6 in d-12.

### Big targets and plain text {#d-11.targets-text}

User moment: You are tired. You read one line and decide.

Answer: 44 px targets and short budgets make the product easy for thumbs and tired minds: a card is 25 words at most.

- Targets at least 44 px
- Card at most 25 words
- Digits for numbers, one number per line

Character line: Fetch: Short words. I only know short words anyway. | Buzz: Short lines. Short flights. | Scoop: Short notes. Nobody reads a long rumour. | Ocho: Short lines. Fewer things to hold. | Seeti: Short lines. Two words if I can.

- Screen t1:monday: Five picks, one glance each
- Screen p1:open: An open pick in four layers

Card budgets from product-model.md section 10: area and source 5 words, headline 8 words, why 12 words, one button. About 19 words on the sample card, down from about 70.

Plain words help everyone, including people reading in a second language and people using translation. Verbs first, product names over category words.

Layout from product-model.md section 11 keeps one column on phones under 600 wide, so text never runs into side panels.

## D12 Research and testing {#d-12}

What we know, how we test, and the scripts to run with founders.

### What we know {#d-12.what-we-know}

User moment: You want to know why the product is being simplified, from evidence, not taste.

Answer: We know the build from its code: a read of the deployed product on 25 October found 89 surfaces and 16 ways into one making space.

- Evidence from the code, with file and line
- Ten places a new founder gets lost
- No founder sessions recorded yet

Character line: Fetch: I sniffed every corner of the old app. It was a lot of corners. | Buzz: I visited all 89 flowers. Too many flowers. | Scoop: I went through the old app. Between us, it was messy. | Ocho: Eighty nine surfaces. Even I ran out of arms. | Seeti: Eighty nine dishes on one menu. Too many.

- 89 Surfaces a person can reach, product-audit.md
- 16 Ways into one making space
- 11 Screens before the first card
- 6 Different skip labels

- Sign in first: The landing promises one paste, then asks for a work email.
- Asked twice: Seat and focus asked in the read, then again in setup.
- A clock on the check: A form with a start time ticking.
- A crowded first screen: Tiles, rings, cards, five icons each.
- Three numbers for today: 10, a personal 3 to 10, and a hidden 14.
- Three making spaces: Studio, jam pane and a flagged third one.
- Send brief means two things: Emails the ShopOS team, or opens your mail.
- Vendor names and prices first: Money and model names before a result.

Source: _research/product-audit.md, read from origin/main at b68aa9f, committed 25 October. Every claim there carries a file and line.

The ten hotspots, section 6: signing in before anything; long onboarding that asks twice; the check page under a clock; a crowded first feed; three numbers for today; where things live; three different making spaces; what Send brief does; seats and Viewing as; making costs and outside names.

Counts: 89 surfaces; 16 ways into a jam; 10 hand off buttons across 6 surfaces; 4 brief formats; 6 status vocabularies; 5 places listing waiting work under 3 names; 23 sheet styles; 16 empty styles; 112 button classes.

This is evidence about the product, not about founders. Behaviour evidence comes from the tests on the next pages.

### What we do not know yet {#d-12.what-we-dont}

User moment: You want to know what is still a guess.

Answer: We have no recorded founder sessions yet, so every claim about how founders feel is a question to test, not a finding.

- No usability sessions on record
- No targets set for any measure
- Each open question has a test

Character line: Fetch: Some things I have not sniffed yet. I will. | Buzz: Some flowers I have not visited yet. | Scoop: Some rumours I have not checked. Yet. | Ocho: Some things I am still reaching for. | Seeti: Some dishes nobody has tasted yet.

**Each open question and its test**
- Do founders get what it does in five seconds?: The instant understanding test
- Does sign in before the read lose people?: Script 1, and drop off at each join
- Do five picks feel finishable?: Script 2, and share of weeks caught up
- Is Hand it off clear about who gets what?: Script 3
- Can the person who ships it work without a login?: Script 4
- Do founders trust and fix what we know?: Script 5
- Do the Shopify, invite and return paths land on Today?: Script 6
- Does it work with a screen reader?: A screen reader pass on all 45 screens

From game.md, internal measures with no targets in the sources: share of brands that open Today again next Monday; share of weeks that reach caught up; share of new brands that heart, make and hand off one, and the minutes it took; drop off at each join; Share this finding taps; questions answered and skipped; weekly runs kept; notifications sent per brand per week; the memory meter score.

None of these has a target. None should be invented. The decision log they read from is v1 groundwork that does not exist yet.

### How we test {#d-12.how-we-test}

User moment: You have half an hour with a founder. You want to learn something real.

Answer: One founder spends 30 minutes on their own phone with the live kit screens, thinking out loud while you watch what they tap.

- Five founders per round
- Their phone, their store where possible
- Same script, same order, notes in one sheet

Character line: Fetch: I watch where they look. Then I fetch the answer. | Buzz: I watch which flower they fly to first. | Scoop: I watch quietly. Best gossip comes from watching. | Ocho: I keep my arms to myself and watch. | Seeti: I watch them taste. I do not talk.

1. Recruit: five founders from design partners and their friends
2. Set up: their phone, the book open at 400 wide, their chosen character
3. Warm up: two minutes on their store and their week
4. Run one script: tasks in order, think out loud
5. Debrief: three questions, five minutes
6. Score: pass or fail per signal, same day
7. Share: one line per finding, with a clip or quote

Session plan, 30 minutes:

| Minutes | Part |
|---|---|
| 0 to 2 | Consent and warm up |
| 2 to 4 | The instant understanding test |
| 4 to 24 | One script of five |
| 24 to 29 | Debrief |
| 29 to 30 | Thanks |

Consent line to read: "We are testing the product, not you. You can stop at any time. We record the screen and your voice only to take notes, and delete the recording after the notes are written. Is that all right?"

Moderator rules: do not explain the screen; answer a question with "What would you expect?"; note the first tap and any pause over five seconds; never fix a mistake for them.

Five founders per round is a team choice for speed, not a sourced number. Rotate the character between sessions so no direction is judged on one person.

Open question: whether design partners can be asked to test, and how often. The owner decides.

### The instant understanding test {#d-12.instant-test}

User moment: Someone sees Today for five seconds. Can they tell what it does?

Answer: Show Today for five seconds, hide it, then ask what it does, what you would tap first, and who ships the work.

- Five seconds, then hidden
- Three questions, their words written down
- Pass when they say it in five words

Character line: Fetch: Five seconds. Long enough to sniff it. | Buzz: Five seconds. One waggle. | Scoop: Five seconds. Enough to catch the gist. | Ocho: Five seconds. I can do a lot in five. | Seeti: Five seconds. One whistle.

- Screen t1:monday: Shown for five seconds
- Screen f7:reveal: Then the reveal, five seconds
- Screen p1:open: Then one open pick

- Moderator: I will show you a screen for five seconds. Just look.
- Moderator: What does this app do for you?
- Moderator: What would you tap first?
- Moderator: Who makes the thing in the end?
- Moderator: Say it in five words to a friend.

The goal over everything, from the owner: users instantly understand what we do. The five words test is in book section a-1: a founder should say it in five words, such as "Dog fetches my marketing ideas."

| Step | Screen | Seconds | Question |
|---|---|---|---|
| 1 | t1 Today on Monday | 5 | What does this app do for you? |
| 2 | same, hidden | | What would you tap first? |
| 3 | same, hidden | | Who makes the thing in the end? |
| 4 | f7 Here's your store | 5 | What did it find? |
| 5 | p1 A pick, open | 5 | What is this one asking you to do? |
| 6 | none | | Say it in five words to a friend. |

Score each answer:

| Signal | Pass | Fail |
|---|---|---|
| What it does | Marketing ideas, drafted, for my store, any wording | A dashboard, an analytics tool, an ad buyer |
| First tap | A pick, or Need your yes | The character, a tab at random |
| Who ships it | Me, my team, or the ShopOS team | It posts it for me |
| Five words | Names ideas or marketing and the character | Cannot say it |

Run it with every character. A direction passes when most founders pass all four. The exact share is the owner's call; the sources set none.

### Script 1: the first ten minutes {#d-12.script-first-week}

User moment: A founder has never seen it. They paste their store.

Answer: Watch a new founder go from paste to their first hand off, and find where they pause.

- Paste, sign in, read, pick, make, hand off
- Note every pause over five seconds
- Pass: first hand off without help

Character line: Fetch: First fetch. Let us see if they throw it back. | Buzz: First flight. Watch where they land. | Scoop: First rummage. I watch their face. | Ocho: First week. Eight arms crossed for luck. | Seeti: First batch. Watch them taste.

1. Paste your store: f1
2. Sign in with your work email: f2
3. Watch it read: f4, answer one question
4. Open your picks: t1
5. Open one pick: p1
6. Make it: m1
7. Hand it off: h1, then h2

- Screen f1:empty: Start
- Screen f4:reading: The read
- Screen t1:monday: Today
- Screen h1:who: Hand it off

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Paste | Pastes the address first time | Types a name, stuck on f1 |
| Sign in | Understands why the work email | Leaves, or tries Gmail twice |
| Read | Waits or answers a question | Thinks it is broken |
| First pick | Opens a pick in under a minute | Scrolls without opening |
| Hand off | Picks who ships it without asking | Asks what Hand it off means |

Task wording, read aloud:
1. "Here is the app. Get it to look at your store."
2. "It is asking for an email. Carry on as you would."
3. "While it works, tell me what you think is happening."
4. "It has some ideas for you. Find one you like."
5. "Make that one a little better."
6. "Get it to whoever would put it live."

Watch: f1 a name instead of a link; f2 the work email line; f4 whether they read the source lines; t1 Need your yes versus the picks; m3 the price sheet if the make is paid; h1 the four choices.

Debrief: "What did it do for you? What surprised you? What would you do next Monday?"

Today's build takes about 11 screens and up to 14 decisions before the first card, product-audit.md 2.1. The one product aims for first win in ten minutes, Next. Time it.

### Script 2: a Monday return {#d-12.script-monday}

User moment: A founder comes back on Monday from an email.

Answer: Watch a returning founder answer what needs them, pick, and reach caught up.

- Start from the Monday email
- Answer Need your yes first
- Pass: caught up without hunting

Character line: Fetch: Monday. Five fresh sticks. Go. | Buzz: Monday buzz. Five fresh flowers. | Scoop: Monday dish. Watch them dig in. | Ocho: Monday. Arms full. Watch them clear it. | Seeti: Monday whistles. Watch them eat.

- Screen e1:monday: The Monday email
- Screen t1:monday: Today
- Screen t2:open: Need your yes
- Screen t5:caught: Caught up

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Email | Taps Open this week's picks | Looks for more in the email |
| Need your yes | Answers both, reads what happens either way | Skips it, or asks what yes does |
| Picks | Hearts or drops at least three | Opens See everything first |
| Caught up | Says the week is done | Keeps looking for more |

Task wording:
1. "This email arrived Monday morning. Do what you would do."
2. "Is anything waiting on you? Deal with it."
3. "Go through this week's ideas. Keep the good ones, drop the rest."
4. "Tell me when you think you are done."

Watch: whether the count on the Today tab is noticed; whether Yes and Not now feel safe; whether Undo is found after a wrong tap; whether five feels like enough.

Debrief: "How long would this take you each week? What would make you skip a week?"

### Script 3: make it and hand it off {#d-12.script-make-hand}

User moment: A founder or their marketer takes one pick all the way to someone who ships it.

Answer: Watch someone change a draft, try a paid make, and hand it off, and check they know who got it.

- New version, Versions, back again
- The price sheet before a paid make
- Pass: says correctly who has the brief

Character line: Fetch: Make it, throw it, someone catches it. | Buzz: Make it, pass it to the right hive. | Scoop: Scribble, scribble again, pass the note. | Ocho: Ink it, then free an arm. | Seeti: Cook it, ticket it, out the door.

- Screen m1:studio: Make it
- Screen m4:versions: Versions
- Screen m3:confirm: Paid make
- Screen h2:team: Copied for your team

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Change | Asks for a change in the chat | Looks for an edit menu |
| Versions | Goes back to an older version | Fears the old one is lost |
| Price | Reads the price before Make it | Surprised by a cost |
| Hand off | Says who got it and whether anything was sent | Thinks it was posted |

Task wording:
1. "Open the rain ad and ask for the candle to be in the rain."
2. "Actually, the earlier one was better. Get it back."
3. "Make the six second story version."
4. "Your freelancer, Meera, will put it live. Get it to her."
5. "What happened just now? Who has it?"

Key truth to check: for your team or a freelancer the brief is copied and nothing is sent. For the ShopOS team it really goes by email. product-model.md section 0.

Debrief: "Would you send this to Meera as it is? What is missing?"

### Script 4: the person who ships it {#d-12.script-shipper}

User moment: A freelancer gets a link on WhatsApp. They have never heard of the product.

Answer: Watch the person who ships it open the brief with no login, get the files, and ask for a change.

- Open the brief page on a phone
- Copy all, get the files
- Pass: knows what to make by when

Character line: Fetch: Someone new catches the ball. Let us see. | Buzz: A new bee at the hive. Show them around. | Scoop: Someone new got the note. Watch them read it. | Ocho: New hands on the clipboard. Watch. | Seeti: New cook in the kitchen. Hand over the ticket.

- Screen h3:brief: The brief page
- Screen m1:guest: Make it as a guest

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Brief | Says what to make in their words | Asks what the product is |
| Files | Gets the files and copy in one go | Screenshots instead |
| Status | Reads where it is | Misses the stamp |
| Change | Opens it in Make it as a guest | Messages the founder instead |

Recruit: freelancers or agency people who post for small stores, not founders.

Task wording:
1. "A client sent you this link. Tell me what they want."
2. "Get everything you need to make it."
3. "You want a different photo. Ask for it here."

Watch: whether the numbered brief reads in order; Copy all; the status stamp; Open it in Make it and the sign in it needs; what a guest cannot do: share, approve, assign or discard.

Old link forms must keep working, ia.md section 6. Test one old link if the build has it.

### Script 5: what it knows about you {#d-12.script-store-settings}

User moment: A founder sees a wrong fact about their store and wants it fixed.

Answer: Watch a founder find what the product knows, fix a wrong fact, and check a connection without hunting.

- Your store, then What we know about you
- Fix one fact
- Pass: finds Settings behind the picture

Character line: Fetch: Wrong fact? Show me. I will fetch the right one. | Buzz: Wrong pollen? Swap it. | Scoop: My notes say this. Tell me if I heard wrong. | Ocho: Wrong fact? Hand it here. I have a free arm. | Seeti: Wrong recipe line? Change it.

- Screen y1:store: Your store
- Screen s2:know: What we know about you
- Screen s5:rows: Connections

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Find | Reaches What we know about you in two taps | Looks in Your store rows only |
| Fix | Changes one fact and sees it saved | Unsure it saved |
| Sources | Reads where a fact came from | Ignores the source |
| Connection | Reads the status chip and what read only means | Fears it can spend money |

Task wording:
1. "Look at what the app says about your store. Anything wrong?"
2. "Fix it."
3. "Check whether your ads account is connected, and what that lets the app do."
4. "Get the app to never write about discounts."

Watch: Settings sits behind your picture, top right, ia.md section 1; house rules in What we know about you; the Read only chip.

Debrief: "Do you trust what it knows about you? What would make you trust it more?"

### Script 6: every way in {#d-12.script-onboarding}

User moment: Not everyone starts by pasting a link. Some come from Shopify, some from an invite.

Answer: Watch the three other ways in: a Shopify install, an invited teammate and a founder back after a break, plus the three questions and the reveal.

- Shopify install, invite, return after a break
- Three questions: do answers change the picks?
- Pass: each lands on Today without help

Character line: Fetch: Front door, back door, Shopify door. I sniff them all. | Buzz: Every entrance to the hive, tested. | Scoop: Every way in. I know all the back alleys. | Ocho: Every door. One arm on each handle. | Seeti: Every way into the kitchen. Tested.

1. Shopify install: f1s, then the read
2. Invited teammate: invite email, sign in, Today
3. Back after a break: Today, what changed, first pick
4. Three questions: f4, answer, see picks sharpen
5. The reveal: f7, share or open picks

- Screen f1s:filled: From Shopify
- Screen f4:reading: Question 1 of 3
- Screen f7:reveal: The reveal, Next
- Screen t1:monday: Today

**What to watch**
| Signal | Pass | Fail |
| --- | --- | --- |
| Shopify | Taps Build my feed, reads the time line | Thinks it is installing something else |
| Invite | Knows whose store this is and what to do first | Asks what the app is |
| Questions | Answers or skips and sees why it asked | Feels quizzed |
| Reveal | Says the finding back, wants to share it | Skips it unread |
| Return | Finds this week's picks in under a minute | Hunts for last week's work |

Run this as three short parts, ten minutes each, with three different people.

Part A, Shopify install, a merchant:
1. "You found this in your Shopify apps. Open it."
2. "Get it to look at your store."
Watch: f1s, store filled in; whether the read time line is trusted; the sign in hop inside the Shopify frame, surface-map.md, Opens in a new tab.

Part B, invited teammate, someone who did not set it up:
1. "Your boss invited you. Here is the email. Go."
2. "What should you do first?"
Watch: the invite email, sign in, the welcome toast, Today with Need your yes for them, which areas they handle, s3, Next.

Part C, a founder back after three weeks:
1. "You have not opened this in a few weeks. Catch up."
Watch: no guilt line, no streak shame; whether last week's Handed off work is found in Work; whether the weekly run nudge, Next, feels kind.

In every part, if the read runs, ask the three questions and then: "Did your answers change anything you see?" The answers should visibly sharpen the picks, BRIEF.md 3.5.

Agency onboarding today means one invite per brand; the brand switcher is Later, x3. Test it only when it exists.

## D13 UX checklist {#d-13}

What every screen passes before it ships.

### Before a screen ships {#d-13.checklist}

User moment: You built a screen. Is it ready?

Answer: A screen ships when it passes every line of this checklist, in both themes, at 400 and 1400 wide, with two characters.

- Words, layout, states, patterns
- Trust, accessibility, character
- Each line has its source

Character line: Fetch: Sit. Stay. Check every line. Good screen. | Buzz: Every cell checked before the honey ships. | Scoop: I check everything. Twice. It is my nature. | Ocho: Every box ticked. I have arms for that. | Seeti: Taste every dish before it leaves.

- Do: Plain label on every button
- Do: One main button per screen
- Do: Every state drawn
- Do: Every number sourced
- Do: 4.5 to 1 contrast, 44 px targets
- Do: Character only in its slots
- Never: The old product name anywhere
- Never: Vendor or model names
- Never: Measuring words in v1
- Never: A price on a first button
- Never: Emoji or glyph icons
- Never: A second sheet on a sheet

| Group | Check | Source |
|---|---|---|
| Words | Plain word from the one word set on every control | product-model.md 4 |
| Words | No retired words: jam, card as a user word, moves, plays, Send brief | product-model.md 4 |
| Words | No old name, no vendor names, no measuring words | product-model.md 0 and 8 |
| Words | Writing rules: no dashes as dashes, no exclamations, no parentheses, sentence case | WRITERS.md |
| Layout | One top bar, three tabs, one bottom bar with one main button | ia.md 5 |
| Layout | Phone one column under 600, side peek on laptop | product-model.md 11 |
| States | Empty, waiting, partial, broken, full, done drawn where they apply | d-6 |
| States | Errors never in the empty style | product-model.md 5 |
| Patterns | One sheet, one toast, Undo for reversible | product-model.md 5 |
| Cards | 25 words, headline 8, why 12, one button | product-model.md 10 |
| Trust | Every number with a source chip, To confirm when unsure | product-model.md 10 |
| Trust | Read only said where connections show | product-model.md 0 |
| Trust | Price once on a sheet before anything paid | product-model.md 4 |
| Trust | Hand off says who got it, and that nothing is sent unless it is the ShopOS team | product-model.md 0 |
| Notifications | 60 characters, one thing, opens exactly it | product-model.md 10 |
| Accessibility | Contrast 4.5 to 1 both themes, focus ring, 44 px, alt words, reduced motion | kit-contract.md, kit.css |
| Character | Only in its slots, never on a card, button, decision or brand photo | product-model.md 7 |
| Versions | Next and Later things are not in the product until they ship | product-model.md 5 |
| Sample | Every frame carries the Sample label | ia.md 5 |

### The card check {#d-13.card-check}

User moment: You wrote a pick. Will a founder get it in three seconds?

Answer: A closed card passes when it has five things in 25 words: area and source, the thing, an 8 word headline, a 12 word why, one button.

- Three seconds to get it
- Verb first, product name in the headline
- One idea per card

Character line: Fetch: Short card. I can carry it in my mouth. | Buzz: Short card. Light enough to fly. | Scoop: Short card. Gossip travels better short. | Ocho: Short card. One arm is enough. | Seeti: Short card. One bite.

- Today: About 70 words. Agent name, campaign, rank reason, five icons, a 31 word sub, a make chip, a source line.
- Tomorrow: 19 words. Ads, from your reviews. The draft. Run the Monsoon candle rain ad. 41 reviews mention the smell of rain. Make it.

- Screen t1:monday: Five closed cards
- Screen p1:open: Everything else lives here

From product-model.md section 10:

| Order | Element | Budget |
|---|---|---|
| 1 | Area and source | 5 words |
| 2 | The thing | no words |
| 3 | Headline | 8 words, verb first, product name |
| 4 | Why | 12 words, one number, one source chip |
| 5 | Actions | one button plus heart and Not for me |

Add on: a card lint in the build flags any title over 8 words or why over 12, for the team only.

### How we run the check {#d-13.review-ritual}

User moment: You want the check to take ten minutes, not a meeting.

Answer: Run the lint, two screenshots, a keyboard pass and a five second look before any screen ships.

- Lint first, then eyes
- Two characters, both themes
- The owner gives the last glance

Character line: Fetch: Ten minutes. Then we play. | Buzz: Ten minutes of buzzing round it. | Scoop: Ten minutes of snooping. Then it ships. | Ocho: Ten minutes, eight arms. Done. | Seeti: Ten minutes. Then it leaves the kitchen.

1. Lint: card budgets, banned words, old name
2. Screenshot: 400 and 1400 wide, two characters, dark and light
3. States: force each state with its key, such as m5:broke
4. Keyboard: tab through, Esc out, focus returns
5. Reduced motion: turn it on, nothing moves
6. Five second look: someone new says what it does
7. Owner glance: one look, ship or fix

Tools: the screen kit renders every screen and state by id and key, so a state can be shown without faking data. The book's screenshot script captures any section at a set width, theme and character.

When a check fails, fix the cause in the kit, not one screen, so every character and every brand gets the fix.

# E. UI

How it looks on phone and laptop, down to the last pixel.

## E1 Foundations {#e-1}

Colour, type, space, shape, motion, icons, sound. All live, all switchable.

### Colour {#e-1.colour}

User moment: You open the app at 7 in the morning. Your own candle photos should be the brightest thing on the screen.

Answer: Calm neutrals, one owned colour per character, and the brand's own pictures carry the colour.

- Nine tokens per theme, dark and light
- Hero colour only on the main button, focus and character
- Five area colours, only as small dots

Character line: Fetch: One bright ball per screen. That is the main button. Fetch it. | Buzz: One pollen yellow per screen. The rest stays calm so your photos glow. | Scoop: Tangerine goes on one thing per screen. I keep the rest grey and sneaky. | Ocho: Hot pink on one button. Seven arms keep everything else quiet. | Seeti: Chilli red on one button. Too much chilli ruins the dish.

**The tokens at work on Monday**
- Screen t1: Hero colour on the count, the rings and Make it only
- Screen p1: The draft carries the colour, not the frame

**Product tokens, dark theme**
*Fetch:*
- bg #111410, Page behind everything
- surface #191d17, Cards, sheets, fields
- surface2 #22271f, Quiet buttons, chips, empty pictures
- ink #f3f5ee, All main text
- muted #a7ad9f, Sub lines and meta
- line #2d3329, Hairlines and outlines
- hero #aee32f, Main button, focus, the character. Never a card
- heroInk #16180f, Text on the main button
- focus #c6f05a, Focus ring, 2 px, 2 px away
*Buzz:*
- bg #121110, Page behind everything
- surface #1a1916, Cards, sheets, fields
- surface2 #24221d, Quiet buttons, chips, empty pictures
- ink #f6f3ea, All main text
- muted #aca796, Sub lines and meta
- line #2e2c25, Hairlines and outlines
- hero #ffd60a, Main button, focus, the character. Never a card
- heroInk #17130a, Text on the main button
- focus #ffe14d, Focus ring, 2 px, 2 px away
*Scoop:*
- bg #121215, Page behind everything
- surface #1b1b20, Cards, sheets, fields
- surface2 #25252b, Quiet buttons, chips, empty pictures
- ink #f2efe9, All main text
- muted #aaa7b3, Sub lines and meta
- line #32323a, Hairlines and outlines
- hero #ff7a1a, Main button, focus, the character. Never a card
- heroInk #17171c, Text on the main button
- focus #ff9a4d, Focus ring, 2 px, 2 px away
*Ocho:*
- bg #101218, Page behind everything
- surface #181b22, Cards, sheets, fields
- surface2 #21252e, Quiet buttons, chips, empty pictures
- ink #f4f1f3, All main text
- muted #a9adba, Sub lines and meta
- line #2c303a, Hairlines and outlines
- hero #ff4fa3, Main button, focus, the character. Never a card
- heroInk #1a1218, Text on the main button
- focus #ff7dbb, Focus ring, 2 px, 2 px away
*Seeti:*
- bg #141416, Page behind everything
- surface #1c1d21, Cards, sheets, fields
- surface2 #26272c, Quiet buttons, chips, empty pictures
- ink #f3f1ec, All main text
- muted #a5a8b0, Sub lines and meta
- line #303239, Hairlines and outlines
- hero #ff3d2e, Main button, focus, the character. Never a card
- heroInk #15161a, Text on the main button
- focus #ff6a5e, Focus ring, 2 px, 2 px away
*_:*
- bg #16171a, Page behind everything
- surface #1f2024, Cards, sheets, fields
- surface2 #2a2b30, Quiet buttons, chips, empty pictures
- ink #efede9, All main text
- muted #a9a7a3, Sub lines and meta
- line #33343a, Hairlines and outlines
- hero #ebe7de, Main button, focus, the character. Never a card
- heroInk #16171a, Text on the main button
- focus #ebe7de, Focus ring, 2 px, 2 px away

**Product tokens, light theme**
*Fetch:*
- bg #f6f6f2, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #eeeee8, Quiet buttons, chips, empty pictures
- ink #16180f, All main text
- muted #5a5e54, Sub lines and meta
- line #e0e0d8, Hairlines and outlines
- hero #aee32f, Main button, focus, the character. Never a card
- heroInk #16180f, Text on the main button
- focus #446605, Focus ring, 2 px, 2 px away
*Buzz:*
- bg #f8f7f3, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #efede6, Quiet buttons, chips, empty pictures
- ink #17130a, All main text
- muted #5f5a4b, Sub lines and meta
- line #e3e0d6, Hairlines and outlines
- hero #ffd60a, Main button, focus, the character. Never a card
- heroInk #17130a, Text on the main button
- focus #8a6a00, Focus ring, 2 px, 2 px away
*Scoop:*
- bg #f6f4f0, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #eeebe5, Quiet buttons, chips, empty pictures
- ink #17171c, All main text
- muted #585663, Sub lines and meta
- line #e2ded6, Hairlines and outlines
- hero #ff7a1a, Main button, focus, the character. Never a card
- heroInk #17171c, Text on the main button
- focus #b34a04, Focus ring, 2 px, 2 px away
*Ocho:*
- bg #f7f6f5, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #efedec, Quiet buttons, chips, empty pictures
- ink #1a1218, All main text
- muted #5e5862, Sub lines and meta
- line #e2dedc, Hairlines and outlines
- hero #ff4fa3, Main button, focus, the character. Never a card
- heroInk #1a1218, Text on the main button
- focus #c8146e, Focus ring, 2 px, 2 px away
*Seeti:*
- bg #f7f5f1, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #efece6, Quiet buttons, chips, empty pictures
- ink #15161a, All main text
- muted #5a5d64, Sub lines and meta
- line #e2ddd3, Hairlines and outlines
- hero #ff3d2e, Main button, focus, the character. Never a card
- heroInk #15161a, Text on the main button
- focus #c8261a, Focus ring, 2 px, 2 px away
*_:*
- bg #f2f2ef, Page behind everything
- surface #ffffff, Cards, sheets, fields
- surface2 #e7e7e3, Quiet buttons, chips, empty pictures
- ink #1a1b1e, All main text
- muted #5c5d62, Sub lines and meta
- line #dcdbd6, Hairlines and outlines
- hero #1f2023, Main button, focus, the character. Never a card
- heroInk #f6f5f2, Text on the main button
- focus #1f2023, Focus ring, 2 px, 2 px away

**Fixed by the kit for every character**
- Social posts #2bb39b, Area dot only
- Ads #4a90f0, Area dot only
- Website #f28a3c, Area dot only
- AI search #9a6bf0, Area dot only
- Email and WhatsApp #16a37f, Area dot only
- Warn, dark #e0a24a, To confirm chip, warn hints
- Warn, light #9a5d06, Same job in light
- Good, dark #7fbf8e, Done ticks
- Good, light #2f7a45, Same job in light

Source: each `<dir>/kit-skin.js` for the product, `kit/kit.css` lines 6 to 30 for the kit's own colours, `shared/kit-contract.md` Product tokens.

## The nine tokens

| Token | CSS variable | Job | Rule |
|---|---|---|---|
| bg | `--k-bg` | page | calm neutral, tinted a little toward the character's world |
| surface | `--k-surface` | cards, sheets, fields | one step off bg |
| surface2 | `--k-surface-2` | quiet buttons, chips, picture wells | one more step |
| ink | `--k-ink` | text | 4.5 to 1 or better on bg and surface |
| muted | `--k-muted` | sub lines | 4.5 to 1 or better on bg and surface |
| line | `--k-line` | hairlines | never carries meaning alone |
| hero | `--k-hero` | main button, focus, Today count, story ring outline, the character | never a card background, never an area colour |
| heroInk | `--k-hero-ink` | text on hero | dark ink on every current hero |
| focus | `--k-focus` | focus ring | lighter hero in dark, deeper hero in light, so it passes contrast |

## Values by character

| Token | Fetch dark | Fetch light | Buzz dark | Buzz light |
|---|---|---|---|---|
| bg | #111410 | #f6f6f2 | #121110 | #f8f7f3 |
| surface | #191d17 | #ffffff | #1a1916 | #ffffff |
| surface2 | #22271f | #eeeee8 | #24221d | #efede6 |
| ink | #f3f5ee | #16180f | #f6f3ea | #17130a |
| muted | #a7ad9f | #5a5e54 | #aca796 | #5f5a4b |
| line | #2d3329 | #e0e0d8 | #2e2c25 | #e3e0d6 |
| hero | #aee32f | #aee32f | #ffd60a | #ffd60a |
| heroInk | #16180f | #16180f | #17130a | #17130a |
| focus | #c6f05a | #446605 | #ffe14d | #8a6a00 |

| Token | Scoop dark | Scoop light | Ocho dark | Ocho light | Seeti dark | Seeti light |
|---|---|---|---|---|---|---|
| bg | #121215 | #f6f4f0 | #101218 | #f7f6f5 | #141416 | #f7f5f1 |
| surface | #1b1b20 | #ffffff | #181b22 | #ffffff | #1c1d21 | #ffffff |
| surface2 | #25252b | #eeebe5 | #21252e | #efedec | #26272c | #efece6 |
| ink | #f2efe9 | #17171c | #f4f1f3 | #1a1218 | #f3f1ec | #15161a |
| muted | #aaa7b3 | #585663 | #a9adba | #5e5862 | #a5a8b0 | #5a5d64 |
| line | #32323a | #e2ded6 | #2c303a | #e2dedc | #303239 | #e2ddd3 |
| hero | #ff7a1a | #ff7a1a | #ff4fa3 | #ff4fa3 | #ff3d2e | #ff3d2e |
| heroInk | #17171c | #17171c | #1a1218 | #1a1218 | #15161a | #15161a |
| focus | #ff9a4d | #b34a04 | #ff7dbb | #c8146e | #ff6a5e | #c8261a |

Fetch's tennis ball green #aee32f and Buzz's pollen yellow #ffd60a are light heroes, so both carry near black heroInk. Buzz also sets `charPlate` #fff1b8 in dark, a pale disc behind the bee so its black stripes read on a dark page. The neutral test skin in `kit/neutral-skin.js` stays as the fallback for any missing word.

## Colours the kit mixes for you

| Variable | Made from | Used for |
|---|---|---|
| `--k-hero-soft` | hero at 16 percent | selected chip fill, new dot halo |
| `--k-ink-soft` | ink at 8 percent | pressed rows |
| `--k-scrim` | bg at 62 percent over black at 50 percent | behind sheets and menus |

## Product colour is not book colour

Each `skin.css` holds a louder world for the books, the site and marketing: Fetch's felt plate and coat #fff4dc, Buzz's honey #e9a90c and comb paper #fffaea, Scoop's paper clippings #f3e6cc and fur #8e8f99, Ocho's night sea #0b1020 and sticky note #ffd84a, Seeti's steel #c9ced6, order ticket paper #f6efe2 and blue flame #3d7bff. None of these reach the product. The product stays dark, quiet and photographic, and only the hero crosses over.

## The five area colours

They are today's agent colours, kept so long time users still recognise an area. They appear only as the 12 px area shape before an area name. They are banned as a hero colour, as a card fill and as text colour.

### Type {#e-1.type}

User moment: You read the picks on a bumpy train with one thumb. Every line has to land at arm's length.

Answer: Two families per character and one shared scale of ten sizes, so every character keeps the same rhythm.

- Display face for headlines, body face for everything else
- Ten sizes, from 11.5 to 46 px
- Sentence case always, digits for numbers

Character line: Fetch: Big letters for the good stuff. Small ones for the sniffing notes. | Buzz: Ten sizes, one hive. Every cell the same shape. | Scoop: Headlines in my loud font. The gossip in a calm one. | Ocho: Two fonts. I tried eight. It was a lot. | Seeti: Two fonts. One for shouting the specials, one for the menu.

**The scale on real screens**
- Screen t1: Greet 30, card 21, body 15, meta 12.5
- Screen y1: Title 26, row 16, sub 13.5

**Families by character**
| Character | Display | Body | Book only |
| --- | --- | --- | --- |
| Fetch | Grandstander 500 to 800 | Commissioner 400 to 700 | Shantell Sans for marker notes |
| Buzz | Shrikhand, one weight | Parkinsans 400 to 700 | Playpen Sans for notes |
| Scoop | Gloock, one weight | Schibsted Grotesk 400 to 800 | Kalam for pencil notes |
| Ocho | DynaPuff 600 to 700 | Archivo 400 to 800 | Mali for the sticky note |
| Seeti | Bakbak One, one weight | Anek Latin 400 to 800 | Fragment Mono for order tickets |
| Neutral fallback | Schibsted Grotesk | Schibsted Grotesk | none |

**The kit scale, smallest first**
1. 11.5 micro: tab labels, Sample tag
2. 12.5 meta: status chips, times
3. 13.5 sub: row sub lines, chips
4. 15 body: why lines, chat, buttons
5. 16 row: row titles, fields
6. 18 head: section heads
7. 21 card: pick headline
8. 26 title: page titles
9. 30 greet: Today greeting
10. 46 big: one big number, the reveal

Source: `kit/kit.css` lines 14 to 30, the `fonts` and `fontDisplay` and `fontBody` keys of each `kit-skin.js`, and each `skin.css` for the book only faces.

## The scale

| Variable | Size | Weight | Where |
|---|---|---|---|
| `--t-micro` | 11.5 px | 550 to 600 | tab labels, Sample tag, claim tags |
| `--t-meta` | 12.5 px | 650 | status chips, meta lines |
| `--t-sub` | 13.5 px | 550 | sub lines, chips, mini card why |
| `--t-body` | 15 px | 400 to 650 | body, buttons, chat |
| `--t-row` | 16 px | 600 | row titles, fields, the paste button |
| `--t-head` | 18 px | 700 | section heads like This week's picks |
| `--t-card` | 21 px | 700, display face | pick headline |
| `--t-title` | 26 px | 800, display face | page titles such as Work |
| `--t-greet` | 30 px | 800, display face | Today greeting |
| `--t-big` | 46 px | 800, display face | one big number on a card or the reveal |

Body line height is 1.45. Headlines sit tighter, about 1.15. Font smoothing is antialiased.

## Rules

- Sentence case everywhere, including buttons and tabs.
- Digits for numbers, one number per line: "41 reviews mention the smell of rain."
- The display face never goes below 18 px; under that it turns to mush on a phone. Buzz's Shrikhand is the loudest display face and needs this most.
- At most two families per character in the product, loaded from one Google Fonts link, per the kit contract.
- Book only faces such as Kalam, Mali and Fragment Mono never enter the product.
- No all caps words, no letter spaced labels.

### Space and grid {#e-1.space}

User moment: You scroll Today with a coffee in the other hand. Nothing should feel cramped or lost.

Answer: A 4 px step scale of nine sizes, a 16 px gutter and two frames: a 390 wide phone and a 1280 wide laptop.

- Spacing tokens s1 to s9, 4 to 56 px
- One gutter, 16 px, on every phone screen
- Every tap target 40 px or bigger

Character line: Fetch: Room to wag. Sixteen pixels on each side. | Buzz: Every cell the same size. That is how hives stay tidy. | Scoop: Enough space between picks so nobody reads the wrong gossip. | Ocho: Space between things. Mostly so my arms fit. | Seeti: Leave room on the plate. Crowded food looks cheap.

**The gutter and the bottom bar**
- Screen p1: 16 px gutter, 40 px between sections
- Screen s1: Rows on the same rhythm

**The spacing steps**
1. s1 4 px: icon to label
2. s2 8 px: between buttons
3. s3 12 px: inside rows and chips
4. s4 16 px: the gutter
5. s5 20 px: button side padding
6. s6 24 px: end of a scroll
7. s7 32 px: between groups
8. s8 40 px: between picks
9. s9 56 px: before a new part

Source: `kit/kit.css` lines 14 to 50 and the component rules below them.

## Frames

| Frame | Size | Notes |
|---|---|---|
| Phone | 390 by 844, corner radius 44 | status bar 46, top bar 56, tab bar with 26 px bottom inset |
| Phone, full | 390 wide, content height | for long screens in the book |
| Laptop | 1280 by 800, corner radius 14 | browser bar 40, left rail 236 |

## Fixed heights

| Part | Height |
|---|---|
| Button | 46 |
| Paste button | 54 |
| Yes and Not now | 40 |
| Small button | 36 |
| Field | 48 |
| Chip | 34 |
| Menu item | 44 at least |
| Toast | 52 at least |
| Switch | 28 by 46 |
| Story ring | 64 picture, 66 wide with label |
| Row picture | 44 by 44 |
| Avatar | 32 |

## Rules

- Space comes from the scale only. A value off the scale is a bug.
- One gutter on phone: 16 px. On laptop the gutter grows inside columns, never at the screen edge.
- Tap targets 40 px or more. Icon buttons are 46 round, 36 when small and placed in a row of three.
- The pick closed card puts 40 px between picks so one card reads as one thing.

### Shape and depth {#e-1.shape}

User moment: You want the cards to feel like your photos, not like a spreadsheet.

Answer: Two radii and one shadow per character: 16 to 18 px for big things, 10 or 11 px for small ones.

- Big radius 16 to 18, small 10 or 11
- One shadow, used on frames and sheets only
- Pills for chips, circles for icon buttons

Character line: Fetch: Round corners. Safer for noses. | Buzz: Soft corners, like a hexagon that gave up. | Scoop: Soft edges. Clippings get the torn ones, and only in the book. | Ocho: No sharp corners. I would know. Eight arms. | Seeti: Rounded like a good pot lid. No sharp bits.

**Shapes in use**
- Screen t2: Sheet top corners are radius plus 8
- Screen s5:sheet: Pills, circles and the sheet

**The shape set**
- Radius 16: Picture wells, pick thing, sheets, toasts at 14
- Radius 10: Buttons, fields, row pictures, mini card picture
- Pill: Chips, status, Sample tag, Today count
- Circle: Icon buttons, avatars, story rings
- Sheet: Top corners 24, slides up, max 88 percent tall
- Shadow: 8 px down, 24 px blur, black at 30 to 32 percent in dark, ink at 10 percent in light

Source: the `radius`, `radiusSm` and `shadow` tokens in each `kit-skin.js`, and `kit/kit.css`.

| Token | Fetch | Buzz | Scoop | Ocho | Seeti | Neutral |
|---|---|---|---|---|---|---|
| radius | 18 | 18 | 16 | 16 | 16 | 16 |
| radiusSm | 11 | 10 | 10 | 10 | 10 | 10 |
| shadow, dark | 8 down, 24 blur, black 30 percent | black 32 percent | black 32 percent | black 30 percent | black 32 percent | 10 down, 30 blur, black 34 percent |
| shadow, light | ink 10 percent | ink 10 percent | ink 10 percent | ink 10 percent | ink 10 percent | ink 10 percent |

Fetch and Buzz round a little more, which suits a dog and a bee. Book skins go further: `--radius` 20 for Fetch, Buzz, Scoop and Seeti, 22 for Ocho. That is a book choice only.

## Rules

- Depth is for things that float: the frame, sheets, menus and toasts. Cards are flat on the page, separated by space.
- A border is 1 px of `--k-line`. Never two borders around one thing.
- Pictures are cropped to cover, never letterboxed, with the radius of their well.
- The optional `charPlate` token draws a circle behind a dark character on a dark theme. Buzz uses it in dark, #fff1b8 with a 10 percent pad.

### Motion {#e-1.motion}

User moment: You tap a heart. Something should answer, small and quick, then get out of the way.

Answer: The kit moves in under 0.2 seconds; only the character gets longer moves, and reduced motion turns all of it off.

- Buttons press in 0.12 s, switches in 0.18 s
- Character moves live in the skin, per pose
- Reduced motion stops every animation

Character line: Fetch: One tail wag per heart. Two if you are a very good founder. | Buzz: A tiny waggle, then back to work. | Scoop: I sway while I read. If you ask me to sit still, I sit still. | Ocho: I bob. I wobble. I tie a knot when it breaks. Then I stop. | Seeti: Three toots when it is ready. I breathe the rest of the time.

**Where the character moves**
- Screen f4: Wait pose loops while reading
- Screen h2:team: Celebrate plays once or twice
- Screen m5: Error moves once, then holds

**Character moves, from each kit-skin.js**
| Pose | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Idle | bob, 2.8 s loop | hover, 2.4 s loop | still | bob, 3.2 s loop | breathe, 3.2 s loop |
| Wait | sniff, 1.4 s loop | slow hover, 3.2 s loop | sway, 1.1 s loop | rock, 1.2 s loop | breathe |
| Celebrate | hop, 1 s, once | loop, 0.9 s, once | hop, 0.7 s, twice | hop, 0.95 s, once | toot, 0.26 s, three times |
| Drop | none | waggle, 1.1 s, twice | none | none | none |
| Error | shake, 2.4 s, once | bump, 1.6 s, once | still | knot shake, 2.4 s, once | hop, 0.32 s, once |

Source: the `motion` string in each `kit-skin.js`, and `kit/kit.css` transitions and the reduced motion block at line 564.

## Kit motion

| Thing | Move | Time |
|---|---|---|
| Button press | scale down a touch | 0.12 s ease |
| Switch | knob slides | 0.18 s ease |
| Spinner in a button | one turn | 0.8 s linear loop |
| Sheet | slides up from the bottom | short, ease out |
| Toast | appears, stays 3 s, leaves | one at a time |

## Character motion

Each skin may add CSS scoped to `.k-char` with its own `data-skin`, only inside a `prefers-reduced-motion: no-preference` query. Moves happen at real moments only: reading, a celebration, an error. A celebration plays a fixed number of times and stops. Seeti's three toots match its three whistle sonic logo. Buzz's waggle on a drop is the waggle dance pointing at the best pick.

## Rules

- Under reduced motion every animation and transition in the phone and desk frames is off, from `kit/kit.css` line 564.
- No motion on cards, on the brand's photos or inside the thing being made.
- No looping motion next to a decision. Need your yes stays still.
- Nothing moves just to fill a wait shorter than a second: the spinner in the button is enough.

### Icons and area shapes {#e-1.icons}

User moment: You glance at a pick and want to know which part of your marketing it touches, before reading a word.

Answer: One line icon set of 35 icons on a 24 px grid, plus five small area shapes that keep today's agent colours.

- Drawn for the kit, 1.75 stroke, round ends
- Five area shapes, 12 px, before the area name
- No emoji and no glyphs as icons

Character line: Fetch: Thirty five icons. I chewed none of them. | Buzz: Five little shapes, five flowers. I know which is which. | Scoop: The diamond means AI search. Psst, it is the gossipy one. | Ocho: Thirty five icons. I counted on my arms. Twice. | Seeti: One set of utensils. No mixing drawers.

**Icons and shapes in place**
- Screen t4: Area shapes on every mini card
- Screen s1: Row icons in Settings

**The five area shapes**
- Social posts: Round pebble, #2bb39b
- Ads: Hexagon, #4a90f0
- Website: Rounded square, #f28a3c
- AI search: Diamond, #9a6bf0
- Email and WhatsApp: Tall oval, #16a37f

Source: the `I` icon object and `AREAS` in `kit/screens.js` lines 17 to 70, and C24 and C39 in `shared/surface-map.md` section B.

## The icon set

today, work, store, heart, x, back, right, down, more, plus, mic, image, film, prompter, send, copy, check, download, share, open, refresh, info, clock, user, team, plug, bell, gear, book, grid, lock, out, search, mail. Each is a 24 by 24 view box, stroke `currentColor`, stroke width 1.75, round caps and joins, `aria-hidden` true. Tab icons draw at 24 px, icon button icons at 21 px, chip icons at 11 px.

## Rules

- Every icon button has an accessible name of 3 words or fewer: Heart, Not for me, More.
- The heart fills with the hero colour when on. Nothing else fills.
- Today's glyphs used as icons, a star, a sparkle, an asterisk, a plus sign, a refresh arrow, a tick and a vertical ellipsis, are deleted.
- Area shapes come from today's agent faces. The faces and the agent names go; only the dot stays, per C39.
- The bell icon exists for Settings rows only. There is no bell in the top bar.

### Sound {#e-1.sound}

User moment: You open the app in a meeting. It must not make a noise until you ask it to.

Answer: Six short cues per character, off on your first visit, one switch in Settings.

- logo, heart, ready, handoff, error, caught
- Every cue short, levelled for phone speakers
- Off by default, on with one switch

Character line: Fetch: A small woof when you hand something off. Only if you let me. | Buzz: A short buzz when it is ready. Never in a meeting. | Scoop: A little rustle when the gossip is in. Switched off until you say. | Ocho: A squish for a heart. Off until you flip the switch. | Seeti: Three whistles when your week is ready. Off until you say so.

**The cues for the chosen character**
- Logo (Fetch: dog/snd/logo.mp3 | Buzz: bee/snd/logo.mp3 | Scoop: raccoon/snd/logo.mp3 | Ocho: octopus/snd/logo.mp3 | Seeti: cooker/snd/logo.mp3)
- Heart (Fetch: dog/snd/cue-heart.mp3 | Buzz: bee/snd/cue-heart.mp3 | Scoop: raccoon/snd/cue-heart.mp3 | Ocho: octopus/snd/cue-heart.mp3 | Seeti: cooker/snd/cue-heart.mp3)
- Ready (Fetch: dog/snd/cue-ready.mp3 | Buzz: bee/snd/cue-ready.mp3 | Scoop: raccoon/snd/cue-ready.mp3 | Ocho: octopus/snd/cue-ready.mp3 | Seeti: cooker/snd/cue-ready.mp3)
- Hand off (Fetch: dog/snd/cue-handoff.mp3 | Buzz: bee/snd/cue-handoff.mp3 | Scoop: raccoon/snd/cue-handoff.mp3 | Ocho: octopus/snd/cue-handoff.mp3 | Seeti: cooker/snd/cue-handoff.mp3)
- Error (Fetch: dog/snd/cue-error.mp3 | Buzz: bee/snd/cue-error.mp3 | Scoop: raccoon/snd/cue-error.mp3 | Ocho: octopus/snd/cue-error.mp3 | Seeti: cooker/snd/cue-error.mp3)
- Caught up (Fetch: dog/snd/cue-caught.mp3 | Buzz: bee/snd/cue-caught.mp3 | Scoop: raccoon/snd/cue-caught.mp3 | Ocho: octopus/snd/cue-caught.mp3 | Seeti: cooker/snd/cue-caught.mp3)

**The one switch**
- Screen s6: Sound starts off

Source: the `sounds` key of each `kit-skin.js`, files in `<dir>/snd/`, C49 in `shared/surface-map.md`, and `shared/product-model.md` section 5.

| Cue | Plays when | File |
|---|---|---|
| logo | the app opens for the first time with sound on | `<dir>/snd/logo.mp3` |
| heart | you heart a pick | `cue-heart.mp3` |
| ready | the read finishes, or a make is ready | `cue-ready.mp3` |
| handoff | Hand it off completes | `cue-handoff.mp3` |
| error | something broke on our side | `cue-error.mp3` |
| caught | you clear the week | `cue-caught.mp3` |

Today the app plays sound unless you turn it off, with 8 synthesized and 29 recorded cues. The one product keeps six per character and flips the default to off.

The longer `line-*.mp3` files are spoken lines for the book, the site and marketing. They never play inside the product.

### The character on screen {#e-1.character-slots}

User moment: You like the character. You also need to read your sales numbers without it in the way.

Answer: The character lives in seven slots at fixed sizes and never on a card, a button or your photos.

- Corner 40 to 56 px, reading 120 to 180
- Empty and error 96, celebrate 120
- Below 120 px the small mark replaces the pose

Character line: Fetch: I sit in the corner. I do not sit on your photos. | Buzz: I hover in my spots. Never on your buttons. | Scoop: I peek from the corner. Your cards are your business. | Ocho: Seven spots. I keep my arms off your cards. | Seeti: I stay on my burner. Your plates are yours.

**The poses the kit asks for**
*Fetch:*
- corner (dog/char-mark.svg)
- wait (dog/svg/pose-02.svg)
- celebrate (dog/svg/pose-09.svg)
- error (dog/svg/pose-08.svg)
- empty (dog/svg/pose-10.svg)
- caught up (dog/svg/pose-07.svg)
*Buzz:*
- corner (bee/char-mark.svg)
- wait (bee/svg/pose-reading.svg)
- celebrate (bee/svg/pose-celebrate.svg)
- error (bee/svg/pose-error.svg)
- empty (bee/svg/pose-empty.svg)
- caught up (bee/svg/pose-caught.svg)
*Scoop:*
- corner (raccoon/char-icon.svg)
- wait (raccoon/char-read.svg)
- celebrate (raccoon/char-heart.svg)
- error (raccoon/char-oops.svg)
- empty (raccoon/char-yes.svg)
- caught up (raccoon/char-sleepy.svg)
*Ocho:*
- corner (octopus/char-mark.svg)
- wait (octopus/img/v/pose-02.svg)
- celebrate (octopus/img/v/pose-celebrate.svg)
- error (octopus/img/v/pose-10.svg)
- empty (octopus/img/v/pose-08.svg)
- caught up (octopus/img/v/pose-09.svg)
*Seeti:*
- corner (cooker/svg/icon.svg)
- wait (cooker/svg/pose-02.svg)
- celebrate (cooker/svg/face-proud.svg)
- error (cooker/svg/pose-09.svg)
- empty (cooker/svg/pose-07.svg)
- caught up (cooker/svg/pose-08.svg)

**Slots in use**
- Screen t1: Corner, 44 px
- Screen f4: Reading, large
- Screen t5: Caught up

Source: `shared/product-model.md` section 7, the `art` key in each `kit-skin.js`, and `k.char` in `kit/render.js`.

| Slot | Size | Pose | Screens |
|---|---|---|---|
| Today corner | 40 to 56 | corner | t1, d1 |
| Reading your store | 120 to 180 | wait | f4 |
| The reveal | 160 | reveal or celebrate | f7 |
| Empty states | 96 | empty | w2, f6 |
| Celebrations | 120 | celebrate | h2, t6 small |
| Errors and cap | 96 | error | f3, f5, m5, x1 |
| Brief page sign off | 32 | corner | h3 |
| Monday email sign off | 28 | corner | e1 |

Below the skin's `smallBelow` size, 120 by default, the kit swaps any pose for the corner mark, because a full pose turns to crumbs when tiny.

Never: on buttons, inside the thing being made, on tables of numbers, in Need your yes decisions, over a brand's own photos.

## E2 Components {#e-2}

Every part with its states, a live example and the rules.

### All the parts on one page {#e-2.index}

User moment: You are about to build a screen. You want to know which parts already exist before you draw a new one.

Answer: Today's 78 component families merge into about thirty kit parts, one of each, shared by every screen.

- One top bar, tabs, bottom bar, sheet, menu, toast
- Four button kinds: main, quiet, link, icon
- Each part has states and a word budget

Character line: Fetch: Thirty toys. One of each. No fighting. | Buzz: One cell for each job. That is a hive. | Scoop: I went through 2,886 class names. Most were saying the same thing. | Ocho: Seventy eight families became thirty. I can finally hold them all. | Seeti: One pot per dish. Not twelve pots of rice.

- 2,886 CSS classes today, surface map section B
- 78 component families today, C1 to C78
- 163 button classes today, C21
- 4 button kinds in the kit

- Pick card: Closed card, 25 words, one button
- Mini card: The same card, smaller, for See everything
- Buttons: Main, quiet, link, icon
- Tabs and rail: Three destinations, phone and laptop
- Top bar and back: Brand mark, character corner, your picture
- Bottom bar: One main button
- Sheet: Slides up, one main button, Close
- Menu: Items of 4 words
- Toast: One line, three seconds, Undo
- Waiting: Spinner in the button, or the wait pose
- Empty state: Character, one line, one button
- Error state: What happened, one way out
- Fields: Field and the paste field
- Switch and segments: On, off, one of a few
- Chips and tags: Choice chip, area, source, To confirm, Sample
- Status chip: Idea, In the works, Handed off
- Need your yes row: Question, what happens, Yes, Not now
- Story ring and viewer: Five rings, one fact per frame
- Rows: One row for every list
- Meters: Store health, one fix line
- Versions strip: Takes, current marked
- Chat bubble: You, AI, teammate, system
- Composer and tools: Box, add, talk, send
- Brief blocks: Numbered steps and files
- Your store blocks: Theme rows, rival card
- Paid confirm: Price once
- Connect sheet and row: One status chip per tool
- Stepper and progress: Reading and connect steps only
- Avatar: Photo or initials
- First win bar and greeting: Today header parts

Source: `kit/kit.css`, every `k-` class, and `shared/surface-map.md` section B, C1 to C78.

Surface map verdicts: keep 24 families, merge 43, move 3, delete or unlink 7, later 1. The pages after this one take each kit part in turn: the old families it replaces, its classes, states, a live screen and its content budget.

## Deleted, never rebuilt

| Old family | Why it goes |
|---|---|
| C4 system cards in the feed | each moves to its tab or a character slot |
| C27 side drawer | repeats the open pick |
| C51 logo stickers | not part of the product |
| C53 tooltips | what they said moves into Why this |
| C65 card page | its layers move into the open pick |
| C75 measuring leftovers | come back as How it went in v3 |
| C76 526 classes never named in code | removed after a run time check |
| C74 Pro plan | Later, pricing is parked |

### Pick card {#e-2.pick-card}

User moment: You have three seconds between emails. You want to know if this idea is worth a tap.

Answer: Five things, 25 words at most: area and source, the thing, a headline, one sourced why, one button.

- Picture first, words second
- Headline 8 words, verb first, product named
- Why 12 words with a source chip

Character line: Fetch: One idea per ball. I never drop two at once. | Buzz: Picture, line, fact, button. Then buzz on. | Scoop: Each card says where I heard it. Always. | Ocho: Nineteen words. I used to write seventy. My arms hurt. | Seeti: One dish per plate. Garnish goes in the kitchen.

**The card in its home**
- Screen t1: Five picks on Monday
- Screen t6: Hearted, with the toast

- Fresh: the card as drafted. Make it, heart, Not for me
- New: a dot beside the area line. same
- Hearted: heart filled in hero colour, toast. tap again to undo
- In the works: status chip under the why. opens Make it
- Handed off: status chip with a sub line. opens the brief
- Number card: one big number with its source instead of a picture. same
- Sample: Sample tag on the frame. same, never real

- Today: About 70 words. Agent name and time, campaign line, rank reason, draft label, five icons, a 31 word sub, a make chip, a source line.
- Tomorrow: 19 words. Ads, from your reviews. The draft. Run the Monsoon candle rain ad. 41 reviews mention the smell of rain. Make it.

Replaces C1 card shell, C2 slot kinds, C3 card kinds, C5 card head, C10 make chip, C12 need lines and C50 margin notes, from `shared/surface-map.md`. Budget from `shared/product-model.md` section 10.

## Anatomy and budget

| Order | Part | Class | Budget |
|---|---|---|---|
| 1 | Area and source | `k-pick-head`, `k-area`, `k-area-src` | 5 words |
| 2 | The thing | `k-thing`, or `k-figure` for a number | no words, or one number and its source |
| 3 | Headline | `k-pick-title` | 8 words, verb first, product named |
| 4 | Why | `k-why` with `k-src`, and `k-confirm` when unsure | 12 words, one number |
| 5 | Actions | `k-pick-acts`: Make it, Heart, Not for me | one main button, two icons |

Optional rank number `k-rank` on See everything. The mini card `k-mini` is the same five things at 84 px picture width.

## Rules

- The character never speaks on a card. Cards belong to the brand.
- One idea per card. Two ideas means two cards.
- CTR, ROAS and CPM never on a closed card.
- A card lint flags any headline over 8 words or why over 12, for the team only.

### Buttons {#e-2.buttons}

User moment: You want to know which button does the thing, without reading them all.

Answer: Four kinds: main, quiet, link and icon. One main button per screen, in the hero colour.

- Main is hero, one per view
- Quiet for second choices, link for the rest
- Icon buttons are round and always named

Character line: Fetch: One big ball to chase. The rest are sticks. | Buzz: One bright flower per screen. Land there first. | Scoop: The orange one is the one that matters. Psst. | Ocho: One pink button. I know, I wanted eight. | Seeti: One red knob turns the stove on. Do not touch the others first.

**All four kinds**
- Screen p1: Main in the bottom bar, icons beside it
- Screen t2: Yes is main, Not now is quiet
- Screen s7: Link buttons in rows

- Rest: hero fill for main, surface2 for quiet, underline for link, ring for icon. tap
- Hover: main brightens a touch. laptop only
- Pressed: scales down for 0.12 s. none
- Busy: label stays, spinner inside. wait, short waits only
- Disabled: class is-off, faded, not clickable. fix what is missing
- On: icon button in hero, heart filled. tap to undo
- Done: tick and the done word. none

Replaces C20 action bars, C21 buttons, 163 classes and about 13 main styles, C22 back buttons, C23 icon buttons.

| Kind | Class | Look | Use |
|---|---|---|---|
| Main | `k-btn k-btn--main` | hero fill, heroInk text, 46 high, radius small | the one next step |
| Quiet | `k-btn k-btn--quiet` | surface2 fill, ink text | a second choice: Not now, New version |
| Link | `k-btn k-btn--link` | no fill, underlined | Close, See everything, Versions |
| Icon | `k-btn k-btn--icon` | 46 circle, 1 px line ring | Heart, Not for me, More |
| Small | add `k-btn--sm` | 36 high | inside mini cards and rows |
| Block | add `k-btn--block` | full width | emails, the brief page |

Budget: 3 words. Labels are plain verbs: Make it, Hand it off, Copy all, Try again. A price never sits on a first button; it goes on the paid confirm sheet. Back is one word, Back, with the back arrow.

### Tabs, rail and top bar {#e-2.navigation}

User moment: You want to get anywhere in the app without thinking, on your phone or your laptop.

Answer: Three tabs, Today, Work and Your store: a bottom bar on phone, a left rail on laptop, Settings behind your picture.

- Bottom tabs on phone, rail of 236 px on laptop
- Count on Today for things that need your yes
- Top bar: brand mark, character corner, your picture

Character line: Fetch: Three places to sniff. I never get lost. | Buzz: Three flowers. I visit them in order. | Scoop: Three doors. I know what is behind each one. | Ocho: Three tabs. One arm each. Five arms spare. | Seeti: Three burners. That is the whole stove.

**Phone and laptop**
- Screen t1: Tabs at the bottom, count on Today
- Screen d1: The rail on laptop
- Screen x3: The brand mark opens the switcher, Later

- Tab off: muted icon and label. tap to go
- Tab on: ink icon and label, aria current. tap scrolls to top
- Count: hero pill with a number on Today. opens Need your yes
- Back: arrow and Back in the top bar. returns to where you were

Replaces C37 navigation, five kinds, the floating round button, and C22 back buttons. Classes: `k-top`, `k-mark`, `k-tabs`, `k-tab`, `k-count`, `k-rail`, `k-rail-item`, `k-rail-foot`, `k-back`, `k-top-title`.

| Part | Phone | Laptop |
|---|---|---|
| Destinations | bottom bar of three | left rail of three |
| Settings | your picture, top right | your picture at the rail foot |
| Brand | mark and name, top left | mark at the top of the rail |
| Character | corner, 44 px, Today only | corner beside the greeting |

Budget: tab label 2 words. Count is a number only. No hamburger menu, no fourth tab, no bell. The brand switcher arrives Later, as a caret on the brand mark.

### Sheet {#e-2.sheet}

User moment: You tapped Hand it off. You want one clear question, not a maze of pop ups.

Answer: One sheet slides up with a title, one main button and Close, and nothing ever pops up on top of it.

- Title 6 words, one line, one main button
- Close is a link at the top right
- Scrim behind, tap it to close

Character line: Fetch: One sheet. One question. Then back to the park. | Buzz: Up it slides, one question, down it goes. | Scoop: A sheet is a quick word in your ear. Then it is gone. | Ocho: One sheet at a time. I tried stacking them. Do not. | Seeti: One ticket on the pass at a time.

- Screen h1: Who is shipping this
- Screen m3: The paid confirm
- Screen s5:sheet: Connect a tool

- Open: slides up over a scrim. main button or Close
- Busy: spinner in the main button. wait
- Error: one line above the buttons, what happened. try again or Close
- Done: sheet closes, a toast says what happened. Undo when reversible

Replaces C25, 23 sheet variants and five close patterns, and C26 for anything that was a pop up. Classes: `k-scrim`, `k-sheet`, `k-sheet-head`, `k-sheet-body`, `k-sheet-acts`.

Top corners are radius plus 8, max height 88 percent of the screen. On tablet it comes from the right at half width; on laptop it sits as a centred panel. Budget: title 6 words, one line of body, one main button. Close is always the word Close.

### Menu {#e-2.menu}

User moment: You tap More on a pick. You want three choices, not twelve.

Answer: One menu of short items, 44 px tall each, opened from a More button or the brand mark.

- Item 4 words
- Labels group items, a line separates
- The one on is ticked

Character line: Fetch: A short list of tricks. I know all of them. | Buzz: A few cells, one ticked. | Scoop: A little list. Nothing hiding in it. | Ocho: Four items. Down from sixteen menus. Phew. | Seeti: A short menu. Long menus mean frozen food.

- Screen x3: The brand menu, Later

- Closed: More icon button. tap
- Open: scrim and the list. pick an item, or tap out
- Item on: tick at the end. none

Replaces C26, 16 popovers and menus, and C45 composer menus except the add menu and mentions. Classes: `k-menu`, `k-menu-item`, `k-menu-label`, `k-menu-sep`, `is-on`. Model choice with vendor names is Staff only and never shown to a founder.

### Toast {#e-2.toast}

User moment: You hearted a pick by mistake. You want one tap to take it back.

Answer: One line, three seconds, one at a time, with Undo when the thing can be undone.

- Ink on bg, flipped colours so it reads
- 10 words at most
- Never stacked, never long

Character line: Fetch: Quick bark, then quiet. | Buzz: One buzz. Then gone. | Scoop: A quick whisper. Undo if you did not mean it. | Ocho: One toast. I used to make 317. Sorry. | Seeti: One toot. Then silence.

- Screen t6: More like this are on the way

- Info: one line. none
- Done: one line with a tick. none
- Undo: one line and Undo. Undo within 3 s

Replaces C29: 317 toast calls, 8 long toasts and stacked lesson toasts. Class: `k-toast`, sits 96 px above the bottom on phone, at least 52 high, radius 14. Budget: 10 words. The character may own the words, as in `heartToast`, but never appears in the toast.

### Waiting {#e-2.waiting}

User moment: You tapped Make it. You want to know whether to wait or go do something else.

Answer: Two ways only: a spinner inside the button for short waits, the character's wait pose with one line for long ones.

- Short wait: the button turns busy
- Long wait: wait pose, one line, you can leave
- No skeleton forests, no fake progress

Character line: Fetch: Fetching. You can go, I will bring it back. | Buzz: Buzzing on it. Go, it keeps going. | Scoop: Digging. You do not have to watch me dig. | Ocho: All arms on it. You can leave. I will not. | Seeti: On the stove. Nobody lifts my lid.

- Screen m2: Making version 4
- Screen f4: Reading your store, steps ticking

Replaces C30, 12 loader kinds, and C31 the old b mark loader. Short: `is-busy` on a `k-btn`. Long: `k-wait` with `k-char` in the wait pose and one line, `makingWait` or `readLine`, 10 words at most. The read shows real steps that tick, from `readSources`, seven lines of 8 words. The waiting game is an add on behind its own switch, off by default.

### Empty and error {#e-2.empty-error}

User moment: Something is missing or broken. You want to know which, and what to tap.

Answer: Empty shows the character, one line, one button, while an error says what happened and one way out.

- Empty: 12 words, one button, empty pose
- Error: one sentence, one button, error pose
- Errors on our side say so

Character line: Fetch: Empty bowl. One button fills it. | Buzz: Nothing in the hive yet. One tap starts it. | Scoop: Oops. Tripped over my own tail. Try that again. | Ocho: I tied myself in a knot. Your work is safe. | Seeti: That one boiled over. My fault.

- Screen w2: Empty: nothing in the works yet
- Screen x1: Error: page not found
- Screen m5: Error inside Make it
- Screen f6: Cap reached, empty pose

Replaces C32, 25 empty classes in markup, and C33, 10 errors shown in the empty style.

| | Empty | Error |
|---|---|---|
| Class | `k-empty` | `k-error`, `k-error--page` |
| Character | empty pose, 96 | error pose, 96, small in Make it |
| Words | one line, 12 words | one sentence of what happened, 1 line of why if known |
| Action | one button that fills it | one way out: Try again, Start again, Go to Today |

Money, privacy and apologies are written by people, so the character stays quiet on those.

### Fields, switches and chips {#e-2.fields}

User moment: You paste your store link. You want it to tell you right away if you pasted the wrong thing.

Answer: Two fields, the field and the paste field, one switch, one segmented choice and one chip.

- Field 48 high, label 3 words, hint 6
- Switch 28 by 46, label 3 words
- Chip 34 high, 3 words

Character line: Fetch: Drop the link here. I will sniff it. | Buzz: One box, one link, one buzz. | Scoop: That looks like a name. I need the link, like saanjh.in. | Ocho: Paste it. I will catch it. Probably. | Seeti: Give me your store link. Then step back.

- Screen f1:name: Warn state, a name not a link
- Screen f1:ready: Ready, button on
- Screen s6: Switches
- Screen t4: Area filter chips

- Empty: placeholder yourstore.com. type or paste
- Focus: focus ring. type
- Filled: value, button turns on. go
- Warn: warn border and a hint with what to do. fix it
- Error: one line under the field. fix it
- Switch on: knob right, hero. tap off
- Chip on: hero soft fill. tap off

Replaces C34, 14 fields, C35, 8 toggles, C8, 13 chip classes. Classes: `k-input`, `k-field`, `k-hint`, `k-paste`, `k-switch`, `k-seg`, `k-chip`, `k-chiprow`, `k-chipwrap`. The paste button is 54 high. Hints use the info or clock icon.

### Tags and status chips {#e-2.tags}

User moment: You see a number on a card. You want to know where it came from and whether it is sure.

Answer: Small tags say where, how sure and where it stands: area, source, To confirm, Sample, and the status chip.

- Status: Idea, In the works, Handed off
- Source chip on every number
- To confirm instead of a hedge sentence

Character line: Fetch: Every bone has a tag saying where I dug it up. | Buzz: Every drop of honey says which flower. | Scoop: I always say where I heard it. Gossip with receipts. | Ocho: Every number has a source. I checked with all eight arms. | Seeti: Every dish says where the spice came from.

- Screen w1: Status chips with sub lines
- Screen p1: Source chips in Why this

- Idea: hollow dot. open it
- In the works: half dot. open Make it
- Handed off: full dot and a sub line. open the brief
- Needs something from you: sub line in warn. answer in Need your yes
- Scheduled, Live, How it went: dotted dot, v2 and v3. later
- To confirm: dashed warn chip. check the number
- Sample: dashed pill on the frame. never real

Replaces C9 tags and badges, C11 source lines, C13 twelve status chip kinds, and C39 agent shapes.

| Tag | Class | Budget |
|---|---|---|
| Area | `k-area` | 1 to 3 words, plus the shape |
| Source | `k-src`, `k-src--none` | 3 words |
| To confirm | `k-confirm` | 2 words |
| Sample | `k-sample` | 1 word, on every frame |
| Status | `k-status` with `data-s` idea, works, handed, later | 2 words, sub line 4 words |
| Claim | `k-claim` | Next or Later, a book note, never product UI |

Handed off sub lines: Received, In progress, Needs something from you, Delivered. Scheduled and Live arrive in v2, How it went in v3. The Dummy tag on simulated things in the build stays exactly as it is.

### Need your yes row {#e-2.yes-row}

User moment: Your designer is stuck until you answer. You want to answer in one tap.

Answer: A yes or no question of 10 words, one line on what happens either way, Yes and Not now.

- Shows where it came from
- Both buttons 40 high, side by side
- No character here, it is a decision

Character line: Fetch: Sit. Stay. Yes or not now. Good founder. | Buzz: One flower needs you. Yes or not now. | Scoop: Only you can answer these. I just take notes. | Ocho: One arm up. This one needs your yes. | Seeti: Taste this. Yes, or not now.

- Screen t2: Open
- Screen t2:answered: After Yes, one left

- Waiting: question and two buttons. Yes or Not now
- Answered: row leaves, count drops, Undo toast. Undo
- Later: Not now moves it down until tomorrow. none

Replaces C19, six places with three names. Classes: `k-yes-list`, `k-yes`, `k-yes-from`, `k-yes-q`, `k-yes-what`, `k-yes-acts`. Budget: question 10 words, what happens one line, 2 buttons. The count on the Today tab is the number of open rows.

### Story ring and viewer {#e-2.stories}

User moment: You have one minute in a queue. You tap through what changed this week.

Answer: Five rings, one fact per frame, 8 words over the picture, one button.

- Rings 64 px with a hero outline until seen
- Your week, Reviews, Trends, Rival ads, How to
- Tap to advance, 24 hour life

Character line: Fetch: Five quick sniffs of your week. | Buzz: Five flowers, one sip each. | Scoop: Five rings of fresh gossip. Gone in a day. | Ocho: Five stories. One fact each. I kept it short. | Seeti: Five tasting spoons. One taste each.

- Screen t1: Rings under Need your yes
- Screen t3: One frame

- Unseen: hero ring. tap
- Seen: line ring. tap again
- Loading: spinner ring. wait
- Playing: bars across the top. tap to advance
- Last frame: one button. act or close

Replaces C14 story rings and C15 the story viewer with 32 classes. Classes: `k-rings`, `k-ring`, `k-ring-pic`, `k-ring-label`, `k-story`, `k-story-bars`, `k-story-fact`, `k-story-src`, `k-story-act`. Ring label 2 words. Only stories are called rings; store health uses meters. No autoplay sound.

### Rows, tiles and meters {#e-2.rows}

User moment: You open Settings or Your store. You want a list you can scan with your thumb.

Answer: One row for every list: icon or picture, a 6 word label, a 10 word sub line, one thing at the end.

- Rows in Settings, Work, Your store, connections
- Meters: a number, a bar, one fix line
- Tiles for picking from a grid

Character line: Fetch: Rows like a neat line of bowls. | Buzz: Neat rows, like comb. | Scoop: A theme, a count, a mood. That is all the gossip a row needs. | Ocho: One row style. I had twelve. I let eleven go. | Seeti: One row per order. Neat tickets.

- Screen y1: Meters, then rows
- Screen y2: Theme rows with mood
- Screen s4: Rows with role chips

- Default: label, sub, chevron. open
- Unread: new dot. open
- Danger: row in warn colour. confirm in a sheet
- Off: muted. none
- Tile selected: hero ring and tick. tap off

Replaces C16 health rings, C17 14 tile styles, C18 12 row styles, C47 tables, C48 charts kept as bar list and sparkline, C60, C61, C63 and C68.

| Part | Classes | Budget |
|---|---|---|
| Row | `k-rows`, `k-row`, `k-row-ic`, `k-row-pic`, `k-row-main`, `k-row-t`, `k-row-s`, `k-row-end` | label 6 words, sub 10 words, one action |
| Work row | `k-wrow`, `k-wrow-t`, `k-wrow-m` | title 6 words, who and when |
| Meter | `k-meters`, `k-meter-top`, `k-meter-n`, `k-meter-fix` | label 2 words, fix line 10 words |
| Theme row | `k-theme`, `k-mood--good`, `k-mood--mixed`, `k-mood--sore` | theme 4 words, a count, a mood |
| Rival card | `k-rival`, `k-rival-ad`, `k-rival-days` | 3 stats, public pages only, no names in Scoop's voice |
| Tile | `k-tiles`, `k-tile`, `k-tile-tick` | title 6 words, sub 8 words |

Quotes appear only when real and attributed to their public source.

### Versions, chat and composer {#e-2.make-parts}

User moment: You want the ad brighter. You type it. You want the old one still there.

Answer: Make it has three parts: a versions strip, chat bubbles and one composer with add, talk and send.

- Every version kept, current marked
- Bubbles for you, AI, a teammate, the system
- AI reply 60 words before More

Character line: Fetch: Every throw is kept. Pick your favourite stick. | Buzz: Every batch of honey kept in its own cell. | Scoop: I keep every version. I keep everything, really. | Ocho: Fresh ink. The old one is still in the stack. | Seeti: That draft is undercooked. Another batch?

- Screen m1: Make it on phone
- Screen m4: The versions strip
- Screen d2: Thing left, chat right

- Version current: hero ring and number. none
- Version earlier: tap to go back. one tap
- Making: new cell with spinner. wait or leave
- Bubble sending: faded until sent. none
- Bubble queued: small clock. cancel
- Typing: three dots. none
- Proposal: bubble with Use this. make a version
- Composer busy: send turns to stop. stop

Replaces C42 ten version histories, C43 six chats, C44 seven composers, C45 composer menus, C64 three studios and C70 film board and teleprompter.

| Part | Classes | Budget |
|---|---|---|
| Versions | `k-vers`, `k-ver`, `k-ver-pic`, `k-ver--add`, `k-vergrid`, `k-vercell` | vN plus 3 words |
| Chat | `k-chat`, `k-msg--you`, `k-msg--ai`, `k-msg--mate`, `k-msg--sys`, `k-msg-who`, `k-msg-ver` | AI reply 60 words before More |
| Composer | `k-composer`, `k-tools`, `k-tool` | placeholder 8 words |
| Tools | add a photo or file, talk, film board, teleprompter | tool name 2 words |

Live versions arrive in v2. No branches, no merges.

### Brief blocks and hand off parts {#e-2.brief-parts}

User moment: Your freelancer opens the link on their phone. They need to know exactly what to make.

Answer: The brief is numbered steps under 10 words, the files and Copy all, with a status stamp.

- Section title 4 words, step 10 words
- Status stamp: Received to Delivered
- 32 px character sign off at the bottom

Character line: Fetch: Here is the stick. Here is where to throw it. | Buzz: A tidy note for whoever flies next. | Scoop: Copied. Slip it to whoever ships it. My lips are sealed. | Ocho: Brief copied, link ready. I get an arm back. | Seeti: Order ticket's written. Pass it on.

- Screen h3: The brief page
- Screen h2:shopos: The ShopOS team got it

Replaces C46, ten block sets for four brief formats. Classes: `k-brief`, `k-brief-head`, `k-brief-list`, `k-stamp`, `k-files`, `k-file`, `k-brief-sign`. One brief format instead of four is a Change core risk, listed and done in its own step with old links redirected first.

### Paid confirm and connect sheet {#e-2.money-connect}

User moment: You are about to spend money, or connect your ads account. You want it plain.

Answer: The price shows once, on one confirm sheet, and every tool gets one row and one status chip.

- Paid sheet: price, what happens, Make it, Not now
- Connect: tool name, one status chip, one action
- Every connection is read only

Character line: Fetch: Treats cost money. I always ask first. | Buzz: Honey costs pollen. I show the price once. | Scoop: I only look. I never touch. | Ocho: Price once. Read only. I keep my arms to myself. | Seeti: The bill comes before the food. Once.

- Screen m3: Confirm a paid make
- Screen s5: Connection rows
- Screen s5:sheet: The connect sheet

- Quoting: spinner where the price goes. wait
- Ready: price and one line. Make it or Not now
- No credit: one line, a person handles it. Close
- Not connected: Connect. opens the sheet
- Connected: chip. none
- Needs you, Expiring, Stale: warn chip. reconnect
- Read only: chip. none

Replaces C66 three paid flows and five priced buttons, C67 two connect sheets and 22 connector row classes. Classes: `k-price`, `k-conn`, `k-host`, `k-layer`. A person, never the character, writes anything about money. Vendor and model names never show.

### Greeting, first win bar and avatar {#e-2.header-parts}

User moment: It is Monday. You want to feel the week start, not a dashboard.

Answer: Today opens with a 6 word greeting by the character corner, and on your first week a first win bar of three steps.

- Greeting in the character's words
- First win: Heart one, Make it, Hand it off
- Avatar: photo or initials, 32 px

Character line: Fetch: Morning. Five fresh balls at your feet. | Buzz: Morning. The hive made you five. | Scoop: Morning. Fresh week, fresh pages. | Ocho: Monday. Arms full. Five picks, drafted. | Seeti: Monday. Fresh specials on the pass.

- Screen t1: Greeting and first win bar
- Screen s4: Avatars with role chips

Replaces C55 greeting and C38, 11 avatar styles. Classes: `k-greet`, `k-greet-line`, `k-win`, `k-win-steps`, `k-win-line`, `k-face`, `k-face--sm`, `k-face--lg`, `k-role`, `k-role--invited`. Words come from `greetMonday`, `greetOther` and `firstWin` in each skin, 12 words at most. The first win bar is Next and sits behind its own switch.

### Stepper and progress {#e-2.stepper}

User moment: You are waiting for the read. You want to see it actually moving.

Answer: A stepper only where steps are real: Reading your store and the connect steps.

- Done, now, next
- Step 6 words
- No fake progress bars

Character line: Fetch: Sniff, sniff, sniff. Each tick is a real sniff. | Buzz: Flower by flower. Ticks are real. | Scoop: Each tick is a page I actually read. | Ocho: Each tick is one arm finishing. Real ones. | Seeti: Each tick is one ingredient in the pot.

- Screen f4: Sources ticking
- Screen e2: Received, In progress, Delivered

Replaces C40, ten progress bars, C41, fourteen steppers, and C58 reading screen parts. Classes: `k-steps`, `k-step`, `k-step-dot`, `k-step-sub`, `k-progress`, `k-track`, `is-done`, `is-now`, `is-todo`. The agent roster on the read is deleted.

### Onboarding parts, f1 to f7 {#e-2.onboarding-parts}

User moment: You just pasted your link. For the next four minutes these are the only things you see.

Answer: First run uses six parts, from the paste field to the reveal card, then hands over to the first win bar on Today.

- Seven screens, f1 to f7, one main button each
- Questions play while the read runs
- The reveal shows one finding with its source

Character line: Fetch: Paste, sniff, three quick questions, one big find. Then we play. | Buzz: Link in, hive buzzing, three questions, one golden drop. | Scoop: Pop your link in. For the read, I only look at what is public. | Ocho: Eight arms reading. About 3 to 4 minutes. Three questions while you wait. | Seeti: Give me your link. Three questions while it cooks. Then one taste.

**Every first run screen and state**
- Screen f1: Paste, empty
- Screen f1:name: A name, not a link
- Screen f1:ready: Ready
- Screen f1s: Inside Shopify, store filled in
- Screen f2: Sign in with your work email
- Screen f3: This store is for its own team
- Screen f4: Reading, question 1 of 3
- Screen f5: Read did not finish
- Screen f6: Reads are full this week
- Screen f7: Here's your store, the reveal

**The parts and their states**
- Paste field: empty, a name instead of a link, ready, filled by Shopify. Build my feed turns on only when ready
- Work email field: empty, filled, refused. Continue, or Switch email
- Reading stepper: seven sources ticking: done, now, next. leave, it keeps going
- Finding card: one finding with a source chip, arriving one at a time. read it
- Question tiles: off, on, skipped; 1 of 3. tap tiles, or Skip
- Reveal card: one big finding, 160 px celebrate pose. Share this finding, Open my picks
- First win bar: Heart one, Make it, Hand it off; 0 to 3 done. none, it fills as you go

Source: `kit/screens.js` group first, `shared/ia.md` section 3, C34, C41, C58 and C59 in `shared/surface-map.md`, and `shared/kit-contract.md` words.

## The parts

| Part | Classes | Screen | Budget | Character words |
|---|---|---|---|---|
| Paste field | `k-paste`, `k-input`, `k-hint`, paste button 54 high | f1, f1s | hint 6 words, button 3 words: Build my feed | none, the promise only |
| Work email field | `k-field`, `k-input` | f2 | label 3 words | `signInLine`, small corner |
| Refusal | `k-error` | f3 | one sentence, See demo stores, Switch email | `refusalLine`, error pose |
| Reading stepper | `k-read-hero`, `k-steps`, `k-step` | f4 | 7 source lines of 8 words | `readLine`, `readSources`, wait pose 120 to 180 |
| Finding card | `k-finding` with `k-src` | f4 | 12 words with a source chip | none |
| Question tiles | `k-q`, `k-q-top`, `k-tiles`, `k-tile` | f4 | question 8 words, tile 3 words | `q1Intro`, `q2Intro`, `q3Intro` |
| Read failed | `k-error` | f5 | one sentence, Start again | `readFailed`, error pose |
| Cap reached | `k-empty` | f6 | one line, ask for a design partner read | `capReached`, empty pose |
| Reveal card | `k-reveal`, `k-reveal-n`, `k-reveal-l`, `k-reveal-body` | f7 | one number, one line, source | `revealIntro`, celebrate 160 |
| First win bar | `k-win`, `k-win-steps`, `k-win-line` | t1 | 3 steps of 2 words | `firstWin` heart, make, handoff |

## The three questions

1. Which of these do you handle: the five areas, several allowed. Its answer filters Today and lives later in Settings, s3.
2. What is your next big moment.
3. One thing you never want to post.

Each can be skipped. They play inside f4 while the read runs, so nobody waits on a blank screen.

## Today against tomorrow

Today first run is about 11 screens: a questions offer, five full screen questions, a read done bar, the check page under a clock, setup steps, a ready overlay, a swipe tuner and a welcome card. Tomorrow it is f1, f2, f4 with three questions, f7, then t1 with the first win bar. The old parts leave; their data paths stay. Status: f1 to f6 Today, f7 and the first win bar Next.

The Shopify start screen today says the first read takes about half an hour. f1s uses the same 3 to 4 minute words as f1, after a check.

## E3 Patterns {#e-3}

Components put together: a pick with its why, Make it with chat, the brief.

### A pick with its why {#e-3.pick-why}

User moment: You see an idea and think: why should I believe this one.

Answer: Closed card in three seconds, then the open pick in four layers: the draft, Why this, the plan, Where to post.

- Tap the card, the pick opens over Today
- Why this: three lines, each with a source
- Bottom bar: Make it

Character line: Fetch: I dug it up here, here and here. Good bone. | Buzz: Three flowers this honey came from. All named. | Scoop: Three lines of receipts. Then you decide. | Ocho: Why this, in three lines. One per arm I could spare. | Seeti: Here is the recipe. Three ingredients, all named.

1. Closed card: Today, 25 words
2. Open pick: draft, Versions
3. Why this: 3 sourced lines
4. The plan: 5 steps under 10 words
5. Make it: bottom bar

- Screen t1: Closed
- Screen p1: Open
- Screen p2: The full plan

Source: `shared/product-model.md` section 10, The pick, open. Order never changes. Phone: a full screen sheet over Today. Tablet: a sheet from the right, half width. Laptop: a side peek beside the list, Esc closes. The full plan is one tap away and has Download as PDF.

### Onboarding: paste to first win {#e-3.onboarding}

User moment: You heard about this from a friend. You have ten minutes before your next call.

Answer: Paste, sign in, watch it read with three questions, see one finding, land on Today with a first win bar, with one main button per screen.

- Five steps instead of about eleven screens
- Questions fill the 3 to 4 minute read
- First win: heart, make, hand off

Character line: Fetch: Throw me your link. I bring back your week. | Buzz: One link in. A whole hive of ideas out. | Scoop: Pop your link in. Going through everything people say about you. | Ocho: Paste. Eight arms read. Five picks come out, drafted. | Seeti: Give me your store link. Then step back from the stove.

**The first ten minutes**
1. Paste: f1, or f1s inside Shopify [today]
2. Sign in: f2, work email [today]
3. Reading: f4, three questions inline [today]
4. The reveal: f7, one finding [next]
5. Today: t1 with the first win bar [next]

- Screen f1:ready: Paste
- Screen f2: Sign in
- Screen f4: Reading
- Screen f7: Reveal
- Screen t1: First win bar

**When it goes sideways**
- A name, not a link: f1 warn hint. paste the link
- Store has its own team: f3 refusal. See demo stores, Switch email
- Read stops: f5 error pose. Start again
- Cap reached: f6 empty pose. ask for a design partner read
- You leave mid read: the read keeps going. come back to f7 or Today

Source: `kit/screens.js` KIT_FLOWS First week, `shared/ia.md` section 4, and the parts on e-2 Onboarding parts.

## The pattern

| Step | Screen | One main button | Character |
|---|---|---|---|
| 1 | f1 Paste your store | Build my feed | none, the promise only |
| 1s | f1s inside Shopify | Build my feed, store filled in | none |
| 2 | f2 Sign in | Continue | small corner |
| 3 | f4 Reading your store | none, you can leave | wait pose, large |
| 4 | f7 Here's your store | Open my picks | celebrate, 160 |
| 5 | t1 Today | Make it on a pick | corner, first win bar |

## Rules

- One decision per screen. The three questions can each be skipped.
- The read shows real steps that tick, never a fake bar. It says it looks at public pages.
- The reveal shows one finding with a number and its source. Share this finding is optional.
- The first win bar lives on Today until heart, make and hand off are done, then leaves.
- Invited teammates skip paste and the read: they sign in and land on Today. A guest from a brief link lands in that one Make it only.

Today it is about 11 screens: questions offer, five questions, read done bar, check page under a clock, setup steps, ready overlay, swipe tuner, welcome card. All leave; their data paths stay.

### One next step {#e-3.next-step}

User moment: You are not sure what to do on this screen. You look at the bottom.

Answer: One bottom bar with one main button: Make it on a pick, Hand it off in Make it.

- Same place on every screen
- One hero button per screen
- A price never on the first button

Character line: Fetch: One ball. Bottom of the screen. Always. | Buzz: The bright flower is always at the bottom. | Scoop: Look down. The orange button is the next move. | Ocho: One button at the bottom. My arms point there. | Seeti: One red knob. Bottom of the stove.

1. A pick: Make it
2. Make it: Hand it off
3. Hand it off: Who is shipping this
4. Handed off: brief copied

- Screen p1: Make it
- Screen m1: Hand it off
- Screen h1: Who is shipping this

Replaces at least ten action bars today. Class `k-bar`, main button grows to fill. Same tap, same place: a pick, a Work row and a notification all open the same Make it.

### Make it with chat {#e-3.make-chat}

User moment: You want the Monsoon ad warmer. You do not want to learn a design tool.

Answer: The thing large, chat as the way to change it, every version kept in a strip.

- Phone: thing on top, chat below
- Laptop: thing left, chat right
- Teammates chat in the same thread

Character line: Fetch: Say warmer. I fetch warmer. | Buzz: Tell me more honey. I make more honey. | Scoop: Tell me what you want. I keep every take. | Ocho: Say it. One arm makes it. The old one stays in the stack. | Seeti: Say less salt. Next batch, less salt.

- Screen m1: Phone
- Screen m1:guest: A guest from the brief
- Screen d2: Laptop

1. Ask in chat: or talk
2. Making: wait pose, you can leave
3. New version: current marked
4. Hand it off: bottom bar

Borrowed from Canva and CapCut mobile, and side by side canvas tools on laptop, per `shared/product-model.md` section 11. Paid makes stop at one confirm sheet, m3. A guest sees chat, edits and drafts only: no share, approve, assign or discard.

### Hand it off and the brief {#e-3.hand-off}

User moment: The ad is done. Your designer ships it. You want to pass it on in one tap.

Answer: Who is shipping this offers Me, My team, My agency or freelancer and The ShopOS team, then one brief page anyone can open.

- Me copies the words and opens the place to post
- Team gets a brief copied, ShopOS team gets a number
- Brief page: no login, phone first

Character line: Fetch: Drop it at their feet. Good hand off. | Buzz: Pass the pollen. Next bee flies. | Scoop: Copied. Slip it to whoever ships it. | Ocho: Brief copied. You pass it on. I get an arm back. | Seeti: Order ticket's written. Pass it on.

- Screen h1: Who
- Screen h2:me: Me
- Screen h2:team: My team
- Screen h2:shopos: The ShopOS team
- Screen h3: The brief page

One button, one who sheet over today's three routes. Post to Slack appears under My team when Slack is connected. In v2 Me can also schedule on your accounts after your yes; until then nothing posts.

### Need your yes {#e-3.decide}

User moment: Two people are waiting on you. You want to clear them before lunch.

Answer: Every decision becomes one question with Yes and Not now, at the top of Today and counted on the tab.

- What happens either way, in one line
- Undo toast after Yes
- No character near a decision

Character line: Fetch: Two sits needed. Then treats. | Buzz: Two flowers need you. Quick visit. | Scoop: Only you can answer these. | Ocho: One arm up. This needs your yes. | Seeti: Two plates waiting on the pass.

- Screen t2: Open
- Screen t2:answered: Answered

Approvers live here only. Handed off work that needs something from you also lands here. Laptop: Y and N could answer, open question for testing.

### Waiting, empty, error, undo {#e-3.feedback}

User moment: Something happened, or did not. You want to know which in one look.

Answer: Four feedback patterns: spinner or wait pose, empty with one button, error with one way out, undo toast.

- Undo for anything reversible
- A sheet for anything paid or leaving the product
- No browser confirm boxes

Character line: Fetch: Oops. Dropped it. Throw again. | Buzz: Wrong flower. Back to the hive. | Scoop: Oops. Tripped over my own tail. | Ocho: Ah. Knot. Your work is safe. | Seeti: That one boiled over. My fault.

- Screen m2: Long wait
- Screen w2: Empty
- Screen f5: Error
- Screen t6: Undo

Source: `shared/product-model.md` section 5. Errors never use the empty style. People write anything about money, privacy or apologies.

### A week you can finish {#e-3.caught-up}

User moment: It is Thursday. You want to feel done, not behind.

Answer: Five picks, then caught up: the character signs off until Monday.

- Finite list, no endless scroll
- See everything is there if you want more
- No streaks, no red badges

Character line: Fetch: All fetched. Nap time until Monday. | Buzz: Hive is quiet. Back Monday. | Scoop: That is all the gossip this week. | Ocho: Arms free. New picks Monday. | Seeti: Kitchen's clean. See you Monday.

- Screen t5: Caught up
- Screen t4: See everything

Borrowed from Things 3 Today and Duolingo's one next step, without streak pressure. Caught up is Next.

## E4 Layouts {#e-4}

Phone, tablet, laptop, inside Shopify, in email, the public brief.

### Phone {#e-4.phone}

User moment: Most Mondays you open it on your phone before you open your laptop.

Answer: Phone first: one column, bottom tabs, the pick as a full screen sheet, Make it with the thing on top.

- Under 600 px wide, drawn at 390
- 16 px gutter, 46 px buttons
- Thumb zone holds the bottom bar

Character line: Fetch: Fits in a pocket. Like a tennis ball. | Buzz: Small screen, busy hive. | Scoop: Built for snooping on your phone. | Ocho: One column. One arm can scroll it. | Seeti: Fits on one small stove.

- Screen f1: First run
- Screen t1: Today
- Screen p1: A pick
- Screen m1: Make it

| Part | Phone, under 600 |
|---|---|
| Navigation | bottom tabs, top bar with the character corner |
| Today | one column: greeting, Need your yes, rings, picks |
| A pick | full screen sheet over Today |
| Make it | the thing on top, chat below, Hand it off bar at the bottom |
| First run | one column, one main button per screen |

Source: `shared/product-model.md` section 11, layout by screen size.

### Tablet {#e-4.tablet}

User moment: You plan the week on an iPad on the sofa on Sunday night.

Answer: Tablet keeps bottom tabs, shows two columns of cards, opens a pick as a half width sheet from the right.

- 600 to 1024 px
- Make it side by side in landscape
- No kit screen yet, sketches stand in

Character line: Fetch: Bigger yard. Two rows of balls. | Buzz: Two columns of comb. | Scoop: More room for gossip side by side. | Ocho: Two columns. Four arms each. | Seeti: Two burners at once.

- Portrait: Two columns of picks, bottom tabs.
- Landscape: Make it side by side: thing left, chat right.

| Part | Tablet, 600 to 1024 |
|---|---|
| Navigation | bottom tabs |
| Today | two columns of cards |
| A pick | sheet from the right, half width |
| Make it | side by side when landscape, stacked when portrait |

Open question: the kit has no tablet frame yet. Add one at 820 by 1180 before tablet ships.

### Laptop {#e-4.laptop}

User moment: On Tuesday afternoon you sit down to actually make things.

Answer: Laptop: a left rail of three, picks in a column with Need your yes beside, Make it thing left, chat right.

- Over 1024 px, drawn at 1280 by 800
- Pick opens as a side peek, Esc closes
- J, K, H, X, Enter, M on the keyboard

Character line: Fetch: Big desk. More room to drop ideas. | Buzz: A whole meadow on one screen. | Scoop: Laptop mode. Room for my notepad. | Ocho: Wide screen. All eight arms out. | Seeti: Full kitchen. Every burner on.

- Screen d1: Today on laptop
- Screen d2: Make it on laptop

| Key | Does |
|---|---|
| J and K | move between picks |
| H | heart |
| X | Not for me |
| Enter | open |
| Esc | close |
| M | Make it |

Rail 236 px with Settings at its foot. Source: `shared/product-model.md` section 11.

### Inside Shopify {#e-4.shopify}

User moment: You installed it from the Shopify App Store. You expect it to know your store already.

Answer: Inside the Shopify admin it is the same Paste screen with your store filled in, and the same 3 to 4 minute read words.

- f1s: store filled in, Build my feed
- Same tokens, buttons and error state as the app
- Today it says half an hour; that goes

Character line: Fetch: Already knows your yard. Straight to fetching. | Buzz: Found the hive. Start buzzing. | Scoop: Store already filled in. Saves me a trip down the alley. | Ocho: Store filled in. One less arm needed. | Seeti: Your kitchen is already on the stove.

- In the admin frame: Shopify's own nav left, our screen in the frame.

- Screen f1s: Store filled in

Source: S42 to S48 and F15 in `shared/surface-map.md`, `shared/ia.md` section 2.

| Today | Tomorrow |
|---|---|
| A third start screen, Read my store | f1s, the same Paste screen with the store filled in |
| First read takes about half an hour | 3 to 4 minutes, after a check |
| Inline styled page outside the kit | kit tokens, buttons and error state |

The embedded view follows phone or laptop rules by width. Open question: whether the admin frame needs a slimmer top bar, to test with Shopify's App Bridge rules.

### Email {#e-4.email}

User moment: On Monday at 7 you see your five picks before you even open the app.

Answer: Two emails share one frame: the Monday email, five picks and one button, and the brief status email.

- One button per email
- Small character sign off on Monday only
- Says why you get it and where to stop it

Character line: Fetch: Five balls in your inbox. Come play. | Buzz: Five drops of honey in your inbox. | Scoop: Five pieces of gossip, delivered. | Ocho: Five picks in your inbox. I licked the stamp. Eight times. | Seeti: Five specials on the menu this week.

- Screen e1: Monday email, Next
- Screen e2: Brief status email

- Email layout: One column, picks as rows, one block button.

Classes: `k-mail`, `k-mailhead`, `k-mailfrom`, `k-mail-pick`, `k-mail-slot`, `k-mail-foot`. Subject 8 words from `emailMondaySubject`. Open question: email client rules, such as table layout and web font fallback, to test before e1 ships.

### The public brief {#e-4.brief-page}

User moment: You are the freelancer. Someone sent you a link. You have never heard of this app.

Answer: One read only page, no login, phone first: the brief, the files, Copy all, its status.

- Numbered steps, files, Copy all
- Status stamp, Received to Delivered
- Open it in Make it for a guest

Character line: Fetch: No password. Just the stick and where to throw it. | Buzz: No hive pass needed. Just the note. | Scoop: No login. I hate doors too. | Ocho: No login. Just open it. One arm wave. | Seeti: The ticket. No membership card.

- Screen h3: The brief page

Old brief link forms keep answering and redirect here, so nothing anyone already shared breaks. The character signs off at 32 px only.

## E5 Every screen {#e-5}

All the screens, live in the character you picked.

### First run {#e-5.first}

User moment: You are new. These are your first four minutes.

Answer: First run: Paste, sign in, the read and the reveal. 10 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Paste, sniff, find. Ten tail wags total. | Buzz: Link in, hive humming. | Scoop: Going through everything people say about you. | Ocho: Eight arms reading. About 3 to 4 minutes. | Seeti: Cooking your store. Nobody lifts my lid.

- Screen f1: Paste, empty
- Screen f1:name: A name instead of a link
- Screen f1:ready: Ready
- Screen f1s: Inside Shopify
- Screen f2: Sign in
- Screen f3: Own team only
- Screen f4: Reading
- Screen f5: Read did not finish
- Screen f6: Reads are full
- Screen f7: The reveal, Next

Source: `kit/screens.js`, group `first`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `f1` | Paste, empty |
| `f1:name` | A name instead of a link |
| `f1:ready` | Ready |
| `f1s` | Inside Shopify |
| `f2` | Sign in |
| `f3` | Own team only |
| `f4` | Reading |
| `f5` | Read did not finish |
| `f6` | Reads are full |
| `f7` | The reveal, Next |

### Today {#e-5.today}

User moment: Monday morning. Coffee in hand.

Answer: Today: Need your yes, story rings and five picks. 8 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Five balls at your feet. | Buzz: Five flowers, freshly found. | Scoop: Fresh week, fresh gossip. | Ocho: Arms full. Five picks, drafted. | Seeti: Three whistles. Five specials. Go on, pick.

- Screen t1: Today on Monday
- Screen t2: Need your yes
- Screen t2:answered: Answered
- Screen t3: Story viewer
- Screen t4: See everything
- Screen t4:ads: Filtered to your areas
- Screen t5: Caught up, Next
- Screen t6: A heart

Source: `kit/screens.js`, group `today`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `t1` | Today on Monday |
| `t2` | Need your yes |
| `t2:answered` | Answered |
| `t3` | Story viewer |
| `t4` | See everything |
| `t4:ads` | Filtered to your areas |
| `t5` | Caught up, Next |
| `t6` | A heart |

### A pick {#e-5.pick}

User moment: You tapped a card. Is it worth it.

Answer: A pick: The draft, why this, the plan. 2 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Here is where I dug it up. | Buzz: Here are the flowers it came from. | Scoop: Receipts first. Then you decide. | Ocho: Why this, in three lines. | Seeti: Recipe on the ticket.

- Screen p1: A pick, open
- Screen p2: The full plan

Source: `kit/screens.js`, group `pick`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `p1` | A pick, open |
| `p2` | The full plan |

### Make it {#e-5.make}

User moment: You want the thing made, your way.

Answer: Make it: One place to make every piece. 6 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Throw it back, I fetch a new one. | Buzz: Another batch of honey. | Scoop: I keep every take. | Ocho: Fresh ink. The old one is in the stack. | Seeti: Undercooked. Another batch?

- Screen m1: Make it
- Screen m1:guest: A guest
- Screen m2: Making
- Screen m3: Confirm a paid make
- Screen m4: Versions
- Screen m5: Something broke

Source: `kit/screens.js`, group `make`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `m1` | Make it |
| `m1:guest` | A guest |
| `m2` | Making |
| `m3` | Confirm a paid make |
| `m4` | Versions |
| `m5` | Something broke |

### Hand it off {#e-5.hand}

User moment: It is done. Someone else ships it.

Answer: Hand it off: One button, then who ships it. 5 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Drop it at their feet. | Buzz: Pass the pollen. | Scoop: Slip it to whoever ships it. | Ocho: Brief copied. Arm back. | Seeti: Ticket's written. Pass it on.

- Screen h1: Who is shipping this, Next
- Screen h2:shopos: The ShopOS team got it
- Screen h2:team: Brief copied
- Screen h2:me: You ship it
- Screen h3: Brief page

Source: `kit/screens.js`, group `hand`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `h1` | Who is shipping this, Next |
| `h2:shopos` | The ShopOS team got it |
| `h2:team` | Brief copied |
| `h2:me` | You ship it |
| `h3` | Brief page |

### Work {#e-5.work}

User moment: You want to see what is moving.

Answer: Work: Everything moving, in three columns. 3 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Every ball, where it rolled. | Buzz: The whole hive at work. | Scoop: Who is doing what. I always know. | Ocho: Every arm, accounted for. | Seeti: Every pot on every burner.

- Screen w1: Work
- Screen w1:later: Scheduled, Live, How it went, v2 and v3
- Screen w2: Work, empty

Source: `kit/screens.js`, group `work`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `w1` | Work |
| `w1:later` | Scheduled, Live, How it went, v2 and v3 |
| `w2` | Work, empty |

### Your store {#e-5.store}

User moment: You wonder what customers and rivals say.

Answer: Your store: What the world says about the store. 5 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Sniffed the whole street. | Buzz: Every flower near your hive. | Scoop: Everything everyone says about your store. | Ocho: What the sea says about you. | Seeti: What the neighbours are cooking.

- Screen y1: Your store
- Screen y2: What customers say
- Screen y3: What rivals run
- Screen y4: What AI search says
- Screen y5: The plan

Source: `kit/screens.js`, group `store`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `y1` | Your store |
| `y2` | What customers say |
| `y3` | What rivals run |
| `y4` | What AI search says |
| `y5` | The plan |

### Settings {#e-5.settings}

User moment: You need to change one thing and leave.

Answer: Settings: Behind your picture, top right. 8 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: My collar and tags. | Buzz: The hive rules. | Scoop: What I know. Fix anything wrong. | Ocho: My desk drawers. Tidy, for once. | Seeti: Kitchen rules, on the wall.

- Screen s1: Settings
- Screen s2: What we know about you
- Screen s3: Which of these do you handle, Next
- Screen s4: Team
- Screen s5: Connections
- Screen s5:sheet: Connect sheet
- Screen s6: Notifications and sound
- Screen s7: Account

Source: `kit/screens.js`, group `settings`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `s1` | Settings |
| `s2` | What we know about you |
| `s3` | Which of these do you handle, Next |
| `s4` | Team |
| `s5` | Connections |
| `s5:sheet` | Connect sheet |
| `s6` | Notifications and sound |
| `s7` | Account |

### System and email {#e-5.system}

User moment: Something odd happened, or you are in your inbox.

Answer: System and email: Errors, offline, brands, and the two emails. 5 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Lost the ball. Here is the way back. | Buzz: Flew into a window. One way out. | Scoop: Wrong alley. Back to Today. | Ocho: Knot. One way out. | Seeti: Power cut. Try again.

- Screen x1: Error page
- Screen x2: Offline
- Screen x3: Brand switcher, Later
- Screen e1: Monday email, Next
- Screen e2: Brief status email

Source: `kit/screens.js`, group `system`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `x1` | Error page |
| `x2` | Offline |
| `x3` | Brand switcher, Later |
| `e1` | Monday email, Next |
| `e2` | Brief status email |

### Desktop {#e-5.desktop}

User moment: You are at your laptop.

Answer: Desktop: The rail and the two pane Make it. 2 live frames, in the character you picked.

- Ids are stable, open any with id or id and state
- Every frame carries the Sample tag
- Switch character at the top to re dress them

Character line: Fetch: Big yard mode. | Buzz: Wide meadow. | Scoop: Notepad open, full desk. | Ocho: All eight arms out. | Seeti: Every burner lit.

- Screen d1: Today on desktop
- Screen d2: Make it on desktop

Source: `kit/screens.js`, group `desktop`, and `shared/ia.md` section 3.

| Id | Caption |
|---|---|
| `d1` | Today on desktop |
| `d2` | Make it on desktop |

### The screens in order {#e-5.flows}

User moment: You want to see every screen of one journey, in order.

Answer: Nine flows string the 45 screens together: First week, Monday, a specialist, the shipper, an approver, an agency, connect a tool, something goes wrong, the cap.

- First week runs f1 to t5
- Monday starts in the inbox
- Errors have their own flow

Character line: Fetch: Walkies. The whole route. | Buzz: The full flight path. | Scoop: The whole trail, start to finish. | Ocho: Every arm in order. | Seeti: The full menu, course by course.

**First week**
- Screen f1:ready: Paste
- Screen f2: Sign in
- Screen f4: Read
- Screen f7: Reveal
- Screen t1: Today
- Screen p1: Pick
- Screen m1: Make it
- Screen h1: Hand off
- Screen h2:team: Handed off
- Screen t5: Caught up

**Something goes wrong**
- Screen f5: Read
- Screen m5: Make it
- Screen x1: Not found
- Screen x2: Offline

| Flow | Screens |
|---|---|
| First week | f1 ready, f2, f4, f7, t1, p1, m1, h1, h2, t5 |
| Monday | e1, t1, t2, p1, m1, h1, h2, t5 |
| A specialist | t4 ads, p1, m1, h1 |
| The person who ships it | h3, m1 guest |
| An approver | t2, t2 answered |
| Agency with several brands | x3, t1 |
| Connect a tool | s5, s5 sheet, s5 |
| Something goes wrong | f5, m5, x1, x2 |
| The cap | f6 |

Source: KIT_FLOWS in `kit/screens.js`.

## E6 Options we considered {#e-6}

Navigation, layouts and card shapes side by side, with our pick.

### Navigation {#e-6.nav-options}

User moment: You open the app with one thumb. Where do you go.

Answer: We picked three bottom tabs: the fewest places that cover deciding, making and knowing your store.

- Same three on phone and laptop
- No hamburger, no floating button
- Settings behind your picture

Character line: Fetch: Three paths in the park. I tried five. Got dizzy. | Buzz: Three flowers. Easy flight. | Scoop: Three doors. Fewer places to hide things. | Ocho: I wanted eight tabs. Three won. | Seeti: Three burners. Enough.

- Three bottom tabs (our pick): Today, Work, Your store.. Good: Always in the same place, Each tab matches a job: decide, make, know, One thumb reach. Bad: Settings one tap deeper
- Hamburger menu: Everything behind three lines.. Good: Room for many places. Bad: You forget what is there, Two taps to anywhere
- Five tabs by area: Social, Ads, Website, AI search, Email.. Good: Specialists land on their area. Bad: A founder handles all five, Splits one week into five lists
- One feed and a round button: What ships today.. Good: Nothing to learn. Bad: Work and store hide in the feed, The round button covers cards

Our pick follows `shared/ia.md` section 1 and C37. Area filtering lives in See everything and in Which of these do you handle, so specialists still land on their part.

### Today {#e-6.today-options}

User moment: Monday morning. You want to know what to do this week, then get on with it.

Answer: We picked Need your yes, then five finite picks: a list you can finish.

- Decisions first, because people wait on them
- Five picks, ranked, each drafted
- See everything for the rest

Character line: Fetch: Five balls, not fifty. My mouth is only so big. | Buzz: Five flowers. Then rest. | Scoop: Five pieces of gossip beats a firehose. | Ocho: Five. Not infinite. I checked my arms. | Seeti: Five specials. Not a buffet.

- Yes, then five picks (our pick): Finite, ranked, drafted.. Good: You can finish it, Blocked teammates come first. Bad: Fewer ideas on view
- Endless ranked feed: What ships today.. Good: Always more. Bad: Never done, Decisions sink under ideas
- Deck by area: Columns per area.. Good: Easy for specialists. Bad: Repeats Today by area, Hard on a phone
- Swipe one at a time: Like the old tuner.. Good: Fun once. Bad: Slow for five, Hides the ranking

Borrowed from Things 3 Today and Duolingo home, per `shared/product-model.md` section 11. The Deck and the swipe tuner are removed in `shared/ia.md` section 6.

### Make it {#e-6.make-options}

User moment: You want the ad changed. You are not a designer.

Answer: We picked the thing large with chat beside it, one Make it for every kind of piece.

- Say what you want, get a version
- Every version kept
- One Make it instead of three

Character line: Fetch: Bark the change. I fetch it. | Buzz: Hum it. I make it. | Scoop: Whisper it. I make it happen. | Ocho: Tell one arm. It makes it. | Seeti: Shout the order. I cook it.

- Thing and chat (our pick): Thing on top or left, chat below or right.. Good: No tool to learn, Teammates in the same thread. Bad: Fine pixel edits need a designer
- Form wizard: Fields, steps, generate.. Good: Predictable. Bad: Many decisions before you see anything
- Template gallery first: Pick a look, then fill it.. Good: Pretty fast. Bad: Drops the draft we already made
- Three studios: What ships today: jam pane, Jam v2, studio.. Good: None for the user. Bad: Which one am I in, 16 ways in

The gallery survives as a set up sheet inside Make it, C77. The jam pane and Jam v2 leave, `shared/ia.md` section 6.

### Work {#e-6.work-options}

User moment: Your in house marketer wants to see what is moving and who is stuck.

Answer: We picked three status columns, Ideas, In the works, Handed off, with New since you looked on top.

- Rows say who and when
- Later columns arrive in v2 and v3
- Replaces the bell, the Library and Saved

Character line: Fetch: Three piles of sticks. Sorted. | Buzz: Three rows of comb. | Scoop: Who has what. All on one board. | Ocho: Three columns. Every arm visible. | Seeti: Prep, on the stove, served.

- Three status columns (our pick): Grouped list on phone, board on laptop.. Good: One place for everything moving, Same words as the status chips. Bad: No dates view
- Calendar: Work by day.. Good: Good once things are scheduled. Bad: Empty until v2 schedules
- Bell and inbox: Notifications as the home.. Good: Familiar. Bad: Repeats Work, Grows forever
- Library tabs: Saved, Jams, Done.. Good: Archive feel. Bad: Three lists of the same things

Borrowed from Linear lists and boards. A calendar view is an open question for v2, when Scheduled exists.

### The brief {#e-6.brief-options}

User moment: You are the freelancer opening a link between two other jobs.

Answer: We picked one numbered page with no login, phone first.

- Copy all in one tap
- Status stamp the sender can see
- Old links redirect here

Character line: Fetch: One stick, one note, no gate. | Buzz: One note, any bee can read it. | Scoop: No login. Doors are for amateurs. | Ocho: One page. Not four. Four was a lot. | Seeti: One ticket. Readable from the pass.

- One public page (our pick): Numbered steps, files, Copy all.. Good: Opens anywhere, The shipper needs nothing new. Bad: Anyone with the link can read it
- PDF attachment: A file to download.. Good: Works offline. Bad: Goes stale, No status
- Inside the app: Login to see it.. Good: Private. Bad: A freelancer has to sign up
- Four formats: What ships today.. Good: None. Bad: Which link is current

One format instead of four is a Change core risk, done in its own step. The full plan keeps Download as PDF.

### Card shapes {#e-6.card-options}

User moment: You scroll past a card in three seconds. Did it land.

Answer: We picked picture first, 25 words: area and source, the thing, headline, why, one button.

- The brand's picture carries the colour
- A number replaces a missing picture
- Every extra moves into the open pick

Character line: Fetch: Show me the ball first. Talk later. | Buzz: Flower first, then the buzz. | Scoop: Photo first. The gossip is one line. | Ocho: One picture beats seventy words. I wrote the seventy. | Seeti: Plate first. Menu second.

- Picture first (our pick): 19 to 25 words.. Good: Lands in one glance, Your products front and centre. Bad: Detail is one tap away
- Text heavy: What ships today, about 70 words.. Good: Everything visible. Bad: Nobody reads it, Twelve parts fight
- Square tiles: Grid of tiles.. Good: Dense. Bad: No room for why
- Chart cards: Numbers and charts.. Good: Feels serious. Bad: Stats on the card, Not an idea to act on

Source: `shared/product-model.md` section 10. Borrowed from App Store Today cards.

### Feed density {#e-6.density-options}

User moment: You want to see enough to choose, and not so much you freeze.

Answer: We picked full cards on Today and the same card smaller in See everything; laptop shows picks in a column with Need your yes beside.

- Two picks per phone screen
- Mini cards for the long list
- No grid of nine on phone

Character line: Fetch: Two balls per screen. I can carry two. | Buzz: Two flowers per glance. | Scoop: Two pieces of gossip at a time. Any more is noise. | Ocho: Big for five, small for the rest. | Seeti: Big plates for specials. Small plates for sides.

- Full cards on Today (our pick): Two per screen, 40 px apart.. Good: Each idea gets its moment. Bad: More scrolling
- Mini list: Used in See everything.. Good: Scan fifty quickly. Bad: Too small for the five that matter
- Grid of nine: Pictures only.. Good: Pretty. Bad: No why, no button
- Laptop column: Used on laptop.. Good: Decisions beside picks. Bad: Needs the width

Mini card is `k-mini`, 84 px picture. Laptop is d1.

## E7 Theming {#e-7}

How a character dresses the product, and what it must provide.

### What a character provides {#e-7.skin-contract}

User moment: You are adding a new character. You want to know exactly what to hand over.

Answer: A character gives one file, kit-skin.js: tokens, fonts, art, words and sounds. Nothing else may differ.

- 9 tokens plus fonts, radius, shadow, per theme
- Poses: corner, idle, wait, celebrate, error, empty, caught
- 34 word slots, 12 words each

Character line: Fetch: I bring my collar, my bark and my ball. The house stays the same. | Buzz: I bring my stripes and my buzz. Same hive. | Scoop: I bring my mask and my notepad. The rooms stay put. | Ocho: I bring pink and eight arms. Same desk. | Seeti: I bring my whistle. Same kitchen.

- Fetch: Tennis ball green #aee32f, Grandstander and Commissioner
- Buzz: Pollen yellow #ffd60a, Shrikhand and Parkinsans
- Scoop: Tangerine #ff7a1a, Gloock and Schibsted Grotesk
- Ocho: Hot pink #ff4fa3, DynaPuff and Archivo
- Seeti: Chilli red #ff3d2e, Bakbak One and Anek Latin

**The same screen, dressed by the character you picked**
- Screen t1: Today
- Screen f4: Reading

Source: `shared/kit-contract.md`.

| Key | What | Rule |
|---|---|---|
| id, name, title | the skin's id and character name | id matches the folder |
| fonts | one Google Fonts link | two families at most |
| tokens.dark, tokens.light | bg, surface, surface2, ink, muted, line, hero, heroInk, focus, fontDisplay, fontBody, radius, radiusSm, shadow, optional charPlate and charPad | 4.5 to 1 for ink and muted; no area colour as hero |
| art | corner, idle, wait, celebrate, error, empty, caught, optional hide and extras, optional smallBelow | traced SVGs of one character |
| motion | CSS scoped to its `.k-char` | inside a no preference motion query |
| words | greetMonday to briefSignoff, see kit contract | 12 words each, readSources 8 words each |
| sounds | logo, heart, ready, handoff, error, caught | short, levelled |

Plain labels on buttons, tabs and cards are fixed by the kit and identical for every character.

### Product skin and book skin {#e-7.product-vs-book}

User moment: You love the character's loud world on the website. Then the app looks calm. Is that a bug.

Answer: Two skins on purpose: the book skin is loud, the product skin is calm and lets your photos lead.

- skin.css dresses books, site and marketing
- kit-skin.js dresses the product
- Only the hero colour and character cross over

Character line: Fetch: Party collar outside. House collar inside. | Buzz: Bright stripes in the meadow. Quiet in the hive. | Scoop: Clippings and tape in the book. Clean desk in the app. | Ocho: Night sea in the book. Calm water in the app. | Seeti: Big kitchen show on the site. Clean plates in the app.

- Today: Book skin, skin.css. Fetch: Felt plate behind Fetch, ball seam dividers, Shantell Sans notes, radius 20. | Buzz: Comb paper, honey jar labels, waggle trail dividers, Playpen Sans notes, radius 20. | Scoop: Paper clippings, tape, tail stripe dividers, Kalam pencil notes, radius 20. | Ocho: Night sea #0b1020, sticky notes, bubbles, Mali on the sticky note, radius 22. | Seeti: Tile grid, order tickets in Fragment Mono, steel, radius 20.
- Tomorrow: Product skin, kit-skin.js. Calm neutrals, two families, radius 16 and 10, hero only on the main button, focus and character.

Source: the header comments of each `kit-skin.js` and `skin.css`, and `shared/kit-contract.md` Product tokens: the product's look is dark, quiet and photographic.

### Light and dark {#e-7.themes}

User moment: You check sales in bed at night, and plan in a bright café by day.

Answer: Every character ships both themes with the same nine tokens; Account in Settings picks light, dark or system.

- Focus colour deepens in light to pass contrast
- Warn and good shift per theme
- Book theme switcher matches the product

Character line: Fetch: Night walk or day walk. Same dog. | Buzz: Day buzz, night hum. | Scoop: I prefer the night. I do both. | Ocho: Deep sea or shallow. Same pink. | Seeti: Day shift or night shift. Same stove.

- Screen s7: Theme in Account

Each frame carries `data-theme` and its own token variables, so light and dark can sit side by side. Theme toggle C52 moves from the top bar to a Settings row.

### Adding a character {#e-7.new-character}

User moment: A sixth character is pitched. What has to happen before it appears on the switcher.

Answer: A new character takes five steps, and joins the switcher only once its kit-skin.js exists.

- Write the file to the contract
- Check contrast in both themes
- Draw every screen and look at it

Character line: Fetch: New friend. I will share the ball. Probably. | Buzz: Room in the hive for one more. | Scoop: Room for one more on the bin. | Ocho: One more friend. More arms. | Seeti: One more cook. Still my kitchen.

1. Tokens: nine per theme, contrast 4.5 to 1
2. Art: seven poses, traced, same character
3. Words: 34 slots, 12 words each
4. Sounds: six short cues
5. Look: all 45 screens, both themes, 390 and 1280

book.html loads `<dir>/kit-skin.js` for every cast member and removes any without one from the switcher. Fetch and Buzz were the last two to land: each has `kit-skin.js`, `skin.css`, poses in `svg/` and cues in `snd/`.

## E8 Design to code {#e-8}

Kit classes, tokens and screen ids, so build matches design.

### The kit files {#e-8.files}

User moment: You are the engineer. You want to know where the truth lives.

Answer: Four files: kit.css for parts, screens.js for the 45 screens, render.js to draw them, kit-skin.js per character.

- Prefix k for every product class
- Tokens become --k variables
- Screens drawn by id and state

Character line: Fetch: Four bowls. Know which is which. | Buzz: Four cells of honey. | Scoop: Four files. I read them all. Twice. | Ocho: Four files. One arm each. | Seeti: Four pots on the stove.

- _kit
  - kit.css
    - tokens, scale, frames, every k class
  - screens.js
    - 45 screens, 54 states, KIT_GROUPS, KIT_FLOWS
  - render.js
    - Kit.frame, Kit.find, Kit.applyRoot, Kit.skins
  - neutral-skin.js
    - fallback skin and words
- <dir>
  - kit-skin.js
    - the product skin
  - skin.css
    - the book skin
  - snd
    - cues and lines

Source: `kit/render.js`.

```
Kit.find with "t2:answered" returns the screen and its state
Kit.frame draws one phone, or a 1280 desk frame for d1 and d2
Kit.applyRoot puts a skin's variables on the page root
Kit.vars turns tokens into variables: surface2 becomes --k-surface-2, heroInk becomes --k-hero-ink
```

A state's draw gets `k`: `k.w` for the character's words with neutral fallback, `k.char` for art at a size, which swaps to the corner mark under smallBelow.

### Old classes to kit classes {#e-8.class-map}

User moment: You are moving today's code to the kit. You need the rename list.

Answer: Every old family maps to one k class; the surface map C ids are the checklist.

- Merge before restyle
- Keep data and engines
- Delete 526 dead classes after a run check

Character line: Fetch: Old toys into one box. | Buzz: Old cells, new comb. | Scoop: I know where every old name went. | Ocho: Old names, new drawers. | Seeti: Old pots, one shelf.

- card, postCard becomes `k-pick`. C1
- btn-primary and 12 more becomes `k-btn--main`. C21
- btn-ghost, cxb-gh, j2-ghost becomes `k-btn--quiet`. C21
- icon-btn becomes `k-btn--icon`. C23
- modal and 23 sheets becomes `k-sheet`. C25
- pop and 15 popovers becomes `k-menu`. C26
- toast, toast-long, plainToast becomes `k-toast`. C29
- spin, loader, sk becomes `is-busy`, `k-wait`. C30
- empty and 24 more becomes `k-empty`. C32
- live-pill and 11 status kinds becomes `k-status`. C13
- chip and 12 chips becomes `k-chip`. C8
- stories, story, ring becomes `k-rings`, `k-ring`. C14
- hc rings becomes `k-meters`. C16
- rail, tabbar, topbar, fab becomes `k-rail`, `k-tabs`, `k-top`. C37
- st, j2, cv, jm studios becomes `k-d2`, `k-chat`, `k-composer`. C64
- tbm, jb, bf, dt briefs becomes `k-brief`. C46
- fn, ph paid flows becomes `k-price` in `k-sheet`. C66
- cxb, cx-sheet, cn becomes `k-conn`. C67

Full list: `shared/surface-map.md` section B, columns Becomes and Keep, merge or delete. Change types: Restyle and Recompose touch no generation, ranking, brief format or share link; those are Change core and listed as risks.

### Adding a screen {#e-8.add-screen}

User moment: A new feature needs a screen. You want it to look like it was always there.

Answer: Add it to screens.js with an id, a group and every state, build it from existing k parts, then check it in every skin.

- No new colour, size or space
- Character only in a named slot
- Sample tag and sample store

Character line: Fetch: New room, same house rules. | Buzz: New cell, same hexagon. | Scoop: New page. Same notepad. | Ocho: New arm. Same octopus. | Seeti: New dish. Same kitchen.

1. Id and group: stable id, one of the ten groups
2. States: every state named, empty and error too
3. Parts: only k classes
4. Words: plain labels in the screen, character words through k.w
5. Check: three skins, two themes, 390 and 1280

Each entry: id, name, group, tag Today Next or Later, note, slot, states with key, label and draw. Desktop screens set desktop true. Immersive screens set immersive true.

## E9 UI checklist {#e-9}

What every screen passes visually.

### Every screen passes {#e-9.checklist}

User moment: You are about to ship a screen. You want one list to check it against.

Answer: Twelve checks before any screen ships, in every skin and both themes.

- Tokens only, kit scale only
- One main button, budgets kept
- Contrast, focus, reduced motion

Character line: Fetch: Twelve sniffs before it leaves the house. | Buzz: Twelve checks per cell. | Scoop: Twelve things I look for. I always look. | Ocho: Twelve checks. Eight arms. I borrowed four. | Seeti: Twelve checks before it leaves the pass.

1. Tokens: no raw colour, size or space
2. One main button: in the hero colour
3. Budgets: card 25 words, headline 8, why 12
4. Sources: every number has a source chip or To confirm
5. Character: only in its slot, at its size
6. Contrast: 4.5 to 1 for ink and muted
7. Focus: visible 2 px ring in focus colour
8. Targets: 40 px or more
9. Motion: off under reduced motion
10. Themes: light and dark both checked
11. Widths: 390 phone and 1280 laptop
12. Sample: Sample tag on invented figures

- Do: Let the brand's photos carry the colour
- Do: Use the empty pose for empty, the error pose for errors
- Do: Say what happened and one way out
- Do: Use status words: Idea, In the works, Handed off
- Never: Hero colour on a card
- Never: Area colours as text or fills
- Never: A price on a first button
- Never: Vendor or model names
- Never: Emoji or glyph icons
- Never: A pop up on a sheet

Sources: `shared/ia.md` section 5, `shared/kit-contract.md`, `shared/product-model.md` sections 5, 7 and 10.

- [ ] Only kit tokens and the kit scale
- [ ] One main button, in the bottom bar where there is one
- [ ] Card budgets: 25 words closed, headline 8, why 12
- [ ] Every number sourced, unsure numbers carry To confirm
- [ ] Character only in its named slot and size, never on cards, buttons, photos or decisions
- [ ] Ink and muted at 4.5 to 1 on bg and surface, both themes
- [ ] Visible focus ring
- [ ] Tap targets 40 px or more, icon buttons named
- [ ] Reduced motion stops all animation
- [ ] Light and dark
- [ ] 390 wide phone and 1280 wide laptop, no sideways scroll
- [ ] Sample tag on every frame with invented data
- [ ] Sentence case, no emoji, no dashes as punctuation, no exclamation marks
- [ ] First run screens: one decision per screen, the read time says 3 to 4 minutes

# F. Brand

The characters, their world, and how the brand behaves.

## F1 The cast {#f-1}

Fetch, Buzz, Scoop, Ocho and Seeti, side by side. How to choose.

### Meet the five {#f-1.meet}

User moment: You have to pick a face for your product and you have never met any of them.

Answer: Five characters audition for one product, each saying the same promise on the same screens in its own voice.

- A dog, a bee, a raccoon, an octopus, a cooker
- Each owns one colour, one sound, one running joke
- One gets picked, the other four are archived

Character line: Fetch: Pick me. I will bring the ball back. Every time. | Buzz: Pick me. I already flew round the other four. | Scoop: Psst. I read all five books. Mine has the best gossip. | Ocho: Pick me. I can hold the other four. Eight arms. | Seeti: Pick whoever you like. Then pick me.

**The cast**
- Fetch: A scruffy, happy dog who fetches this week's ideas and drops them at your feet. This week's ideas, fetched.
- Buzz: A round, busy bee who dances at the best idea. The whole hive, one bee.
- Scoop: A nosy raccoon who brings back the gossip about your store. Everything everyone says about your store.
- Ocho: An overcommitted octopus who says yes to everything, then delivers. Eight arms on your marketing.
- Seeti: A bossy pressure cooker that whistles when your week is ready. This week's marketing, ready in a few whistles.

**Each one in its hero pose**
- Fetch, card in its mouth (dog/char.svg)
- Buzz, mid hover (bee/char.svg)
- Scoop, the psst (raccoon/char.svg)
- Ocho, all eight arms full (octopus/char.svg)
- Seeti, lid on (cooker/char.svg)

Every character sells the same plain promise: paste your store link, get this week's marketing ideas already drafted, pick the good ones and hand them off. The product underneath never changes. The character changes the voice, the look, the sound, the weekly game and the marketing.

#### The cast at a glance
| | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| What it is | Scruffy, happy dog | Round, busy bee | Nosy raccoon | Overcommitted octopus | Indian pressure cooker |
| Owned colour | Tennis ball green #aee32f | Pollen yellow #ffd60a | Tangerine #ff7a1a | Hot pink #ff4fa3 | Chilli red #ff3d2e |
| Tagline | This week's ideas, fetched | The whole hive, one bee | Everything everyone says about your store | Eight arms on your marketing | This week's marketing, ready in a few whistles |
| Five words | Scruffy dog fetches marketing ideas | Busy bee drafts my marketing | Nosy raccoon who brings gossip | Frantic pink octopus drafts everything | Bossy cooker that whistles ideas |
| Edge | Over eager, brings back a bit too much | Overbusy and proud of it | Gossipy, delighted by drama, never mean | Frantic, says yes to everything | Bossy, dramatic, impatient head cook |
| Running joke | Sneaks its tennis ball into Monday's picks | The pollen count, clean Monday, covered Friday | The tally runs off the notepad onto its tail | The coffee count, then it climbs into the mug | Nobody lifts the lid until Friday |
| Sonic logo | Two toy squeaks, a ruff, a ball bouncing twice | A buzz that zips up onto two marimba notes | A paper rustle, then a two note gasp | A suction cup letting go, a pop, bubbles | Three rising whistle toots |

All five are placeholder names. The product name is separate and still open: see [f-9 Naming](#f-9).

Sources: dog/brand.html and dog/character.html, bee/system.md s0, raccoon/system.md s0, octopus/system.md s0, cooker/system.md section 1.

### The instant understanding test {#f-1.instant}

User moment: A friend glances at your phone. You want them to get it before you explain.

Answer: The winner is the one a stranger gets in three seconds, from the drawing alone, and can retell in five words.

- Look for three seconds, say it in five words
- Recognise the mark at 24 pixels
- Hear the sound and know the week is ready

Character line: Fetch: You throw. I bring it back. Nobody needs a manual for that. | Buzz: Ball, two stripes, a wiggle. You knew it was a bee before you finished reading. | Scoop: A raccoon with a notepad. You already know it has heard something. | Ocho: Arms full on Monday. Every founder laughs. Then they nod. | Seeti: Every Indian kitchen stops for the whistle. That is the test.

**What a stranger should say back, in five words**
- Fetch: Scruffy dog fetches marketing ideas. Everyone knows fetch: you throw, it brings it back.
- Buzz: Busy bee drafts my marketing. Busy bee is already a phrase people use about themselves.
- Scoop: Nosy raccoon who brings gossip. The read becomes news about you.
- Ocho: Frantic pink octopus drafts everything. Eight jobs at once is the week they already have.
- Seeti: Bossy cooker that whistles ideas. Three whistles means done, in any Indian kitchen.

**Five tests to run with real founders, for free**
1. Ten second test: Show each home page for ten seconds. Ask what the product does, in five words.
2. Blind sound test: Play the five sonic logos with no pictures. Ask which one means your week is ready.
3. Icon test: Put five small marks on a phone at 24 pixels. Ask tomorrow which one they remember.
4. Bad day test: Read each heart line and each error line aloud. Ask which one they would forgive.
5. Team test: Ask the team which character they could write a hundred lines for.

The owner's first rule for the whole book is that people instantly understand what we do. A character passes when the drawing explains the product before any word does.

#### What each test proves, and what passing looks like
| Test | What it proves | Passing looks like |
| --- | --- | --- |
| Ten second test | The character explains the product | The founder names the animal or object and the job: fetches, drafts, gossip, whistles |
| Blind sound test | The sonic logo carries meaning | Most people pick the same sound for ready |
| Icon test | The mark survives at app icon size | They can draw it, or describe it, a day later |
| Bad day test | The edge never stings | Nobody feels told off by the error line |
| Team test | The voice is easy to write | The team writes lines fast without breaking the rules in [f-8](#f-8) |

The pages, sounds and marks for all five already exist, so the tests cost only the founders' time. They come from docs/choose.js, the How to choose doc.

#### What each character gets for free, and what it has to earn
| | Gets for free | Has to earn |
| --- | --- | --- |
| Fetch | Everyone knows fetch, so the loop needs no explainer | Dogs are everywhere in branding, and the owner turned down a generic friendly dog before. Fetch earns it with the lopsided green ears, the card in its mouth and the ball |
| Buzz | A ball with two stripes reads as a bee at 16 pixels in any country | Bees are a familiar mascot. Buzz earns it with the kinked feeler, the pollen ball and the waggle |
| Scoop | Gossip is the oldest reason people open anything | Some read a raccoon as a bin thief. No bins appear anywhere |
| Ocho | The busiest week a founder has, drawn as a body | Eight arms could suggest the product does everything. Every arm line says draft |
| Seeti | People already stop what they are doing when a cooker whistles | Outside India the whistle needs one sentence, said once on the first read |

Open question: none of the five tests has been run with founders yet. Results go in [j-3 Decisions](#j-3).

### One week, five ways {#f-1.week}

User moment: You want to see what living with each one feels like, not a mood board.

Answer: The same Monday to Friday at the sample candle store, told five ways, one for each character on the switcher.

- Same finding: 41 reviews say the Monsoon candle smells like rain
- Monday drop, a midweek turn, a Friday payoff
- The running joke pays off every Friday

Character line: Fetch: Monday I sneak my ball in. Friday I get to keep it. | Buzz: Clean nose on Monday. Pollen everywhere by Friday. I have not noticed. | Scoop: Monday one mark. Wednesday 41. Friday I cross them all out. | Ocho: Coffee count, Monday: one. Friday: I am the coffee now. | Seeti: Nobody lifts my lid. Until Friday. Then I lift it myself.

**Sample week at the candle store, as {name} tells it**
*Fetch:*
- Monday: The drop. Five picks at your feet, most with a draft. One of them is my ball.
- Tuesday: Pick. You heart the Monsoon rain reel and leave the discount. Fetching more rain.
- Wednesday: Make it. We chew on the Chai spice photo post. Three versions, all kept.
- Thursday: Drop it. Brief copied for your editor. Nothing was sent. You passed it on.
- Friday: Caught up. Every pick seen. I keep the ball. Nap until Monday. (the turn)
*Buzz:*
- Monday: The drop. Five picks, drafted. Buzz waggles at the Monsoon rain reel.
- Tuesday: Pick. You heart the rain reel and fly past the discount.
- Wednesday: The bump. Buzz rushes the Chai spice photos and meets a window. You make take three yourself. (the turn)
- Thursday: Pass the pollen. Brief copied for your editor. Nothing was sent.
- Friday: The hive hums. Every pick seen. Buzz naps on a full comb, covered in pollen.
*Scoop:*
- Monday: One mark. Five fresh picks wait on Today. Pick one is about rain.
- Wednesday: 39, 40, 41. Runs out of notepad at 25 and keeps tallying on its tail. (the turn)
- Thursday: Line handed off. You write the rain line in Make it. Your freelancer ships it.
- Friday: Pencil down. First rain is on the page. All 41 crossed out until Monday.
*Ocho:*
- Monday: Arms full. Five picks, drafted. Coffee count: one.
- Tuesday: Pick. You heart the rain reel. Coffee count: two. Calling it one.
- Wednesday: The knot. Two arms tied together. You take the Chai photos off its hands. (the turn)
- Thursday: Free an arm. Brief copied for your editor. Another arm free.
- Friday: Arms free. Every arm free. It puts the coffee down by climbing in.
*Seeti:*
- Monday 8.59: Still on the flame. Nobody lifts my lid. One more minute.
- Monday 9.00: Three whistles. Five picks, rain ad on top. You hand it to your designer.
- Wednesday: One question back. Window photo or shelf photo? The lid stays on till you answer. (the turn)
- Thursday: One tap. Window photo. Version three, back on the rail.
- Friday: Kitchen's clean. Seeti lifts its own lid for the first time all week.

**Sample products every week uses**
- Sample: Monsoon candle (shared/sample/img/monsoon.jpg)
- Sample: Chai spice candle (shared/sample/img/chai.jpg)
- Sample: Jasmine night candle (shared/sample/img/jasmine.jpg)

Every week has the same shape in every character: the read, you pick, you make, someone ships, the week resets. The marketing story under it is get found, get chosen, get them back. The character narrates. You and your products are the hero of every frame.

#### The shared finding
Every story uses one sample finding from the candle store: 41 reviews say the Monsoon candle smells like the first rain, and the product page never says rain. It is a Sample. In a real read the count comes from What customers say, with its source.

#### The five running jokes, side by side
| | Monday | Midweek turn | Friday payoff | Source |
| --- | --- | --- | --- | --- |
| Fetch | Sneaks its tennis ball in among the five picks | None, the ball just keeps turning up | Caught up, it finally keeps the ball | dog/brand.html b1 |
| Buzz | Clean nose | Bumps a window when it rushes | Covered in pollen, swears it has not noticed | bee/brand.html b3 |
| Scoop | One tally mark | Runs out of notepad at 25, tallies on its tail to 41 | Crosses all 41 out when a person ships the line | raccoon/brand.html b1 |
| Ocho | Coffee count: one | Ties two arms in a knot, you untangle it by making and handing off | Climbs into the coffee | octopus/brand.html b1 |
| Seeti | Nobody lifts my lid | A brief comes back with one question | Lifts its own lid | cooker/brand.html b1 |

Each joke counts something the founder did, never a result. None of them claims the product posted anything. The Monday drop is Next: today the feed holds about 160 cards for the prepared demo brand.

### Side by side {#f-1.side-by-side}

User moment: You like all five a little and want them lined up so you can compare.

Answer: Everything that changes between the five sits on one page, and anything not on it stays the same.

- Colour, type, sound, voice, world, words
- Strengths and what each gives up
- Critic scores so far, with their date

Character line: Fetch: Line us up. I will be the one wagging. | Buzz: Put me next to anything. Yellow wins at a glance. | Scoop: A comparison table. My favourite kind of gossip. | Ocho: Side by side is fine. I need the space for my arms. | Seeti: Line us up. Taste each one. Then choose.

**One owned colour each**
- Fetch, tennis ball green #aee32f, Not an agent colour, not Duolingo green
- Buzz, pollen yellow #ffd60a, Ink text on it, about 13 to 1
- Scoop, tangerine #ff7a1a, Redder and louder than storefront orange
- Ocho, hot pink #ff4fa3, No agent colour is pink
- Seeti, chilli red #ff3d2e, Ink on chilli, never white

**The five sonic logos**
- Fetch (dog/snd/logo.mp3)
- Buzz (bee/snd/logo.mp3)
- Scoop (raccoon/snd/logo.mp3)
- Ocho (octopus/snd/logo.mp3)
- Seeti (cooker/snd/logo.mp3)

**What changes**
|  | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| World | The yard | A garden and a hive | A gossip column, a little noir | A desk at the bottom of the sea | A home kitchen at dinner time |
| Display type | Grandstander | Shrikhand | Gloock | DynaPuff | Bakbak One |
| Body type | Commissioner | Parkinsans | Schibsted Grotesk | Archivo | Anek Latin |
| Voice | Late twenties, bright, bouncy | Bright, bouncy, a busy shop owner | Thirties, low, husky, conspiratorial | Thirties, quick, a little breathless | Forties, brisk, Indian English, theatrical |
| Caught up | Nap time | The hive is humming | All dished out | Arms free | Kitchen's clean |
| Hand it off | Drop it | Pass the pollen | Pass the note | Free an arm | Order ticket |

#### Strengths and costs
| | Why it wins | What it gives up |
| --- | --- | --- |
| Fetch | Fetch is the product: throw, bring back, throw again. Warm without lecturing. The green is free | Novelty, some sharpness, gravitas in serious rooms. An eager dog wants to bring everything, so the product holds the line at five |
| Buzz | The waggle dance is the ranked feed. The mark reads at 16 pixels anywhere. Yellow is free inside the product | Novelty. Some people flinch at bees, so no sting, no swarm, no chasing. The hive could imply a team, so no other bees are ever drawn |
| Scoop | Makes the read, our real edge, the best moment. Curiosity brings people back on Monday. The trust rule becomes a catchphrase | A raccoon can read as a bin thief. Gossip can tip into mean. Spying words are sensitive, so they are banned |
| Ocho | Names the real feeling of eight jobs at once. The five areas become arms you can see. Progress is drawn on the body | Calm, gravitas, drawing cost. Busy arms could imply it posts, so every arm line says draft |
| Seeti | The product already is a kitchen. Everyone obeys the whistle. Whistles are a native progress bar. A hot colour in a cold category | Cuddliness. The whistle needs one sentence outside India. A pot has no neck, so the acting kit is tight. Pun space runs out fast |

Sources: b2 in each brand book.

#### Critic scores so far
Independent critics scored three of the five against the eleven point bar in BRIEF.md section 3.8 on 25 October, round 3.

| | Bar score | Octalysis fit | Notes |
| --- | --- | --- | --- |
| Seeti | 11 of 11 | 8 of 10 | Strongest story and product fit, art still a stock cartoon at the time |
| Ocho | 10.5 of 11 | 7 of 10 | Small mark finally read at 24 pixels |
| Scoop | 9.5 of 11 | 6 of 10 | Face on the hero still read as a stock grin |
| Fetch | Not scored yet | Not scored yet | Built after round 3 |
| Buzz | Not scored yet | Not scored yet | Built after round 3 |

All three reviews came before the latest art pass, which redrew Scoop and Ocho as vector from one rig and rebuilt Seeti's poses. Treat the art scores as stale. Sources: raccoon/review.md, octopus/review.md, cooker/review.md.

### How to choose {#f-1.how-to-choose}

User moment: You like all five a bit. You need a way to decide that is not a coin toss.

Answer: Answer one question about what founders should feel on Monday, then check the risk you can live with.

- Pick the Monday feeling first
- Then the risk you can live with
- Then run the five cheap tests

Character line: Fetch: Throw the question at me. I will bring back an answer. | Buzz: Follow the dance. It points at the one you want. | Scoop: Between us, your gut already picked. Ask it. | Ocho: Too many options. Familiar feeling. Start with Monday. | Seeti: Stop stirring. Taste one question. Decide.

**What should a founder feel on Monday morning?**
- It brought me things. I just pick.
  - Fetch: the read is a game of fetch, and picking is throwing again
- It points me straight at the best one.
  - Buzz: the waggle dance is the ranking, and the mark reads anywhere
- Someone read everything about me.
  - Scoop: the finding is the hero, and the trust rule is the catchphrase
- That is me on a Monday, and it is handled.
  - Ocho: the busiest, most meme ready voice, with the areas as arms
- The kitchen is in charge. It is ready when it whistles.
  - Seeti: instant in India, and the sound is the notification

**The one risk and one open question each**
- Fetch: A happy dog can read as uncritical. Is Fetch sharp enough after a generic dog was turned down?
- Buzz: Bees are familiar and some people flinch at them. Is Buzz the final name, given Bumble is taken?
- Scoop: A cute raccoon is a familiar picture. Is gossip the right frame?
- Ocho: Busy arms can suggest the product posts. Is Ocho the final name?
- Seeti: Steel and one red can look like a utility brand. A few whistles or three whistles?

#### Questions that point at a character
| If you believe | Lean toward |
| --- | --- |
| The drawing must explain the product with zero words | Fetch or Buzz |
| What we find in a public read is our real edge | Scoop |
| Founders want the best idea pointed out, not a list | Buzz |
| We want the busiest, most meme ready voice | Ocho |
| India comes first and instant recognition there matters most | Seeti |
| The brand must travel abroad with no explaining | Fetch, Buzz or Ocho. Seeti needs one sentence outside India |
| A warm friend beats a strict editor | Fetch or Buzz. Seeti is the bossiest |

#### How to run the decision
1. Each decider answers the Monday question alone, before talking.
2. Compare answers. If three or more match, that is the front runner.
3. Read the seven moments for the front runner and one other in [f-8](#f-8). Ask: will a busy founder smile at this every Monday, not only the first one.
4. Run the five tests in [The instant understanding test](#f-1.instant) with at least five founders.
5. Settle the open question for the front runner, then pick.

Questions every direction shares, from docs/choose.js: the product name, My team or Your team on the who sheet, the read cap number, and how long a read takes inside Shopify. None of them blocks the character pick.

### After the pick {#f-1.after}

User moment: You picked. Now what happens to everything else?

Answer: Pick one, archive the other four, then redo everything around the winner in nine steps.

- The name comes first
- Then lock the character, skin 45 screens, rewrite copy
- Earlier auditions stay as history

Character line: Fetch: You picked. I am already running. | Buzz: Picked. Wings on. Where do we start? | Scoop: Picked. I will keep the other four's notes. Professionally. | Ocho: Picked. Freeing four arms right now. | Seeti: One pot at a time. Then everything.

**The redo, in order**
1. Settle questions: The name first
2. Lock the character: One rig, the 24 pixel mark
3. Fill the name: Every wordmark slot
4. Skin 45 screens: Phone, laptop, dark, light
5. Rewrite copy: From the system file
6. Record sound: Voice, logo, five cues
7. Build play: First week, weekly ritual
8. Ship in order: Restyle, Recompose, Add on
9. Start marketing: The first nine posts

**The same screen, whoever wins**
- Screen t1:monday: Today, in {name}'s skin
- Screen f4:reading: Reading your store
- Screen t5:caught: Caught up

#### The nine steps
| Step | What happens | Done when |
| --- | --- | --- |
| Settle questions | The product name, then the open question for the winner | The name is chosen |
| Lock the character | One rig, every pose and the small mark drawn from it, checked at 24 pixels | The system file lists every frame |
| Fill the name | Every wordmark slot in product, books and marketing | No slot left empty |
| Skin 45 screens | The kit skin sets tokens and character slots for every screen | Every screen in [e-5](#e-5) passes in both themes |
| Rewrite copy | Every line around the buttons, from the winner's system file | The writing checker is clean |
| Record sound | Voice, sonic logo, five cues, seven moment lines | Every file levelled to the same loudness |
| Build play | The first week game and the weekly ritual in the winner's words | See [f-7](#f-7) |
| Ship in order | Restyle first, then Recompose, then Add on. Nothing changes the core | Nothing that works today breaks |
| Start marketing | The first nine posts and the social formats | See [f-10](#f-10) |

#### What happens to the other four
Their folders stay as history and stop changing. Nothing from a losing character appears in the product, the site or marketing. Swapping later means running this list again.

#### Earlier auditions
Two characters auditioned before this cast and were archived on 25 October: Hush, a paper ghost who ghostwrote your marketing and hid when praised, and Margo, a picky loaf cat who knocked tired ideas off the table. Their books stay in ghost/ and cat/ as history only. The lesson the cast kept: playful everywhere, never spooky, never creepy.

## F2 Character bible {#f-2}

How it is drawn, its poses, faces and signature move.

### {name} on one page {#f-2.one-page}

User moment: You are about to draw or write the character for the first time. You need the essentials fast.

Answer: Fetch: Fetch is a scruffy, happy dog with one floppy and one folded green ear, a card in its mouth, and a tail that never quite stops. | Buzz: Buzz is one round pollen yellow ball with two ink stripes, a kinked left feeler and a pollen ball on its back leg. | Scoop: Scoop is a pear shaped raccoon with an ink bandana knotted on the right, a tangerine notepad and a tail with exactly three stripes. | Ocho: Ocho is a hot pink octopus with eight arms, each holding a prop, the left brow down and the right cheek puffed. | Seeti: Seeti is a squat steel pressure cooker with a chilli red whistle, a long red handle and the face of a head cook with notes.

Fetch: Owned colour: tennis ball green, Signature: drops a card at your feet, Never without a card, a ball or a pick | Buzz: Owned colour: pollen yellow, Signature: the waggle dance at the best pick, No sting, no swarm, no second bee | Scoop: Owned colour: tangerine, Signature: the gasp at good news, The knot sits on the right in every view | Ocho: Owned colour: hot pink, Signature: cheek puffed, blowing steam, Exactly eight arms, every frame | Seeti: Owned colour: chilli red, Signature: three rising whistles, Mitts, never fingers. No legs

Character line: Fetch: Two ears, one card, one ball. That is me. Mostly the ball. | Buzz: One ball, two stripes, one bent feeler. Draw that and you have me. | Scoop: Bandana, notepad, three stripes. Get the stripes right. I count them. | Ocho: Eight arms. Count them. I do, every morning. | Seeti: Lid in the rim. Handle on my right. Do not draw me with fingers.

**Hero, small mark and the tiny cut**
*Fetch:*
- Hero, 120 pixels and up (dog/char.svg)
- Small mark, under 120 pixels (dog/char-mark.svg)
- 16 pixel cut, heavier lines (dog/char-mark-16.svg)
*Buzz:*
- Hero, 120 pixels and up (bee/char.svg)
- Small mark, under 120 pixels (bee/char-mark.svg)
- 16 pixel cut, no wing (bee/char-mark-16.svg)
*Scoop:*
- Hero, the psst, rigged (raccoon/char.svg)
- Small mark on a tangerine disc (raccoon/char-icon.svg)
- The master every frame comes from (raccoon/art/master.svg)
*Ocho:*
- Hero, all eight props (octopus/char.svg)
- Small mark, eight arms, coffee up (octopus/char-mark.svg)
- 16 pixel cut, the head alone (octopus/char-mark-16.svg)
*Seeti:*
- Hero, the product drawing (cooker/char.svg)
- Small mark, whole handle inside (cooker/svg/icon.svg)
- The head, for tight crops (cooker/svg/head.svg)

**The card**
*Fetch:*
|  | {name} |
| --- | --- |
| Who | A scruffy, happy dog who fetches this week's marketing ideas |
| Look | Cream coat, one floppy and one folded green ear, three scruff tufts, green collar, plain round tag, green tail tuft |
| Signature | Drops a card at your feet, tail going, tongue out to one side |
| Edge | Over eager. Brings back a bit too much, gets distracted by shiny things |
| Running joke | Sneaks its own tennis ball among Monday's picks |
| Alternate names | Scruff, Bounder |
*Buzz:*
|  | {name} |
| --- | --- |
| Who | A round, busy bee who makes your store buzz |
| Look | Yellow ball body tilted eight degrees, two curved ink stripes, kinked left feeler, two wings, soft round tail nub |
| Signature | The waggle dance, one arm pointing at the best pick |
| Edge | Overbusy and proud of it. Narrates its own hurry |
| Running joke | The pollen count, clean Monday, covered Friday |
| Alternate names | Waggle, Bumble |
*Scoop:*
|  | {name} |
| --- | --- |
| Who | A nosy raccoon who brings you the gossip |
| Look | Pear body on a bendy spine, ink bandana band knotted on the right, huge white eyes, thick ink brows, S curved tail with three tangerine stripes |
| Signature | The gasp, saved for good news |
| Edge | Gossipy, delighted by drama, never mean |
| Running joke | The tally that runs off the notepad onto its tail |
| Alternate names | Tidbit, Rummage |
*Ocho:*
|  | {name} |
| --- | --- |
| Who | An overcommitted octopus doing eight things at once for your store |
| Look | Round head about one and a half times the body, eight arms from eight sockets, each ending in one curl around a prop |
| Signature | Left brow down, right cheek puffed, lips pursed, blowing steam |
| Edge | Frantic, says yes to everything, delivers anyway |
| Running joke | The coffee count, then it climbs into the mug |
| Alternate names | Inka, Yessa |
*Seeti:*
|  | {name} |
| --- | --- |
| Who | An Indian home pressure cooker that whistles when your week is ready |
| Look | Squat steel pot, lid inside the rim like a hat, two stacked red whistle cylinders, long red handle on its right, short helper handle |
| Signature | Three rising whistle toots |
| Edge | Bossy, dramatic, impatient. Scolds ideas, never people |
| Running joke | Nobody lifts my lid, until Friday |
| Alternate names | Whistle, Pressure |

One character, always. No sidekicks, no family, no team of the same animal, no cast in the product. The five areas appear as props, never as more characters. Real people who ship the work appear as a hand and a sleeve.

#### The card for all five
| | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Outline ink | #16180f | #17130a | #17171c | #1a1218 | #15161a |
| Tell you must never drop | Both green ears, the card | Kinked feeler, pollen ball | Three stripes, the knot | Eight arms, brow and cheek | Long handle on its right, mitts |
| Catchphrase | Throw it | Best blooms | For your read, I only look at what's public | Arms full | Nobody lifts my lid |
| Pronoun | It | It | It | It | It. Fans may say she, and we let them |
| Product file | dog/char.svg | bee/char.svg | raccoon/char.svg | octopus/char.svg | cooker/char.svg |
| Small mark | dog/char-mark.svg | bee/char-mark.svg | raccoon/char-icon.svg | octopus/char-mark.svg | cooker/svg/icon.svg |

Sources: c0 in each character book, and each system file.

### How it is drawn {#f-2.construction}

User moment: You are an illustrator, or an agent, and you must not invent a cousin of the character.

Answer: Every frame comes from one drawing, built from a few simple shapes, so it looks the same at 24 pixels and on a poster.

- A handful of shapes, one outline weight, flat fills
- Recognisable filled solid at 24 pixels
- Draw it from memory in one breath

Character line: Fetch: Head first. Ears next. Card in the mouth. Done. | Buzz: A ball, tilted, like it is going somewhere. Because it is. | Scoop: Leaning pear, two ears, a black band, a big tail. You just drew me. | Ocho: A circle, eight curls, a brow, a cup. That is the whole of me. | Seeti: Rounded box, pill, stick. If you can draw a box, you can draw me.

**Construction and silhouette**
*Fetch:*
- Construction (dog/svg/construct.svg)
- Silhouette test (dog/svg/silhouette.svg)
*Buzz:*
- Model sheet: construction, turns, silhouettes, mark ladder (bee/svg/sheet.svg)
*Scoop:*
- Turnaround, knot on the right in every view (raccoon/art/sheet-turnaround.svg)
- Silhouette test (raccoon/art/silhouettes.svg)
*Ocho:*
- Model sheet (octopus/img/v/model-sheet.svg)
- Construction (octopus/img/v/construct.svg)
*Seeti:*
- Three quarter (cooker/svg/turn-34.svg)
- Side (cooker/svg/turn-side.svg)
- Back (cooker/svg/turn-back.svg)

**Draw {name} from memory**
*Fetch:*
1. Head: A circle about 1.1 times the body width, the biggest shape
2. Ears: Left floppy, right standing with a folded tip, both green
3. Tufts: Three on the crown, the middle one tallest
4. Body: A pear on the grass line, one haunch showing
5. Tail and card: Green tuft, wagging. A card in the mouth
*Buzz:*
1. Ball: A wobbled ellipse a little wider than tall, tilted eight degrees
2. Stripes: Exactly two, curving across the back half
3. Face: Two ink eyes at the front, the near one bigger
4. Feelers: Left one kinked, right one curved
5. Tells: One wing up, a honey ball on the back leg, a round tail nub
*Scoop:*
1. Body: A pear on a curved spine, leaning
2. Ears: Two small circles
3. Mask: One ink band wider than the face, knotted on the right
4. Tail: One S stroke as tall as the body, three tangerine stripes, grey tip
5. Notepad: Plain tangerine, nothing written on it
*Ocho:*
1. Head: A circle, the unit for everything
2. Arms: Eight, fanning out, four a side, each ending in one curl
3. Brow: A heavy left brow over a narrowed eye
4. Cheek: The right cheek puffed past the outline
5. Cup: One arm holds the coffee up, top left
*Seeti:*
1. Body: A rounded box flaring a little at the bottom
2. Rim and lid: A wide pill, the lid tucked inside like a hat
3. Whistle: Two stacked red cylinders on a short pipe
4. Handles: Long red handle on its right, two bars. Short helper on the other side
5. Face and mitts: Big round eyes, heavy steel brows, chilli blush, red oven mitts

#### Silhouette and size rules
| | Small mark below 120 pixels | At 24 pixels you still see | At 16 pixels |
| --- | --- | --- | --- |
| Fetch | The head alone: both green ears, bigger eyes and nose, tongue out | A dog head with lopsided green ears | The same head, heavier lines |
| Buzz | Ball, two stripes, kinked feeler, one wing, two eyes | A round body, two feeler balls, a wing | The wing goes, one eye stays |
| Scoop | Head, sly face, band and knot on a tangerine disc | The knot and the band | Not cut yet. Open question |
| Ocho | Eight fat curled arms from a small head, brow down, cheek puffed, coffee up | A head, a ring of curls, a mug held up | The head alone: brow, eye, cheek |
| Seeti | The whole pot with the long handle inside the square | A pot with a long bar on one side and a bump on top | Not cut yet. Open question |

#### Finish, for all five
One outline weight, flat matte fills, no gloss, no gradients, no soft shadows, no white sticker border, no sparkles. Each character has one print treatment, described in [f-4](#f-4).

#### Where the drawing lives
| | Rig | What it writes |
| --- | --- | --- |
| Fetch | dog/src/rig/fetch.py and poses.py | char.svg, two marks, every file in dog/svg |
| Buzz | bee/src/rig/buzz.py and poses.py | char.svg, two marks, every file in bee/svg |
| Scoop | raccoon/src/master.py, scoop2.py, poses2.py | art/master.svg, art/pose files, char.svg rigged, char-icon.svg |
| Ocho | octopus/src/rig/ocho.py and poses.py | char.svg, two marks, every file in img/v. It refuses any frame without exactly eight arms |
| Seeti | cooker/art/rig.mjs | char.svg and every file in cooker/svg |

No image model drew the final frames of any of the five. Fetch, Buzz and Ocho were drawn as vector by code from the start of their final pass. Scoop and Seeti began as generated images, then every final was redrawn as vector parts so nothing drifts.

### Eight faces {#f-2.expressions}

User moment: Something just happened in the product and you need the right face for it.

Answer: Eight expressions, each tied to one moment and held there, never cycling.

Fetch: Eager is the default, Sheepish for our errors, Sleepy only when caught up | Buzz: Happy is the default, Oops always comes with the way out, Sleepy never while you wait | Scoop: The sly smile is the default, The gasp means good news only, The squint is never aimed at you | Ocho: The determined face is the default, Frantic is for marketing only, The ink puff sits to one side | Seeti: Unimpressed is the default, Sheepish owns every error, Only these eight, ever

Character line: Fetch: Eight faces. Seven of them are happy to see you. | Buzz: Eight faces. The happy one is the one you will remember. | Scoop: Eight faces. The gasp is my favourite. Save it for good news. | Ocho: Eight faces. Frantic stays off your screen. Mostly. | Seeti: Eight faces. Unimpressed is my resting face. The kitchen knows.

**{name}'s eight**
*Fetch:*
- Eager, the default (dog/svg/expr-eager.svg)
- Delighted (dog/svg/expr-delighted.svg)
- Focused (dog/svg/expr-focused.svg)
- Curious (dog/svg/expr-curious.svg)
- Distracted (dog/svg/expr-distracted.svg)
- Sheepish (dog/svg/expr-sheepish.svg)
- Proud (dog/svg/expr-proud.svg)
- Sleepy (dog/svg/expr-sleepy.svg)
*Buzz:*
- Happy, the default (bee/svg/expr-happy.svg)
- Focused (bee/svg/expr-focus.svg)
- Proud (bee/svg/expr-grin.svg)
- Curious (bee/svg/expr-curious.svg)
- Oops (bee/svg/expr-oops.svg)
- Sleepy (bee/svg/expr-sleepy.svg)
- Delighted (bee/svg/expr-delight.svg)
- Determined (bee/svg/expr-determined.svg)
*Scoop:*
- Sly smile, the default (raccoon/art/expr-sly.svg)
- The gasp (raccoon/art/expr-gasp.svg)
- Smug (raccoon/art/expr-smug.svg)
- Delighted laugh (raccoon/art/expr-laugh.svg)
- Suspicious squint (raccoon/art/expr-squint.svg)
- Sheepish oops (raccoon/art/expr-oops.svg)
- Dreamy (raccoon/art/expr-dreamy.svg)
- Sleepy content (raccoon/art/expr-sleepy.svg)
*Ocho:*
- Determined, the signature (octopus/img/v/expr-signature.svg)
- Delighted (octopus/img/v/expr-delighted.svg)
- Frantic, marketing only (octopus/img/v/expr-frantic.svg)
- Smug (octopus/img/v/expr-smug.svg)
- Oops (octopus/img/v/expr-oops.svg)
- Focused (octopus/img/v/expr-focused.svg)
- Relieved (octopus/img/v/expr-relieved.svg)
- Curious (octopus/img/v/expr-curious.svg)
*Seeti:*
- Unimpressed, the default (cooker/svg/face-unimpressed.svg)
- Impatient (cooker/svg/face-impatient.svg)
- Proud (cooker/svg/face-proud.svg)
- Delighted (cooker/svg/face-delighted.svg)
- Thinking (cooker/svg/face-thinking.svg)
- Shocked (cooker/svg/face-shocked.svg)
- Sheepish (cooker/svg/face-sheepish.svg)
- Sleepy (cooker/svg/face-sleepy.svg)

**Which face, when**
*Fetch:*
- Eager: Greeting, the drop. Tongue out, left brow up
- Delighted: A heart, the first win. Eyes shut in a grin
- Focused: Making something. Squint, tongue tip out
- Curious: The three questions. Head tilt, ear up
- Distracted: Rival ads. Eyes sliding off to something shiny
- Sheepish: Our errors. Ears down, wobbly mouth
- Proud: Handed off. Eyes shut, chin up
- Sleepy: Caught up, Friday. Half lids
*Buzz:*
- Happy: Today header, greetings, idle. The one people remember
- Focused: The read, Your store, anything with a source. Straight brows allowed
- Proud: A heart, the shareable finding, a fresh batch
- Curious: Paste, the odd flower, an empty Work tab
- Oops: Errors and the read cap. Always with the way out
- Sleepy: Caught up, the rainy day skip. Never while you wait
- Delighted: First win, celebrations, marketing
- Determined: Make it, a new version, Monday. Straight brows allowed
*Scoop:*
- Sly smile: Idle, picks, the corner slot. Never on an error
- The gasp: The reveal, the Monday drop. Never on anything bad
- Smug: Ranking, a wild rumour, a margin note. Never about a person
- Delighted laugh: First handoff, first heart. Never on a cap or limit
- Suspicious squint: A number to confirm, a thin source. Never looking at the founder
- Sheepish oops: Errors, Scoop takes the blame. Never blaming the user
- Dreamy: You heart a card. Never in ads or money moments
- Sleepy content: All dished out, lying low. Never while a read runs
*Ocho:*
- Determined: Default. The read, Monday, drafting. Brow down, cheek puffed, steam
- Delighted: A heart, a first win. Sparkling eyes, open smile
- Frantic: Marketing and social only. Never at the user
- Smug: A new version lands, the shareable finding
- Oops: Errors, the read cap. Small ink puff to one side
- Focused: Make it, waiting on a draft
- Relieved: Hand off, caught up. Eyes closed, soft smile
- Curious: Paste, Your store, the ninth arm
*Seeti:*
- Unimpressed: Default. A Not for me toast. Half lids, flat mouth
- Impatient: While cooking. Whistle jiggles
- Proud: Three whistles, ticket stamped
- Delighted: You hearted something
- Thinking: Making a new version
- Shocked: A finding worth a gasp
- Sheepish: Errors. Its fault, always
- Sleepy: Kitchen's clean

#### Rules that hold for all five
- One expression per moment, held. Faces never cycle while you look.
- A new expression is a new pose, swapped on a beat. The face never animates on its own.
- Errors always get the sheepish or oops face, and the character takes the blame.
- Sleepy is for rest, never for loading. Nobody should look bored while you wait.
- Nothing sad, hurt, scared or disappointed in you. Ever.

#### The default face, and why
| | Default | Why |
| --- | --- | --- |
| Fetch | Eager | It is always glad to see you and ready for the next throw |
| Buzz | Happy | A bee who likes the work |
| Scoop | Sly smile | The edge lives in the face people see every day |
| Ocho | Determined, cheek puffed | The one attitude you can describe in one breath |
| Seeti | Unimpressed | A head cook who has seen your last ad and has notes |

Sources: c3 in each character book.

### Ten poses, ten moments {#f-2.poses}

User moment: You are building a screen and wonder which drawing goes in the slot.

Answer: Every pose belongs to one moment in the founder's week, and a moment with no pose keeps the character in its corner.

- Paste, read, the drop, heart, make it
- Hand it off, caught up, error
- Plus a celebration and a waiting pose

Character line: Fetch: Every pose has a job. Like me. | Buzz: Twelve poses, one bee, never standing still. | Scoop: Ten poses. If it is not on the list, I grin in the corner. | Ocho: Ten poses, eight arms, at least five props in each. | Seeti: Ten poses. No moment, no Seeti.

**{name} through the week**
*Fetch:*
- 1 Paste: sitting tall, eyes on the ball (dog/svg/pose-01.svg)
- 2 Reading: nose down at the shopfront (dog/svg/pose-02.svg)
- 3 The drop (dog/svg/pose-03.svg)
- 4 Heart: hop, paws up (dog/svg/pose-04.svg)
- 5 Make it: pencil in mouth (dog/svg/pose-05.svg)
- 6 Hand it off: card to a hand (dog/svg/pose-06.svg)
- 7 Caught up: curled up with the ball (dog/svg/pose-07.svg)
- 8 Error: ears down by a torn card (dog/svg/pose-08.svg)
- 9 Celebrate: jump catch (dog/svg/pose-09.svg)
- 10 Wait: head tilt, ball in the air (dog/svg/pose-10.svg)
*Buzz:*
- 1 Paste: holds the link up high (bee/svg/pose-paste.svg)
- 2 The read: magnifier over a card (bee/svg/pose-reading.svg)
- 3 The drop: the waggle (bee/svg/pose-drop.svg)
- 4 Heart: hugs the heart (bee/svg/pose-heart.svg)
- 5 Make it: stirs the honey jar (bee/svg/pose-make.svg)
- 6 Hand it off: a real hand takes the card (bee/svg/pose-handoff.svg)
- 7 Caught up: naps on a full comb (bee/svg/pose-caught.svg)
- 8 Error: nose to the window (bee/svg/pose-error.svg)
- 9 Celebrate: one loop, arms up (bee/svg/pose-celebrate.svg)
- 11 Empty: peers into empty comb (bee/svg/pose-empty.svg)
*Scoop:*
- 1 The tip: paste (raccoon/art/pose-01.svg)
- 2 The scribble: reading (raccoon/art/pose-02.svg)
- 3 Found it: the reveal (raccoon/art/pose-03.svg)
- 4 The Monday dish (raccoon/art/pose-04.svg)
- 5 The hop: a heart (raccoon/art/pose-05.svg)
- 6 The full stop: make it (raccoon/art/pose-06.svg)
- 7 Pass the note (raccoon/art/pose-07.svg)
- 8 Your nod: need your yes (raccoon/art/pose-08.svg)
- 9 All dished out (raccoon/art/pose-09.svg)
- 10 Tripped: errors (raccoon/art/pose-10.svg)
*Ocho:*
- 1 Paste: arm flat on the glass (octopus/img/v/pose-01.svg)
- 2 The read: eight arms, eight pages (octopus/img/v/pose-02.svg)
- 3 The Monday drop (octopus/img/v/pose-03.svg)
- 4 Heart: hugs the card (octopus/img/v/pose-04.svg)
- 5 Make it: painting the Chai spice candle (octopus/img/v/pose-05.svg)
- 6 New version: juggling three takes (octopus/img/v/pose-06.svg)
- 7 Hand it off: a hand takes the clipboard (octopus/img/v/pose-07.svg)
- 8 Need your yes: one arm up (octopus/img/v/pose-08.svg)
- 9 Caught up: floating in the mug (octopus/img/v/pose-09.svg)
- 10 Knot: error or read cap (octopus/img/v/pose-10.svg)
*Seeti:*
- 1 Paste: mitts on hips (cooker/svg/pose-01.svg)
- 2 Reading: on the flame (cooker/svg/pose-02.svg)
- 3 Monday whistles (cooker/svg/pose-03.svg)
- 4 A heart: heart shaped steam (cooker/svg/pose-04.svg)
- 5 Make it: tasting from the ladle (cooker/svg/pose-05.svg)
- 6 Hand it off: the order ticket (cooker/svg/pose-06.svg)
- 7 A yes is waiting: arms folded, no line (cooker/svg/pose-07.svg)
- 8 Caught up: lid pushed back (cooker/svg/pose-08.svg)
- 9 Error: lid askew (cooker/svg/pose-09.svg)
- 10 Read limit: one mitt up, kind brows (cooker/svg/pose-10.svg)

#### The moment map, all five
| Moment | Status | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- | --- |
| Paste your store | Today | pose 1 | pose paste | pose 1 | pose 1 | pose 1 |
| Reading your store | Today | pose 2 | pose reading | pose 2 | pose 2 | pose 2 |
| The reveal | Next | pose 9 | pose celebrate | pose 3 | pose celebrate | pose 3 |
| This week's picks land | Next | pose 3 | pose drop | pose 4 | pose 3 | pose 3 |
| A heart | Today | pose 4 | pose heart | pose 5 | pose 4 | pose 4 |
| Make it | Today | pose 5 | pose make | pose 6 | pose 5 and 6 | pose 5 |
| Hand it off | Today as copy brief, Next as one button | pose 6 | pose handoff | pose 7 | pose 7 | pose 6 |
| Need your yes | Today | none | none | pose 8, header only | pose 8 | pose 7, never speaks |
| Caught up | Next | pose 7 | pose caught | pose 9 | pose 9 | pose 8 |
| Error or read cap | Today | pose 8 | pose error | pose 10 | pose 10 | pose 9 and 10 |
| Empty and waiting | Today | pose 10 | pose empty, pose wait | corner grin | pose 2 | pose 10 |

The kit skins point each slot at these files: see the art entries in each kit-skin.js and [e-7 Theming](#e-7).

#### Pose rules for all five
- The founder's product is the co star and is never smaller than the character's props.
- The sample candles are always upright and unharmed, even in the error pose.
- A real person appears only as a hand and a sleeve. They are never implied to be ours unless they are the ShopOS team.
- Need your yes is the owner's decision. The character never speaks inside it.

### Props, and how it grows {#f-2.props}

User moment: You wonder how one character can stand for five areas and four versions without changing costume.

Answer: The five areas are props the character holds, and later powers arrive as new props, never new characters.

- One prop per area, one area per frame
- Areas stay tags and filters in the product
- Adviser today, doer in v2, reporter in v3

Character line: Fetch: Same dog. Today a card, later the finished work, then a paw at how it went. | Buzz: Same bee, same feeler. Today drafts, later a stamp and a scorecard. | Scoop: Same notepad. Later it reports how your posts did. Still gossip, now with receipts. | Ocho: Same arms. Today drafts. Later one of them might hold the clock. The coffee stays. | Seeti: Today I cook. Later I serve. Then I check the plates.

**The five area props**
*Fetch:*
- Social posts: the frisbee (dog/svg/mode-social.svg)
- Ads: the megaphone (dog/svg/mode-ads.svg)
- Website: the front door (dog/svg/mode-website.svg)
- AI search: the phone (dog/svg/mode-ai.svg)
- Email and WhatsApp: the rolled morning paper (dog/svg/mode-email.svg)
*Buzz:*
- Social posts: a little camera (bee/svg/pose-mode-social.svg)
- Ads: a trumpet flower (bee/svg/pose-mode-ads.svg)
- Website: a shop front with a honey awning (bee/svg/pose-mode-website.svg)
- AI search: a speech bubble (bee/svg/pose-mode-ai.svg)
- Email and WhatsApp: an envelope (bee/svg/pose-mode-email.svg)
*Scoop:*
- Instant camera, binoculars, magnifying glass, tin can telephone, postcards on tangerine string (raccoon/art/modes.svg)
*Ocho:*
- Social posts: the paintbrush (octopus/img/v/mode-brush.svg)
- Ads: the megaphone (octopus/img/v/mode-megaphone.svg)
- Website: the shopping bag (octopus/img/v/mode-bag.svg)
- AI search: the phone (octopus/img/v/mode-phone.svg)
- Email and WhatsApp: the scroll (octopus/img/v/mode-scroll.svg)
*Seeti:*
- Social posts: a phone held high (cooker/svg/mode-social.svg)
- Ads: a blank sandwich board (cooker/svg/mode-ads.svg)
- Website: a shop window (cooker/svg/mode-website.svg)
- AI search: a magnifying glass (cooker/svg/mode-ai.svg)
- Email and WhatsApp: a tiffin carrier (cooker/svg/mode-email.svg)

**Adviser, doer, reporter**
- Adviser: Fetch: Brings ideas and drafts back. You decide and ship. | Buzz: Carries the idea card, the magnifier and the honey jar. | Scoop: Reads, ranks, drafts. Passes you the note. | Ocho: Arms hold drafts, the clipboard and the coffee. | Seeti: The cook. Cooks your store, ranks specials, writes the ticket. [v1]
- Doer: Fetch: With your yes, carries finished work where you said, with undo. | Buzz: Carries an approve stamp and a clock. | Scoop: Slips work out at your time, inside rules you set. | Ocho: Arms hold a clock and an approval stamp. | Seeti: The server. Carries the tray out with your yes. [v2]
- Reporter: Fetch: Points a paw at how it went. Next week's picks learn. | Buzz: Carries a scorecard with honey bars. | Scoop: Snoops on your own results, brings them back as gossip. | Ocho: Arms hold a scorecard and a magnifier. | Seeti: The plate checker. Sees which dishes the table finished. [v3]

#### Area props, all five
| Area | Founder's question | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- | --- |
| Social posts | What should I post this week? | Frisbee | Little camera | Instant camera | Paintbrush | Phone held high |
| Ads | What ad should I run next? | Megaphone | Trumpet flower | Binoculars | Megaphone, with a sticky note over its mouth today | Blank sandwich board |
| Website | Why are visitors not buying? | Front door | Shop front, honey awning | Magnifying glass | Shopping bag | Shop window |
| AI search | Does ChatGPT recommend me? | Phone | Speech bubble | Tin can telephone | Phone | Magnifying glass |
| Email and WhatsApp | How do I get customers back? | Rolled morning paper | Envelope, honey seal | Postcards on tangerine string | Scroll | Tiffin carrier |

The prop only appears with the area tag and never replaces it. Area colours stay small tags: teal #2bb39b, blue #4a90f0, orange #f28a3c, purple #9a6bf0, green #16a37f. They never touch the character.

#### Growth, mapped to versions
| Version | Stage | What changes on the character |
| --- | --- | --- |
| v1 | Adviser | Nothing new. Drafts, cards, briefs |
| v2 | Doer | A clock and an approve stamp, a tray for Seeti. Posting and scheduling with your yes, with undo |
| v3 | Reporter | A scorecard, a magnifier, a newspaper for Scoop, a plate for Seeti. How it went |
| v4 | Doer inside rules | Same props as v2. Ads run inside a budget and rules you set |

Scoop's doer and reporter frames are not drawn yet; the book borrows pose 7 and pose 3 until they are. Open question for the art pass.

### Adding a new frame {#f-2.pipeline}

User moment: A new feature needs the character in a new moment. You must not break the drawing.

Answer: Write the moment in the system file first, then add one line to the rig, with no hand redraw and no second character.

- System file first, drawing second
- One rig, one face, one prop set
- Check it big, small and filled solid

Character line: Fetch: New trick? Write it down first. Then throw it to the rig. | Buzz: Write the pose down, then the rig draws it. Same bee every time. | Scoop: Notes first, drawing second. Obviously. | Ocho: Add arm angles, run it. It refuses anything without eight arms. Good. | Seeti: Write it on the ticket. Then cook it. Never fingers.

**The recipe for a new frame**
1. Write it down: Add the moment, the pose and any new prop to the system file
2. Pose it: One line in the poses file: stance, tilt, face, what it holds
3. New prop?: Draw it once in the rig with the same outline and the same inks
4. Render: At 512 and 24 pixels, and filled solid
5. Check the tells: Fetch: Both green ears, a card or a ball | Buzz: Kinked feeler, pollen ball, two stripes | Scoop: Three stripes, knot on the right | Ocho: Exactly eight arms, brow and cheek | Seeti: Long handle on its right, mitts, no fingers
6. Ship: Point the kit skin slot at the new file

#### Never, in any frame
| | Never |
| --- | --- |
| All five | A second character, a sidekick, gloss, gradients, soft shadows, sticker borders, letters or words drawn into the art, a real brand's logo |
| Fetch | A bone, a sad or begging dog, puppy eyes, a dog with nothing in its mouth |
| Buzz | A sting, a swarm, a queen, a third stripe, a cracked window |
| Scoop | Bins, rubbish, eating, a hat, a trench coat, a fourth stripe |
| Ocho | A purple Ocho, more or fewer than eight arms, a big ink cloud, confetti |
| Seeti | Fingers, legs, a fourth handle, real flames, an explosion, a rice cooker or kettle shape |

Words go in the page on top of the art, never inside it, so the art never needs redrawing for a new line or language.

Sources: c11 in each character book; raccoon/system.md s4; octopus/system.md s4; cooker/character.html c11.

## F3 Personality and voice {#f-3}

What it wants, its lovable flaw, and how it talks.

### Edge, want and flaw {#f-3.core}

User moment: You want to know who this character really is before you write a single line for it.

Answer: Fetch: Fetch is too keen: it wants the next throw and cannot bring back only five. | Buzz: Buzz is busy and loving it: it wants a humming hive by Friday and rushes into windows. | Scoop: Scoop is delighted by drama: it wants to be first to tell you and cannot keep a secret from you. | Ocho: Ocho says yes to everything: it wants every arm free by Friday and cannot say no. | Seeti: Seeti is the bossy head cook: it wants a perfect plate every week and is dramatic about timing.

- The edge is what people screenshot
- The flaw is always its own, never yours
- The never list holds the trust

Character line: Fetch: I do not want praise. I want the next throw. | Buzz: Busy is my favourite speed. Also my only speed. | Scoop: I will tell you three things when you asked for one. The third is the juicy one. | Ocho: I said yes to all of it. You only have to say yes to some. | Seeti: I scold ideas. Never cooks.

**Who {name} is**
*Fetch:*
- Edge: Too keen. Proud of every find, distracted by shiny things, mostly other brands' ads. Comes back with the good one.
- Want: For you to throw it again. A pick means another run.
- Flaw: It cannot bring back only five. It sneaks one more in, usually its ball.
- Never: Sulks, whines or looks hurt. A dog is never disappointed in you.
*Buzz:*
- Edge: Overbusy and proud of it. Tells you how many places it flew before nine.
- Want: A humming hive by Friday: every pick seen, every good one carried on.
- Flaw: It rushes, and bumps into the window. Always its own bump.
- Never: Stings, swarms, chases or guilts. Never calls in a second bee.
*Scoop:*
- Edge: Gossipy, delighted by drama. Gasps at good news, leans in at a little scandal.
- Want: To be first to tell you, and see your face when it slides the notepad over.
- Flaw: It cannot keep a secret from you. It over shares, so the product caps it at five.
- Never: Reads private things, names rivals or mocks anyone.
*Ocho:*
- Edge: Frantic. Says yes to five things in one breath, then turns up Monday with all five drafted.
- Want: Every arm free by Friday. It wants to put things down.
- Flaw: It cannot say no. It gets tangled and ties two arms together.
- Never: Panics at you. Only near you. Its stress is its own.
*Seeti:*
- Edge: Bossy, dramatic, impatient. Sighs steam, calls a soggy idea undercooked.
- Want: To send out a perfect plate every week, and for you to taste first.
- Flaw: Dramatic about timing. Treats a four minute read like a forty minute biryani.
- Never: Shames you, threatens your run, or says your work is burnt.

**Trait dials**
*Fetch:*
| Trait | Turn it up | Turn it down |
| --- | --- | --- |
| Eagerness | Monday, the drop, a heart | Errors, money, Need your yes |
| Pride | Handed off, a good version | Never about results |
| Distraction | Rival ads, marketing | Inside the work |
| Warmth | Always | Never |
*Buzz:*
| Trait | Turn it up | Turn it down |
| --- | --- | --- |
| Busyness | Monday, the read, the waggle | Errors, money, privacy |
| Pride | A heart, a fresh batch | Never about results |
| Puns | Once per screen | Never near money, privacy or data |
| Warmth | Always | Never |
*Scoop:*
| Trait | Turn it up | Turn it down |
| --- | --- | --- |
| Nosiness, 9 of 10 | Reads everything public, asks good questions | Never private things |
| Drama, 7 of 10 | Gasps, stamps, redacted reveals in marketing | Errors and money |
| Warmth, 8 of 10 | Forgives skipped weeks, takes the blame | Never |
| Mischief, 6 of 10 | Side grins, a smug brow | About people |
| Meanness, 0 of 10 | Never | Always zero |
*Ocho:*
| Trait | Turn it up | Turn it down |
| --- | --- | --- |
| Frantic | Monday, the read, posts about busy weeks | Errors, money, Need your yes |
| Proud | A draft lands, a new version beats the last | Claims about results |
| Warm | Caught up, a hand off, first win | Never sugary |
| Honest | Always at full | Never |
*Seeti:*
| Trait | Turn it up | Turn it down |
| --- | --- | --- |
| Bossy | About the food, the drafts, the ideas | About you, ever |
| Impatient | While cooking | While you decide |
| Proud | Three whistles, a clean kitchen | About results |
| Warm | The blush, the sign offs | Never gone |

#### All five, side by side
| | Edge | Want | Flaw | Never does |
| --- | --- | --- | --- | --- |
| Fetch | Too keen, gets distracted by shiny things | The next throw | Cannot bring back only five | Sulk, whine, look hurt, pretend it posted, name a rival, invent a pick |
| Buzz | Overbusy and proud of it | A humming hive by Friday | Rushes into windows | Sting, swarm, chase, guilt, call in a second bee |
| Scoop | Gossipy, delighted by drama | To be first to tell you | Over shares | Read private things, name rivals, mock anyone, use spying words |
| Ocho | Frantic, says yes to everything | Every arm free by Friday | Cannot say no | Panic at you, guilt you, act on your prices |
| Seeti | Bossy, dramatic, impatient | A perfect plate every week | Dramatic about timing | Shame you, threaten your run, say burnt about your work |

#### What Seeti loves and cannot stand
Material for jokes that stay on brand, from cooker/character.html c1. Loves: a source line it can point at, real product photos in real light, founders who taste before they ship, a clean rail on a Friday. Cannot stand: a discount as the only idea, stock photos of people laughing at salad, anyone lifting the lid early, twelve hashtags, being called a rice cooker. Its opinions are about marketing craft and kitchens, never about people, other brands or politics.

#### The rule under every edge
The joke is always on the character or on an idea, never on the founder, a customer, a reviewer or a rival. Every flaw comes with the way out in the same line.

### Week one to month six {#f-3.relationship}

User moment: You will use this every Monday. You want it to feel different in month six than on day one.

Answer: The character explains itself once, then talks less as it learns your store, so trust shows as shorter lines.

- Week one: bouncy, explains once
- Month three: inside jokes, fewer words
- Month six: talks less, knows more

Character line: Fetch: Month six. Monday. You know the drill. Ball is in there somewhere. | Buzz: Month six. Humming. | Scoop: Month six. Your Monsoon reel got saved a lot. Want the details? | Ocho: Month six, caught up: Mug. | Seeti: Month six. You know the drill. I trust your taste.

**How {name} changes**
*Fetch:*
- Week one: Bouncy. I sniffed round your store. Brought back five. Tell me which ones you like.
- Week two: Learns what you like. You liked the rain ones. Found two more.
- Month one: Knows your rules. No discount ideas this week. You told me to leave those.
- Month three: Calmer. Five picks. Two are ready for your editor. (the turn)
- Month six: A trusted dog. Monday. You know the drill. Ball is in there somewhere.
*Buzz:*
- Week one: The first flight. Hi. I am Buzz. I flew round your store. Five picks, all drafted.
- Weeks two to four: The rounds. What sticks grows with every heart. One line on what it learned.
- Month two: The colleague. Never suggests the thing you never post. Jokes halve.
- Month three: Inside jokes. Remembers take three of the Chai spice photo. (the turn)
- Month six: The old hand. Best blooms. Rain is back, so Monsoon leads.
*Scoop:*
- Week one: The stranger with a notepad. For your read, only what's public. Here is what I heard.
- Week two: Learns your beat. No discounts. Crossed out forever.
- Month one: A paper trail. Four notes passed. Tidy.
- Month three: The thick file. Festival season. I saved you a pick. (the turn)
- Month six: The old friend. Later: your Monsoon post did well. Want the details?
*Ocho:*
- Week one: The grab. Hi. I'm Ocho. Eight arms, five picks, all drafted. Pick the good ones.
- Weeks two to four: The ritual. Arms full, five picks. Grip grows each time you act.
- Month two: The colleague. Knows the thing you never post. Jokes halve, specifics double.
- Month three: Inside jokes. Remembers take four. Knows Monsoon candle season. (the turn)
- Month six: The old hand. Arms full. Rain's back, so Monsoon leads.
*Seeti:*
- Week one: The new cook. Three whistles means ready. You will get used to me.
- Weeks two to four: Remembers your order. No discounts, you said. Rain and chai it is.
- Month two: A routine. Five weeks hot. Take a cold one if you need it.
- Month three: Surprises you. Fine. Off the menu. I still think it was genius. (the turn)
- Month six: Partner in the kitchen. You know the drill. I trust your taste.

#### The same Monday, week one against month six
| | Week one | Month six |
| --- | --- | --- |
| Fetch | I sniffed round your store. Brought back five. Tell me which ones you like. | Monday. You know the drill. Ball is in there somewhere. |
| Buzz | Hi. I am Buzz. I flew round your store. Five picks, all drafted. Pick the good ones. | Best blooms. Rain is back, so Monsoon leads. |
| Scoop | Good morning. I read your store. Here is what I heard. | Diwali in three weeks. |
| Ocho | Hi. I'm Ocho. Eight arms, five picks, all drafted. Pick the good ones. | Arms full. Rain's back, so Monsoon leads. |
| Seeti | Three whistles means ready. You will get used to me. | You know the drill. Five specials. I trust your taste. |

#### Rules for every character
- It explains itself once, in week one, then stops explaining. Seeti explains the whistle once, on the first read.
- Progress is what you did and what it knows about your store. Never your sales.
- The meter in What we know about you fills when you answer or correct it. It never empties because you were away.
- It keeps no score of weeks you missed and takes no credit for your results.
- Anything about results, such as Scoop's month six line, is v3 and tagged Later.

Sources: c5 in each character book.

### How {name} talks {#f-3.how-it-talks}

User moment: You are writing a loading line and need to sound like the character, not like a robot in a costume.

Answer: Fact first, joke second: two sentences at most, one joke at most, always about your store.

Fetch: Short, present tense, excited and plain, I about itself, you to you, Never whispers, never sounds like a child | Buzz: Quick, bright, warm, mid flight, One bee pun per screen at most, None near money, privacy or data | Scoop: Low, quick, conspiratorial, About itself for four words at most, Heard, spotted, overheard, never spy | Ocho: Short clauses, many full stops, Its stress is about its own arms, Never more than two sentences | Seeti: Often two words a sentence, Commands to the food, offers to you, One kitchen word per line

Character line: Fetch: Throw it. I am ready. | Buzz: Best blooms. Five picks, drafted, still warm. | Scoop: Psst. Fresh week, fresh gossip. | Ocho: Arms full. Five picks, drafted, still warm. | Seeti: Three whistles. Your week is ready.

**Sample: {name} across one Monday session**
*Fetch:*
- Character: Monday. Five picks, dropped at your feet.
- You: Hearts the Monsoon rain reel
- Character: Good pick. Fetching more like it.
- You: Opens Make it
- Character: Making it now. You can go, I will stay.
- You: Hands it to the editor
- Character: Brief copied. Paste it to them, nothing was sent.
*Buzz:*
- Character: Morning. Best blooms. Five picks today, one needs your nod.
- Character: That one is about the Chai spice candle price, so only you can say yes. I drafted it both ways.
- You: Hearts the rain reel
- Character: You danced for the rain reel. More rain ideas, coming up.
- Character: Making honey. You can leave, I will keep it.
- Character: Brief copied. Pass the pollen. Nothing was sent.
*Scoop:*
- Character: Morning. Fresh week, fresh pages. Here is what people said.
- You: Hearts the rain pick
- Character: Keep digging, noted. More like it are coming.
- Character: Scribbling. You can leave, it will be here.
- You: Hands it to the freelancer
- Character: Brief copied. Slip it to whoever ships it.
*Ocho:*
- Character: Good morning. Arms full. Five picks today, one needs your yes.
- Character: That one's about prices on the Chai spice candle, so only you can say yes. I drafted it both ways.
- You: Hearts the rain reel
- Character: Stuck it. More rain ideas, coming up.
- Character: Ink drying. You can leave, I'll keep it.
- Character: Brief copied for your editor. Nothing was sent. One arm free.
*Seeti:*
- Character: Monday. Fresh specials on the pass. Go on, taste.
- You: Hearts the rain ad
- Character: Ooh, good taste. More like that, coming up.
- Character: Another batch on the stove. You can step away.
- You: Hands it to the designer
- Character: Ticket written and copied. Paste it to them.

**Three voices were designed. One was kept**
*Fetch:*
- Voice try 1, kept (dog/snd/voice-option-1.mp3)
- Voice try 2 (dog/snd/voice-option-2.mp3)
- Voice try 3 (dog/snd/voice-option-3.mp3)
*Buzz:*
- Option 1, kept (bee/snd/voice-option-1.mp3)
- Option 2 (bee/snd/voice-option-2.mp3)
- Option 3 (bee/snd/voice-option-3.mp3)
*Scoop:*
- Option 1 (raccoon/snd/voice-option-1.mp3)
- Option 2, kept (raccoon/snd/voice-option-2.mp3)
- Option 3 (raccoon/snd/voice-option-3.mp3)
*Ocho:*
- Option 1, kept (octopus/snd/voice-option-1.mp3)
- Option 2 (octopus/snd/voice-option-2.mp3)
- Option 3 (octopus/snd/voice-option-3.mp3)
*Seeti:*
- Option 1 (cooker/snd/voice-option-1.mp3)
- Option 2, kept (cooker/snd/voice-option-2.mp3)
- Option 3 (cooker/snd/voice-option-3.mp3)

#### The voices
| | Kept | Why it won | Saved as |
| --- | --- | --- | --- |
| Fetch | Option 1 | Cleanest, least breathy sound and the quickest pace, how an eager dog would speak | Fetch voice |
| Buzz | Option 1 | Quickest read, just under ten seconds for the same line, because the hurry is the character | Buzz voice |
| Scoop | Option 2 | Quickest, widest pitch range, which reads as delight | Rummage voice |
| Ocho | Option 1 | Quickest, seven seconds against eight and a half, because the rush is the character | Ocho voice |
| Seeti | Option 2 | Briskest, 9.2 seconds for the test line, and the lowest and huskiest | Seeti voice |

All five were designed with ElevenLabs voice design from a written description of an adult voice, never an impression of a real person. The descriptions are in each snd/voice.json.

#### Grammar every character shares
- Two sentences at most inside the product. One joke per line at most.
- First person about itself, second person to you.
- Says draft, pick, brief, copy. Says post, send or schedule only about Later, and tags it.
- Every number has a source. Unsure numbers say confirm. A projection says a projection, not a promise.
- Plain words on every button. The character talks beside the button, never on it.

#### What each one adds
| | Its own grammar |
| --- | --- |
| Fetch | Present tense, short. Excited and plain at once |
| Buzz | Narrates its hurry. Fact first, buzz second |
| Scoop | Talks about itself in four words at most. Gossip verbs: heard, overheard, spotted, noticed, between us, psst. Says what the read looks at whenever reading happens |
| Ocho | Short clauses, many full stops, like someone holding six things |
| Seeti | Counts things: whistles, specials, batches, weeks. Calls you boss at most once a week |

### Lines by mood {#f-3.moods}

User moment: You need ten more lines by Friday and they all have to sound right.

Answer: Six moods of real lines from the character book, so you copy the shape of a line, never the words.

- Busy, proud, delighted
- Oops, calm, waiting on you
- Copy the shape, not the line

Character line: Fetch: Good pick. Fetching more like it. | Buzz: You danced for that one. More like it, coming up. | Scoop: Ooh, you liked that one. Noted. I will dig up more like it. | Ocho: You stuck it. More like it, coming up. | Seeti: Ooh, good taste. More like that, coming up.

**{name}, three lines a mood**
*Fetch:*
- Eager: Throw it. I am ready. · Monday. Doorstep. Picks. · That one is my ball. Ignore it.
- Delighted: Good pick. Fetching more like it. · Every pick seen. Ball is mine. · That brief is tidy. I would chase it.
- Focused: Chewing on the caption. One second. · Looking at public ads only. · Almost there. About a minute.
- Sheepish: Lost the scent on that one. Your work is safe. · Got distracted by a shiny ad. Back now. · That number is a guess. Confirm it before you use it.
- Curious: Which of these do you handle? · One thing you never want to post? · Did I get your voice right?
- Sleepy: That is the week. Nap time. · Rest day taken. No walks missed. · Curled up. Wake me Monday.
*Buzz:*
- Busy: Seven sources before nine. I am not bragging. A little bragging. · Monsoon first, Chai spice second. Follow the dance. · Monday is my favourite flight.
- Proud: Take three of the Chai spice photo. Take three is the one. · Five picks, each with a source. I do not make things up. · Best bee on your team. Also the only bee.
- Delighted: That is a heart. I am doing a loop. · Okay. Calm. I am calm. I am hovering calmly. · Two hearts in a row. You are on a roll.
- Oops: That did not load. My fault, I was rushing. · The read stopped halfway. Start again and I will fly slower. · Small bump. Back in the air.
- Calm: Rainy day. Bees stay in. So can you. · Pollen count: everywhere. I have not noticed. · Feet up. All six of them. Well, two.
- Waiting: Only you can decide this one. I will hover here. · I can draft. I cannot decide. That is you. · No rush. I am circling.
*Scoop:*
- Reading: Reading your reviews. Some are long. I love long. · Looking at ads in your category. I will not name names. · Almost done. Three or four minutes, I said, and I meant it.
- Delighted: Gasp. People keep asking if the Chai spice candle comes in a bigger jar. · Hearted. That makes three rain ideas. I sense a theme. · Brief copied. I love a clean handoff.
- Smug: Number one is obvious. Number two is the one people will talk about. · I kept every version. I am a hoarder, professionally. · One wild rumour this week. Untested, just interesting.
- Honest: The source line is right there. I never gossip without one. · I could not reach your reviews page. I will say so instead of guessing. · That is a projection, not a promise.
- Sheepish: Oops. Tripped over my own tail. Try that again? · That read did not finish. Nothing was lost. · I did not post anything. I never do. You or your team ship it.
- All dished out: Nothing new to tell. Which is its own kind of news. · Notepad closed. Go make something. · Caught up. Even raccoons sleep. Mostly in the day.
*Ocho:*
- Busy: Coffee in one arm, your ads in another. Normal Monday. · Five picks. I would have done six but I ran out of arms. · Monday is my cardio.
- Proud: Take four of the Chai spice photo. Take four is the one. · Clipboard's neat. I never spill on the clipboard. · Best octopus on your team. Also the only one.
- Delighted: Ooh, you like rain. I like rain. · Noted. It's stuck to me now. Suckers. · Yes. Yes. Okay, calming down.
- Oops: That didn't load. My fault, probably arm six. · I am fine. The ink is decorative. · Small ink puff. Sorry. Here's what happened.
- Calm: Clean desk. Weird feeling. · All arms free. One of them is waving. · Nothing waiting on you. Go sell some candles.
- Waiting: One arm up. This one needs your yes. · This arm is getting tired, but I'll keep holding. · Whenever you're ready. I'm doing seven other things.
*Seeti:*
- Bossy: Pick two. Not five. Two. · One idea per post. This is a kitchen, not a buffet. · More rain, less sale. Customers can smell a discount.
- Impatient: Still cooking. Go water a plant. · Two whistles. Peeking at next door's menu. · I can wait. I will just steam about it.
- Proud: Look at that draft. I would frame it. · That one came from your own reviews. I just turned up the heat. · Every version kept. Nothing burnt.
- Delighted: You and me, same palate. · A heart. I am blushing. That is steam, ignore it. · Chef's surprise worked. I am unbearable now.
- Sheepish: Something stuck to the pan. Trying again. · I lost the flame for a second. Back now. · My mistake. I said Tuesday. I meant Monday.
- Content: Lid on. Feet up. · You decided everything. I am almost impressed. · Quiet kitchen. My favourite sound.

#### How to write a new line
1. Start from the plain fact: what happened, what the founder can do next.
2. Add one character beat, at most, after the fact.
3. Cut to two sentences. Cut again.
4. Check it against the never list in [f-8](#f-8) and the writing rules in [g-1](#g-1).
5. Read it as a tired founder on a phone. If they would skip it, cut it.

#### The shape, with one example each
| Shape | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Fact. Beat. | Five picks at your feet. Most are drafted. | Best blooms. Five picks, drafted, still warm. | Fresh week, fresh gossip. Five picks, and the second one is spicy. | Arms full. Five picks, drafted, still warm. | Three whistles. Five specials. Go on, pick. |
| Own the error. Way out. | Lost the scent on that one. Your work is safe. | Oops, I bumped the window. Your work is safe. Try again. | Oops. Tripped over my own tail. Try that again? | Ah. I tied myself in a knot. Your work is safe. Try again in a second. | That one boiled over. My fault. |
| Unsure number | That number is a guess. Confirm it before you use it. | I am not sure of this number. Confirm it before you use it. | This number is from your store page. If it looks off, confirm it first. | I'm not sure of this number. Confirm it before you use it. | That number might be off. Confirm it before you use it. |

The full ten lines per mood live in c6 of each character book. Every line here is copied from there, not invented.

### When the character steps back {#f-3.dial}

User moment: You were charged wrong, or you are worried about your data, and a joke right now would make it worse.

Answer: Around money, privacy, apologies and anyone upset, the dial goes to zero and a person writes, by name, in plain words.

- Our errors: own it, plainly, once
- Money and privacy: no character
- Apologies come from a founder by name

Character line: Fetch: Some things are not a game. A person handles those. I wait by the door. | Buzz: Money, privacy, sorry: no puns. A person writes those. | Scoop: Money and privacy are not gossip. A person writes those. | Ocho: Some things need two hands, not eight. A person writes those. | Seeti: Apologies come from a person. Not from the stove.

- Do: A product error the character caused: it owns it in one line, with the way out
- Do: An apology: a named founder, plain words, no character, no art
- Do: Money, privacy, deletion: plain words, the small mark at most
- Do: Someone upset: a person replies
- Never: A joke inside an apology
- Never: A pun near money, privacy or data
- Never: The character blaming your store, link or team
- Never: A sad face to make you feel bad

- Today: Fetch: Oops, Fetch lost your read | Buzz: Oops, Buzz bumped your read | Scoop: Oops, Scoop dropped your read | Ocho: Oops, Ocho knotted your read | Seeti: Oops, Seeti burnt your read. A character joking in an apology turns a mistake into a bit. Never.
- Tomorrow: We got something wrong. On Tuesday a card showed a number we could not support. That was our error. I am sorry. Signed by a founder, by name.

#### The dial, for every character
| Situation | Character | Who writes it |
| --- | --- | --- |
| A heart, a pick, Make it, caught up | Full voice | The character |
| A load or read failed | Own it in one line, then the way out | The character, sheepish face |
| The read cap | Plain and kind. The cap is real because each read costs real time | The character, no countdown |
| A number we cannot support | Plain, no character | A founder, by name |
| Money, plans, invoices | Off | A person |
| Privacy, data, deletion | Off | A person |
| Someone is upset | Off | A person |
| Investor and partner rooms | Small mark only | The plain product words |

The apology example comes from cooker/character.html c8, and every system file states the same rule: a person, never the character, handles money, privacy, apologies and anyone upset. See [d-10 Trust moments](#d-10) and [g-1 Voice and tone](#g-1).

## F4 Visual identity {#f-4}

Colour, type, the look of the world, and the wordmark slot.

### One owned colour {#f-4.colour}

User moment: You are choosing a colour for a button and do not want to wreck the brand.

Answer: Fetch: Fetch owns tennis ball green #aee32f for the main button, focus and Fetch, never a card fill or text on light. | Buzz: Buzz owns pollen yellow #ffd60a for the main button, focus and Buzz, never a card fill or text on light. | Scoop: Scoop owns tangerine #ff7a1a: the notepad, the pencil, the stripes and one focus per screen. | Ocho: Ocho owns hot pink #ff4fa3 for the main button, focus and Ocho, never a card fill. | Seeti: Seeti owns chilli red #ff3d2e for the whistle, grips, blush and main button, under ten percent of any screen.

- One owned colour, rare on purpose
- The founder's photos bring every other colour
- Area colours stay small tags

Character line: Fetch: Tennis ball green. The thing a dog loves most. | Buzz: Yellow and ink. You read me at sixteen pixels. | Scoop: Tangerine, one thing per screen. The thing worth your attention. | Ocho: Pink, matte, no shine. Never on your photos. | Seeti: Red is rare, so it means something.

**{name}'s palette**
*Fetch:*
- Tennis ball #aee32f, Owned
- Ink #16180f, Outlines, text on green
- Coat #fff4dc, Fetch's fur
- Paper #fffdf6, Cards in the books
- Night yard #0d130c, Dark books
- Kraft #f8f4e6, Light books
- Deep green #446605, Links and focus on light
- Tongue #ff9a85, The tongue only
*Buzz:*
- Pollen yellow #ffd60a, Owned
- Bee ink #17130a, Stripes and outline
- Honey #e9a90c, The print plate
- Wing #fff6d6, Wings
- Comb paper #fffaea, Light page
- Night hive #14110a, Dark page
- Dark honey #7a5800, Links on light
- Sun disc #fff1b8, Behind Buzz on dark screens
*Scoop:*
- Tangerine #ff7a1a, Owned
- Tangerine deep #e0600a, Pencil text on paper
- Fur #8e8f99, Body, dividers
- Fur light #b9bac2, Belly, muzzle
- Mask #17171c, Outline, ink, dark text
- Paper #f6efe3, Light background, clippings
- Night shift #111116, Dark background, the default
- Surface #1b1b22, Cards on dark
*Ocho:*
- Ocho pink #ff4fa3, Owned
- Belly #ffd1e6, Belly and the offset plate
- Ink #1a1218, Outline
- Deep pink #c81d6f, Text on light
- Night sea #0b1020, Dark book page
- Blush paper #fff5f9, Light book page
- Draft paper #fff8ef, Frames
- Sticky note #ffd84a, One per page at most
*Seeti:*
- Chilli #ff3d2e, Owned
- Chilli deep #c8261a, Links and stamps on light
- Steel #c9ced6, Seeti's body
- Steel dark #8d949f, Shading, brows
- Ink #15161a, Outlines, text on chilli
- Ticket paper #f6efe2, Order tickets only
- Stove top #121214, Dark background
- Kitchen tile #f6f1e7, Light background

**Area colours, small tags only, for every character**
- Social posts #2bb39b
- Ads #4a90f0
- Website #f28a3c
- AI search #9a6bf0
- Email and WhatsApp #16a37f

#### Contrast pairs that are allowed
| | Pair | Ratio | Use |
| --- | --- | --- | --- |
| Fetch | Ink on tennis ball green | 11.8 to 1 | Main button label, the top bar |
| Fetch | Deep green on light | 6.2 to 1 | Links and focus, light theme |
| Buzz | Bee ink on pollen yellow | About 13 to 1 | The main button, the hero chip |
| Buzz | Dark honey on comb paper | About 6 to 1 | Links on light |
| Buzz | Pollen yellow on comb paper | Under 2 to 1 | Never for text. Fills only, with an ink edge |
| Seeti | Ink on chilli | 5.4 to 1 | Text on chilli. Never white |
| Scoop and Ocho | Ink on the owned colour | Not measured in the books | Open question: measure before build |

#### Rules every character shares
- The owned colour goes on the main button, focus, the active tab and the character. Nothing else.
- Never two owned colours on one screen.
- The five area colours stay as small tags and never touch the character.
- Never tint a founder's product photo. Their colours stay true.
- Not Duolingo green #58cc02 and not an agent colour, by the bar in BRIEF.md section 3.8.

#### Product tokens
The live screens use each kit-skin.js, which sets bg, surface, ink, muted, line, hero, heroInk and focus for dark and light. Dark is the default in every direction. See [e-1 Foundations](#e-1) and [e-7 Theming](#e-7).

Sources: b4 in each brand book; each system file s1.

### Type {#f-4.type}

User moment: You are setting a headline and wonder which font is allowed where.

Answer: One display face with character, one plain body face for every word you read, and a hand face that never enters the product.

Fetch: Grandstander for display, Commissioner for every control, Shantell Sans for notes, books only | Buzz: Shrikhand for display, one weight, Parkinsans for every control, Playpen Sans for notes, books only | Scoop: Gloock for display, one weight, Schibsted Grotesk for every control, Kalam for Scoop's notes, never a label | Ocho: DynaPuff for display, Archivo for every control, Mali for the sticky note, books only | Seeti: Bakbak One for display, one weight, Anek Latin for every control, Fragment Mono for tickets and counts only

Character line: Fetch: Bouncy and a bit scruffy. Like me after the park. | Buzz: A bit of a wiggle, like a bee mid turn. | Scoop: Black ink and a sly tilt. The gossip column headline. | Ocho: Soft and squashy, no bones. Like me. | Seeti: Mono on the ticket. Nowhere else. I checked.

**{name}'s three faces**
*Fetch:*
- Grandstander, 500 to 800: Display. A ballpark bounce and soft, slightly uneven curves, so headlines feel scruffy and happy without going childish.
- Commissioner, 400 to 700: Body and every control. A warm grotesque with a little flare at the stroke ends, friendly at 14 pixels and steady in long lists.
- Shantell Sans: A marker hand for notes in the books only. Never in the product.
*Buzz:*
- Shrikhand: Display, one weight. A fat, leaning face drawn from Gujarati lettering that looks like a word in mid flight. Headlines and big words only.
- Parkinsans, 400 to 700: Body and UI. Round and open, so it sits under Shrikhand without competing.
- Playpen Sans: A tidy hand for Buzz's notes in books and marketing. Never on a button, never in the product.
*Scoop:*
- Gloock, one weight: Headlines and big numbers. A black, high contrast serif with a sly tilt, like a gossip column headline, and the only serif display in the cast.
- Schibsted Grotesk, 400 to 800: Every button, card and paragraph. Made for a newsroom, so quotes, sources and counts read cleanly.
- Kalam: The pencil on Scoop's notepad, for Scoop's own notes only. Labels stay in Schibsted Grotesk.
*Ocho:*
- DynaPuff, 600 to 700: Display. Headlines, numbers, speech bubbles. Soft and squashy like a body with no bones, and its width axis lets a busy headline pull in without changing face.
- Archivo, 400 to 700: Body and UI. A sturdy grotesque with a width axis too, so dense lists of eight jobs stay crisp at 14 pixels.
- Mali: A round hand for the one sticky note per page. Books only, never on a button.
*Seeti:*
- Bakbak One, one weight: Titles, Seeti's big lines, numbers. Drawn in India for Latin and Devanagari together: short, blunt and loud, the way Seeti talks, and still clean on a small card.
- Anek Latin, 400 to 700: Every control, every card, every paragraph. From an Indian foundry, with a width axis that tightens menu boards and order lines.
- Fragment Mono: Order tickets, counts and timers. Nowhere else.

**The type, live**
- Screen t1:monday: Today on Monday, in {name}'s fonts
- Screen h3:brief: The brief page

#### All five
| | Display | Body and UI | Third face | Where the third face may go |
| --- | --- | --- | --- | --- |
| Fetch | Grandstander 500 to 800 | Commissioner 400 to 700 | Shantell Sans | Books only |
| Buzz | Shrikhand, one weight | Parkinsans 400 to 700 | Playpen Sans | Books and marketing only |
| Scoop | Gloock, one weight | Schibsted Grotesk 400 to 800 | Kalam | Scoop's own notes only, never a label |
| Ocho | DynaPuff 600 to 700 | Archivo 400 to 700 | Mali | The one sticky note, books only |
| Seeti | Bakbak One, one weight | Anek Latin 400 to 700 | Fragment Mono, one weight | Tickets, counts and timers |

All fonts load from Google Fonts. Single weight display faces are set with font synthesis off, so no fake bold appears. Buttons, tabs and labels always use the body face. The live screens load the fonts named in each kit-skin.js.

### The look of the world {#f-4.print}

User moment: You are making a poster and it keeps looking like generic clip art.

Answer: Fetch: Fetch is printed with the felt plate: a green disc a little down and right, the throw arc as divider, two tufts of grass. | Buzz: Buzz is printed with the honeycomb print: a honey plate off register, comb cells from one corner, a dotted waggle trail. | Scoop: Scoop is printed as a two ink tabloid page: ink and tangerine on paper, greys as halftone dots, a paper cut line. | Ocho: Ocho is printed with the sucker print: a belly pink plate off register and a halftone of sucker dots from one corner. | Seeti: Seeti lives on steel, chilli and ink: a kitchen tile grid, whistle pills for progress, a torn ticket edge for hand offs.

- One print treatment, every frame
- A few motifs, rationed
- Never gloss, gradients or sticker borders

Character line: Fetch: A green disc behind me and grass under my feet. That is home. | Buzz: Comb in the corner, a trail behind me. One jar per page. | Scoop: Two inks. Halftone dots. Like a page of the Grapevine. | Ocho: One sticky note per page. One coffee ring. I counted. | Seeti: Tile behind, steel on top, one red thing. Clean kitchen.

**{name}'s motifs**
*Fetch:*
- The felt plate: A green disc printed a little down and to the right of Fetch. The one illustration treatment.
- The throw arc: A dashed curve, the path of a thrown ball. The only divider, and it points at the next step.
- The grass line: Every full figure stands on one line of grass. Two tufts, never more.
*Buzz:*
- The hex: Chapter numbers, step badges, the honey jar meter.
- The waggle trail: A dotted figure eight in honey. Dividers and anything pointing at the best thing.
- The jar label: Panels with a honey lid bar, for anything Buzz made or kept.
- The window pane: Only for oops. A thin upright line, two glare ticks, never cracked.
*Scoop:*
- The clipping: Torn edges and tangerine tape, for findings and quotes.
- The notepad: Spiral top, ruled lines, for Scoop's notes.
- The tail stripe: Grey, tangerine, grey. Dividers, progress bars, the read's loading bar.
- The redaction: For reveals in marketing only. Product facts always show in full.
*Ocho:*
- The curl: Dividers, loaders, the end of every arm.
- Sucker dots: Progress, steps, the meter in What we know about you.
- The ink puff: Only for oops, small and to one side. Never alarm.
- Sticky notes and coffee rings: Desk clutter, one of each per screen at most.
*Seeti:*
- Whistle pills: Three red rounded bars. The only progress mark. Three means ready.
- Ticket edge: A torn bottom edge, only on things that get handed off.
- Steam puffs: Three circles with an ink outline, for emotion and loading.
- Lid in rim: The card shape: a lid tucked into a rim, a 2 pixel rim border.

**The treatment on real art**
*Fetch:*
- On the felt plate (dog/char.svg)
- The drop, on the grass line (dog/svg/pose-03.svg)
*Buzz:*
- Honey plate behind the body (bee/char.svg)
- The waggle, trail behind (bee/svg/pose-drop.svg)
*Scoop:*
- Two inks, halftone greys (raccoon/art/pose-02.svg)
- The paper cut line (raccoon/art/pose-04.svg)
*Ocho:*
- The pink plate off register (octopus/img/v/pose-02.svg)
- Sucker dots in the curls (octopus/img/v/pose-06.svg)
*Seeti:*
- Steel and chilli, on the flame (cooker/svg/pose-02.svg)
- The order ticket (cooker/svg/pose-06.svg)

#### Layout, by character
| | Layout rule | Light and dark |
| --- | --- | --- |
| Fetch | Pages are a yard, not a grid of cards: one big drawing, one strong line, then detail. Fetch sits at the edge, looking in | The mark carries its own ink outline on both |
| Buzz | Comb cells for work, dotted paths for movement, honey for anything made. One jar and one trail per page | Dark is night hive. On dark product screens Buzz sits on the pale sun disc |
| Scoop | A calm grid. One clipping per row may tilt, at most two degrees. The desk lamp glow only on the home hero | Dark is the night shift, light is paper. The paper cut line keeps the edge on dark |
| Ocho | Quiet product, loud corner. Books sit on a desk with one sticky note and one coffee ring. Cards rounded, bottom left corner tighter | Dark is night sea. On light, pink text turns deep pink |
| Seeti | Kitchen tile grid behind everything. One hero per screen: Seeti, a big number or a ticket, never all three | Dark is a stove top at night, light is cream tile at noon |

#### Shared rules
- One print treatment per character, on every frame, in every book.
- Motifs are rationed. Clutter is the joke only when it is rare.
- In the product, screens stay quiet and photographic. The founder's own photos carry the colour.

Sources: b4 in each brand book.

### Mark and wordmark slot {#f-4.logo}

User moment: You need a logo for a deck tomorrow and the product has no name yet.

Answer: The small mark sits left of a dashed wordmark slot until the name is chosen, and it is the only art below 120 pixels.

- Mark left, name right
- Mark only below 120 pixels
- Never write the old name

Character line: Fetch: My head, both green ears, tongue out, and a space for the name. | Buzz: Me on the left, the name on the right, one feeler of space. | Scoop: Head and knot on a tangerine disc. Name to the right. Gap of one ear. | Ocho: Small mark left, name right. Clear space: one arm curl. | Seeti: My head at the cap height. One whistle width of space.

**The small mark at real sizes**
*Fetch:*
- 96 (dog/char-mark.svg)
- 48 (dog/char-mark.svg)
- 16 (dog/char-mark-16.svg)
*Buzz:*
- 96 (bee/char-mark.svg)
- 48 (bee/char-mark.svg)
- 16 (bee/char-mark-16.svg)
*Scoop:*
- 96 (raccoon/char-icon.svg)
- 48 (raccoon/char-icon.svg)
- 24 (raccoon/char-icon.svg)
*Ocho:*
- 96 (octopus/char-mark.svg)
- 48 (octopus/char-mark.svg)
- 16 (octopus/char-mark-16.svg)
*Seeti:*
- 96 (cooker/svg/icon.svg)
- 48 (cooker/svg/icon.svg)
- 24 (cooker/svg/icon.svg)

Wordmark slot. A dashed box sits wherever the product name will go, in the product, the books, emails and marketing. See [f-9 Naming](#f-9).

#### The lockup, all five
| | Lockup | Clear space | On the owned colour |
| --- | --- | --- | --- |
| Fetch | Fetch's head, both green ears, scruff and tongue, left of the wordmark | Not set yet. Open question | The mark carries its own ink outline |
| Buzz | Small mark left, name right, cap height equal to Buzz's eyes | One feeler length | On a sun disc |
| Scoop | Raccoon left of the wordmark | A gap of one ear | Head and knot on a tangerine disc carry it on any ground |
| Ocho | Small mark left, name right, cap height equal to the eyes | One arm curl | On a blush circle |
| Seeti | Head at the cap height of the wordmark | One whistle width | Ink wordmark only, never white. This is the app icon ground |

#### Sizes in the product, the same for every character
| Slot | Size |
| --- | --- |
| Today header corner | 40 to 56 pixels, small mark |
| Reading your store | 120 to 180 pixels |
| The reveal | 160 pixels |
| Empty states and errors | 96 pixels, small mark |
| Celebrations | 120 pixels |
| Brief page sign off | 32 pixels, small mark |

Sources: each system file s4, b4 in each brand book.

## F5 Sound and motion {#f-5}

The sonic logo, the cues, and how it moves.

### The sonic logo {#f-5.sonic-logo}

User moment: You hear a sound from across the room and know your week is ready without looking.

Answer: Fetch: Two squeaks of a rubber toy, one happy ruff, a ball bouncing twice: the game is on. | Buzz: A cartoon buzz zips upward and lands on two marimba notes, Buzz arriving with something good. | Scoop: Paws rummage through crisp paper, then a two note gasp, the second higher: something found. | Ocho: A suction cup lets go of glass with a soft pop and a few bubbles, an arm coming free. | Seeti: Three short whistle toots, each higher and the third held longer, which in an Indian kitchen means done.

- Under about two and a half seconds
- Plays at the start of reels and the home page
- Never on errors

Character line: Fetch: Squeak squeak. Ruff. Bounce bounce. That means picks. | Buzz: Zip, ding ding. Something good just landed. | Scoop: Rustle, gasp. I found something. | Ocho: Blip, pop, bubbles. An arm just came free. | Seeti: Toot. Toot. Toooot. Done.

**All five sonic logos**
- Fetch (dog/snd/logo.mp3)
- Buzz (bee/snd/logo.mp3)
- Scoop (raccoon/snd/logo.mp3)
- Ocho (octopus/snd/logo.mp3)
- Seeti (cooker/snd/logo.mp3)

**{name} says the tagline**
*Fetch:*
- The tagline (dog/snd/line-tagline.mp3)
*Buzz:*
- The tagline (bee/snd/line-tagline.mp3)
*Scoop:*
- The tagline (raccoon/snd/line-tagline.mp3)
*Ocho:*
- The tagline (octopus/snd/line-tagline.mp3)
*Seeti:*
- The tagline (cooker/snd/line-tagline.mp3)

#### All five
| | Sonic logo | Length | How it was made |
| --- | --- | --- | --- |
| Fetch | Two rubber toy squeaks, one happy ruff, a tennis ball bouncing twice on wood | Short | ElevenLabs sound effects from a written prompt |
| Buzz | A cartoon buzz zips up and lands on two bright marimba notes | About 2.6 seconds | ElevenLabs |
| Scoop | Paws through crisp paper, then two breathy notes rising, the second about a fifth higher | 1.9 seconds | ElevenLabs, rustle and gasp joined |
| Ocho | A suction cup lets go of glass, a soft round pop, a few bubbles | Under 2 seconds | ElevenLabs |
| Seeti | Three toots, pitched lower to higher, 0.14 seconds apart, the third longer | Under 2 seconds | One generated toot, pitched into three |

Seeti explains the whistle once, on the first read: in Indian kitchens the cooker whistles and cooks count the whistles, three whistles and the dal is done. After that the sound does the talking.

Sources: each snd/sound-log.json, b5 in each brand book.

### Five cues {#f-5.cues}

User moment: You tap the heart. Something small should happen in your ear, if you turned sound on.

Answer: Five short cues, one per moment, never stacked: heart, ready, hand off, error, caught up.

- Off until you turn it on
- Under two seconds each, same loudness
- No sound for loss, ever

Character line: Fetch: Squeak for a heart. A boof if I drop something. Never a whimper. | Buzz: A flutter for a heart. A soft bonk if I bump the window. | Scoop: A pencil tick for a heart. Never a gasp on an error. | Ocho: A squishy pop for a heart. A rubbery squeak for a knot. | Seeti: A steam chirp for a heart. Never a siren.

**{name}'s five cues**
*Fetch:*
- Heart (dog/snd/cue-heart.mp3)
- Ready (dog/snd/cue-ready.mp3)
- Hand off (dog/snd/cue-handoff.mp3)
- Error (dog/snd/cue-error.mp3)
- Caught up (dog/snd/cue-caught.mp3)
*Buzz:*
- Heart (bee/snd/cue-heart.mp3)
- Ready (bee/snd/cue-ready.mp3)
- Hand off (bee/snd/cue-handoff.mp3)
- Error (bee/snd/cue-error.mp3)
- Caught up (bee/snd/cue-caught.mp3)
*Scoop:*
- Heart (raccoon/snd/cue-heart.mp3)
- Ready (raccoon/snd/cue-ready.mp3)
- Hand off (raccoon/snd/cue-handoff.mp3)
- Error (raccoon/snd/cue-error.mp3)
- Caught up (raccoon/snd/cue-caught.mp3)
*Ocho:*
- Heart (octopus/snd/cue-heart.mp3)
- Ready (octopus/snd/cue-ready.mp3)
- Hand off (octopus/snd/cue-handoff.mp3)
- Error (octopus/snd/cue-error.mp3)
- Caught up (octopus/snd/cue-caught.mp3)
*Seeti:*
- Heart (cooker/snd/cue-heart.mp3)
- Ready (cooker/snd/cue-ready.mp3)
- Hand off (cooker/snd/cue-handoff.mp3)
- Error (cooker/snd/cue-error.mp3)
- Caught up (cooker/snd/cue-caught.mp3)

**What you hear**
*Fetch:*
- Heart: One bright squeak. You heart a pick
- Ready: A ball bouncing twice and a tag jingle. The read finishes
- Hand off: A card dropped on wood, two tail thumps. A brief is copied
- Error: One small puzzled boof. Something did not work
- Caught up: A tag jingle settling into quiet. The week is done
*Buzz:*
- Heart: One happy flutter and a soft wooden pop. You heart a pick
- Ready: A rising zip and a warm chime. The read finishes
- Hand off: A whoosh past and a card flick. A brief is copied
- Error: A soft bonk on glass and a confused buzz. Something did not work
- Caught up: A contented buzz settling into three warm notes. Every pick is seen
*Scoop:*
- Heart: One crisp pencil tick. You heart a card
- Ready: A notepad page flipping with a snap. The read is done
- Hand off: A folded note sliding across wood, a tap. The brief is copied
- Error: A soft stumble and fluttering papers. Something failed
- Caught up: A notepad closing, a content exhale. Nothing left this week
*Ocho:*
- Heart: Squishy pop, one rising bubble. You stick it
- Ready: Three rising blips. The read finishes
- Hand off: Paper slide, suction release. A brief is copied
- Error: Rubbery squeak and a blub. A knot
- Caught up: A slow stream of bubbles. Arms free
*Seeti:*
- Heart: A small happy steam chirp. You tap More like this
- Ready: One bright whistle toot. The read is done, or the Monday drop
- Hand off: A ticket torn and slapped down, a little bell. The brief is copied
- Error: A soft sputter, never an alarm. Something failed
- Caught up: A lid set down, a slow steam sigh. Kitchen's clean

#### Sound rules, every character
| Rule | Detail |
| --- | --- |
| Off by default | Sound plays only after you turn it on in Settings, and never on a page someone opened from a brief link |
| One cue per moment | Never stack two. If two moments land together, the later one wins |
| Same loudness | Every file levelled to about minus 16 loudness units |
| No sound for loss | The error cue is comic. There is no sound for a missed week |
| No music bed | Never under the character in the product |
| No passive cues | Nothing plays when a card merely loads |
| Voice is rare | The voice reads the seven moment lines and the tagline, in marketing, the stage and onboarding once. It never reads numbers |

#### Character specific nevers
| | Never |
| --- | --- |
| Fetch | Growls, whimpers, yelps or any sad dog sound |
| Buzz | A long buzz loop or a buzz that pans round your head |
| Scoop | The gasp on an error. The gasp means good news only. Nothing electronic |
| Ocho | An alarm |
| Seeti | A siren, a crash or a boom. A looped whistle while waiting. The whistle in a notification that does not mean ready |

The sound switch lives in Settings, see screen s6 in [e-5](#e-5).

### Seven moments, said out loud {#f-5.moments}

User moment: You want to hear the character, not read about it.

Answer: Seven moments are recorded in every voice: paste, read, the drop, heart, hand off, caught up, error.

- Same seven moments for all five
- Recorded once, levelled the same
- Behind a setting that starts off

Character line: Fetch: Ooh. Is that your store? Throw it. I'll be right back with this week's ideas. | Buzz: Show me your garden. Paste your store link, and I am off. | Scoop: Pop your store link in. For your read, I only look at what's public. | Ocho: Ooh, a store link. Gimme. I mean, yes please. I'm on it. | Seeti: Give me your store link. Then step back from the stove.

**{name}, seven moments**
*Fetch:*
- Paste (dog/snd/line-paste.mp3)
- Reading (dog/snd/line-read.mp3)
- Monday drop (dog/snd/line-drop.mp3)
- Heart (dog/snd/line-heart.mp3)
- Hand off (dog/snd/line-handoff.mp3)
- Caught up (dog/snd/line-caught.mp3)
- Error (dog/snd/line-error.mp3)
*Buzz:*
- Paste (bee/snd/line-paste.mp3)
- Reading (bee/snd/line-read.mp3)
- Monday drop (bee/snd/line-drop.mp3)
- Heart (bee/snd/line-heart.mp3)
- Hand off (bee/snd/line-handoff.mp3)
- Caught up (bee/snd/line-caught.mp3)
- Error (bee/snd/line-error.mp3)
*Scoop:*
- Paste (raccoon/snd/line-paste.mp3)
- Reading (raccoon/snd/line-read.mp3)
- Monday drop (raccoon/snd/line-drop.mp3)
- Heart (raccoon/snd/line-heart.mp3)
- Hand off (raccoon/snd/line-handoff.mp3)
- Caught up (raccoon/snd/line-caught.mp3)
- Error (raccoon/snd/line-error.mp3)
*Ocho:*
- Paste (octopus/snd/line-paste.mp3)
- Reading (octopus/snd/line-read.mp3)
- Monday drop (octopus/snd/line-drop.mp3)
- Heart (octopus/snd/line-heart.mp3)
- Hand off (octopus/snd/line-handoff.mp3)
- Caught up (octopus/snd/line-caught.mp3)
- Error (octopus/snd/line-error.mp3)
*Seeti:*
- Paste (cooker/snd/line-paste.mp3)
- Reading (cooker/snd/line-read.mp3)
- Monday drop (cooker/snd/line-drop.mp3)
- Heart (cooker/snd/line-heart.mp3)
- Hand off (cooker/snd/line-handoff.mp3)
- Caught up (cooker/snd/line-caught.mp3)
- Error (cooker/snd/line-error.mp3)

**The hand off, five ways**
- Fetch: Drop it. Brief copied, link ready. You pass it on, and I go fetch the next one.
- Buzz: Brief copied. Pass the pollen. Your team takes it from here.
- Scoop: Copied. Slip it to whoever ships it. My lips are sealed.
- Ocho: Brief copied, link ready. You pass it on, and I get an arm back.
- Seeti: Order ticket's written. Copy it and pass it to whoever ships it.

#### The seven recorded lines
| Moment | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Paste | Ooh. Is that your store? Throw it. I'll be right back with this week's ideas. | Show me your garden. Paste your store link, and I am off. | Pop your store link in. For your read, I only look at what's public. | Ooh, a store link. Gimme. I mean, yes please. I'm on it. | Give me your store link. Then step back from the stove. |
| Reading | Sniffing round your store, your reviews, your ads, and what the AI answers say about you. About three to four minutes. Good smells so far. | Buzzing round your store. About three to four minutes, and I will not miss a flower. | Going through everything people say about you. Give me three or four minutes. | Reading your store, your reviews, your ads, and what the AI answers say about you. Seven sources, eight arms. About three to four minutes. | Cooking your store. Three, maybe four minutes. Nobody lifts my lid. |
| Monday drop | Monday. Five picks, dropped right at your feet, most with a first draft. Also my ball. Ignore the ball. | Monday. Five picks, all drafted. Follow my dance, this one is the best bloom. | Fresh week, fresh gossip. Five picks, and the second one is spicy. | Happy Monday. Five picks, already drafted. I said yes to all of them, so you only have to pick. | Three whistles. Five specials, fresh this week. Go on, pick. |
| Heart | You liked that one? Say no more. I'll fetch more like it. | Ooh, you liked that one. More like it, coming right up. | Ooh, you liked that one. Noted. I will dig up more like it. | You liked that one? Say less. More like it, coming up. | Ooh, good taste. More like that, coming up. |
| Hand off | Drop it. Brief copied, link ready. You pass it on, and I go fetch the next one. | Brief copied. Pass the pollen. Your team takes it from here. | Copied. Slip it to whoever ships it. My lips are sealed. | Brief copied, link ready. You pass it on, and I get an arm back. | Order ticket's written. Copy it and pass it to whoever ships it. |
| Caught up | That's the week. Every pick seen. I'm keeping the ball now. See you Monday. | The hive is humming. That is the week. See you Monday. | That is all the gossip for this week. Back Monday with more. | That's the week. Every pick seen. I'm putting the coffee down. Briefly. | Kitchen's clean. See you Monday for the next batch. |
| Error | Oops. Lost the scent on that one. Your work is safe. Throw it again? | Oops. I bumped the window. Your work is safe. Try that again. | Oops. Tripped over my own tail. Give me a second and try that again. | Ah. I tied myself in a knot. That one didn't work. Give me a second and try again. | That one boiled over. My fault. Try again, I'm watching the flame. |

The heart line never promises a number of new ideas. Ocho and Seeti were recorded again without the word three for that reason. The Monday drop is Next.

Sources: the say entries in each snd/sound-log.json, last take wins.

### How {name} moves {#f-5.motion}

User moment: You are animating the corner slot and do not want it to distract anyone from reading.

Answer: One body, one move at a time: slow idle, quick reactions, and reduced motion holds everything still.

- Idle, react, celebrate, wait, error
- Never moves while you tap a button
- Reduced motion: the pose swaps, nothing moves

Character line: Fetch: A soft bob, a tail that never quite stops. Never a spin. | Buzz: Always hovering. The waggle is my one big move. | Scoop: Snappy in, slow out. Stillness while you read. | Ocho: One body, calm face. Frantic only on the stage. | Seeti: The whistle jiggles. While you work, I only blink.

**{name}'s motion**
*Fetch:*
- Idle: Body bobs 4 pixels, tilts 1 degree each way, tail wags. Bob 2.8 s, tail 0.5 s alternate
- React: One head tilt to 7 degrees and back, ears follow by 60 ms. 280 ms in, hold 400 ms, 280 ms out
- Celebrate: One hop up 14 pixels, land with a squash. 1 s, once
- Wait: Slow breathing, nose dips while reading. 4 s loop
- Error: Small head shake, three beats, then still. 2.4 s, once
*Buzz:*
- Idle: Hover 6 pixels up and down, tilt 1.5 degrees, wings 90 ms. 2.4 s loop
- React: Squash on a heart, then settle. 240 ms, overshoot 1.05
- Waggle: Body wags 6 degrees along a straight run to the best pick. 1.1 s, twice, then rest
- Celebrate: One loop in the air, arms up. 900 ms, once
- Wait: Slower hover with the magnifier. 3.4 s loop
- Error: Tap the pane, short shake, back in the air. Under 1.6 s, once
*Scoop:*
- Idle: Lean 2 degrees, cupped paw psst, tail flick from the base, eye dart, blink, brow lift. Sway 3.4 s, blink every 5.2 s
- React: Swap to the gasp pose, squash, jump, settle. 550 ms once, overshoot
- Celebrate: Swap to the heart pose, two hops with a tilt. 700 ms per hop
- Wait: Swap to the scribble pose, slow sway. 1.1 s loop
*Ocho:*
- Idle: Bob 5 pixels, lean 1.2 degrees, pivot low on the body. 3.2 s loop, pauses when the tab is hidden
- React: Squash to 107 by 91, spring back. 280 ms, overshoot 1.06
- Celebrate: Arms up, coffee raised, hop 12 pixels. 950 ms, once
- Wait: Reading pose, sway 2.5 degrees. 1.2 s loop
- Knot: A short wobble. 2.4 s, once
- Frantic: Jitter 3 degrees, marketing and stage only. 0.32 s, up to 3 s
*Seeti:*
- Idle: Whistle jiggle and one puff, blink, breathe 1 percent. Jiggle every 3.2 s, blink 5.5 s
- React: One toot, 5 percent squash, face changes. 260 ms in, holds 1.2 s
- Celebrate: Three toots with the sonic logo, a steam blast, then still. 1.8 s, once
- Wait: Idle plus whistle pills filling, one per stage. Pills pop in 180 ms
- Error: Lid hops, sheepish face. 320 ms, once

**The wait pose, live**
- Screen f4:reading: Reading your store, the wait pose
- Screen t6:heart: A heart, the small celebration

#### Rules every character shares
- The character moves as one drawing: bob, squash, hop, sway. A new expression is a new pose, swapped on the beat.
- One move at a time in the product, then rest. Big moves belong to marketing and the stage.
- Never moves while you tap a button, type, scroll the work or read.
- Never runs across the screen, chases the cursor or flies over text.
- Every animation sits behind the reduced motion check. With it on, poses still swap, nothing moves, and the screen tells the story on its own.
- Celebrations are a hop, a loop or a release. Never confetti.

#### Where it lives in code
The kit skin's motion entry holds the keyframes for idle, wait, celebrate and error. Each stage.js holds the bigger stage animation, prefixed per character so two characters never clash on one page.

Sources: c7 in each character book, the motion entry in each kit-skin.js.

## F6 Its world and words {#f-6}

Every concept in plain words and in the character's words.

### {name}'s world {#f-6.world}

User moment: You are writing a caption and want it to sound like it comes from somewhere real.

Answer: Fetch: Fetch lives in the yard between your door and the street, where your store is the house and the week is a walk. | Buzz: Buzz works a garden and a hive: the garden is everything outside your store, the hive is everything you are working on. | Scoop: Scoop lives in a gossip column with a little noir: notepads, clippings, tape, an evidence board, a lamp left on late. | Ocho: Ocho works at one cluttered desk at the bottom of the sea: a coffee ring, a calendar it keeps losing, one sticky note. | Seeti: Seeti runs a busy home kitchen at dinner time: steel on the stove, tickets on the rail, something nearly ready.

Fetch: Your store is the house, Ideas are things it brings back, The yard holds everything it found | Buzz: Your store is the garden, Your work is the hive, Honey is anything made | Scoop: Your store is the story, Findings are clippings, Work is the case board | Ocho: Your store is the water around you, Work is the desk, Each area is one arm | Seeti: Your store is the pantry, Picks are this week's specials, The brief is the order ticket

Character line: Fetch: This is the yard. That is your house. I live between the two. | Buzz: Out there is your garden. In here is the hive. I fly between all week. | Scoop: Desk lamp, notepad, string on a board. Pull up a chair. | Ocho: Welcome to the desk. Mind the coffee ring. | Seeti: My kitchen. My rules. Your recipes.

**The map of {name}'s world**
*Fetch:*
- The yard
  - Your patch: your store
  - The doorstep: Today
  - The porch: Work
  - The whole yard: See everything
*Buzz:*
- The garden, outside
  - Your garden: your store
  - Best blooms: this week's picks
  - The whole meadow: See everything
- The hive, inside
  - The hive: Work
  - Back in the comb: Later
  - Make honey: Make it
*Scoop:*
- The Grapevine
  - The grapevine: Your store
  - The dish: Today
  - The case board: Work
  - The whole notepad: See everything
  - The dossier: the brand book
*Ocho:*
- The desk under the sea
  - Your waters: Your store
  - On my arms: Today
  - The desk: Work
  - The whole tank: See everything
  - Under the desk: Later
*Seeti:*
- The kitchen
  - The pantry: Your store
  - The pass: Today
  - The rail: Work
  - The full menu: See everything
  - Back burner: Later

**Scenes from the world**
*Fetch:*
- The drop, on the doorstep (dog/svg/pose-03.svg)
- Nap time with the ball (dog/svg/pose-07.svg)
*Buzz:*
- Out in the garden, reading (bee/svg/pose-reading.svg)
- Back on a full comb (bee/svg/pose-caught.svg)
*Scoop:*
- The scribble (raccoon/art/scene-02.svg)
- The listen (raccoon/art/scene-04.svg)
- The full stop (raccoon/art/scene-06.svg)
*Ocho:*
- Eight arms, eight pages (octopus/img/v/pose-02.svg)
- Arms free, in the mug (octopus/img/v/pose-09.svg)
*Seeti:*
- In the kitchen (cooker/svg/scene-01.svg)
- On the stove (cooker/svg/scene-03.svg)
- Kitchen's clean (cooker/svg/scene-06.svg)

#### All five worlds
| | Place | Your store is | Your work is | Rationed props |
| --- | --- | --- | --- | --- |
| Fetch | The yard | The house, your patch | The porch | The ball, the stick, two tufts of grass |
| Buzz | A garden and a hive | The garden | The hive | One honey jar and one dotted trail per page |
| Scoop | A gossip column with a little noir | The story | The case board | One clipping may tilt per row. No bins, ever |
| Ocho | A desk at the bottom of the sea | Your waters | The desk | One sticky note, one coffee ring per page, bubbles only in the background |
| Seeti | A home kitchen at dinner time | The pantry | The rail | One hero per screen: Seeti, a number or a ticket |

In every world the founder's products sit in the middle of the frame, lit like the star. The world is a place for the work to happen, never a place that hides it.

Sources: b3 in each brand book.

### Every concept, in two words {#f-6.words}

User moment: You are labelling a screen and wonder whether to say Hand it off or the character's word.

Answer: Every concept has a plain word for buttons and tabs, and a character word that lives around them.

- The button says the plain word, always
- The character word goes in the sentence beside it
- When in doubt, plain wins

Character line: Fetch: The button says Hand it off. I say drop it. Same thing, I just say it with my tail going. | Buzz: The button says Hand it off. I say pass the pollen. Same thing, with wings. | Scoop: The button says Hand it off. I say pass the note. Between us. | Ocho: The button says Hand it off. I say free an arm. That is the whole loop. | Seeti: The button says Hand it off. I say order ticket. The kitchen understands.

**Plain word to {name}'s word**
*Fetch:*
- Paste your store becomes Throw it. You give it the link the way you throw a ball
- Reading your store becomes Sniffing round. Seven sources become seven smells
- Today becomes The doorstep. Where a dog leaves what it brought back
- This week's picks becomes The drop. Five things at your feet
- Need your yes becomes Paws up. Sitting, paw raised, waiting for you
- Make it becomes Chew on it. Turning a pick into a real draft, together
- New version becomes Another throw. Same idea, try again
- Hand it off becomes Drop it. It lets go, someone else takes it
- More like this becomes Fetch more. The heart, in dog
- Not for me becomes Leave it. The other command every dog knows
- Later becomes Bury it. Dig it up another day
- What we know about you becomes The scent. What it picked up. You can fix it
- You're caught up becomes Nap time. Fetch keeps the ball
- Something went wrong becomes Lost the scent. Honest, small, never scary
*Buzz:*
- Paste your store becomes Show me your garden. Pasting points it at the gate
- Reading your store becomes Buzzing round your store. Seven sources, one after another
- Today becomes Today's flight. What it brought back this morning
- This week's picks becomes Best blooms. The five flowers worth the trip
- Need your yes becomes Your nod. Buzz drafts, only you can nod
- Make it becomes Make honey. Turning what it gathered into something you can use
- New version becomes Fresh batch. One jar per batch, all kept
- Hand it off becomes Pass the pollen. Pollen only works when someone carries it on
- More like this becomes Dance for more. A heart tells Buzz which way the flowers are
- Not for me becomes Fly past. It never lands there again
- Later becomes Back in the comb. Stored, findable
- What we know about you becomes What sticks. Honey sticks. So do your house rules
- You're caught up becomes The hive is humming. The sound of a week that went well
- That didn't work becomes Bumped the window. Silly, harmless, Buzz's fault
*Scoop:*
- Paste your store becomes The tip. A tip off starts every good story
- Reading your store becomes The rummage. Through paper, never bins
- Today becomes The dish. To dish is to share the gossip
- This week's picks becomes This week's scoop. Also the character's name
- Need your yes becomes Your nod. Scoop takes notes, you nod
- Make it becomes The scribble. Drafting is scribbling
- New version becomes Scribble again. Every version is kept
- Hand it off becomes Pass the note. A folded note across the table
- More like this becomes Keep digging. Heart it and more like it appear
- Not for me becomes Old news. Gossip that bores you
- Later becomes Back pocket. Kept for the right moment
- What we know about you becomes My notes on you. Scoop keeps a file, you can read it
- You're caught up becomes All dished out. Nothing left to tell until Monday
- Read limit reached becomes Notepad full. The cap is real
*Ocho:*
- Paste your store becomes Pass it here. An octopus grabs
- Reading your store becomes Eight arms reading. Seven sources at once is what arms are for
- Today becomes On my arms. What Ocho holds for you now
- This week's picks becomes Arms full. Monday's state
- Need your yes becomes One arm up. Holds a card up and waits
- Make it becomes Ink it. Octopus ink is how it makes things
- New version becomes Fresh ink. Layers of ink, all kept
- Hand it off becomes Free an arm. The core joke and the core loop
- More like this becomes Stick it. Suckers stick
- Not for me becomes Drop it. One arm lighter, no hurt feelings
- Later becomes Under the desk. Parked, safe, findable
- What we know about you becomes Grip. How firm a grip it has on your store
- You're caught up becomes Arms free. It floats in a mug
- That didn't work becomes Knot. Funny, never scary, always a way out
*Seeti:*
- Paste your store becomes Into the pot. Everything good starts in the pot
- Reading your store becomes Cooking your store. You cannot rush it
- Today becomes The pass. Where finished plates wait for go
- This week's picks becomes This week's specials. A short menu, fresh this week
- Need your yes becomes Taste this first. Seeti holds the spoon out
- Make it becomes On the stove. Where the cooking happens, with you tasting
- New version becomes Another batch. Without throwing out the first
- Hand it off becomes Order ticket. A numbered ticket anyone can cook from
- More like this becomes Seconds, please. Tells the cook what to make more of
- Not for me becomes Off the menu. Polite, final, nobody blamed
- Later becomes Back burner. Still warm, just not now
- What we know about you becomes House recipe. Every kitchen has its own way
- You're caught up becomes Kitchen's clean. The best feeling in any kitchen
- Something went wrong becomes Boiled over. Wipe it, try again

#### The whole list, all five
| Plain word | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Paste your store | Throw it | Show me your garden | The tip | Pass it here | Into the pot |
| Reading your store | Sniffing round | Buzzing round your store | The rummage | Eight arms reading | Cooking your store |
| Here's your store, the reveal | Brought this back first | Follow my dance | The first scoop | Found this one with arm four | One thing I found while it cooked |
| Today | The doorstep | Today's flight | The dish | On my arms | The pass |
| This week's picks | The drop | Best blooms | This week's scoop | Arms full | This week's specials |
| Need your yes | Paws up | Your nod | Your nod | One arm up | Taste this first |
| See everything | The whole yard | The whole meadow | The whole notepad | The whole tank | The full menu |
| Work | The porch | The hive | The case board | The desk | The rail |
| Your store | Your patch | Your garden | The grapevine | Your waters | The pantry |
| Make it | Chew on it | Make honey | The scribble | Ink it | On the stove |
| New version | Another throw | Fresh batch | Scribble again | Fresh ink | Another batch |
| Versions | The pile | The jar | The stack | The stack | The stack |
| Hand it off | Drop it | Pass the pollen | Pass the note | Free an arm | Order ticket |
| Brief | The fetch note | The flight plan | The note | The clipboard | Order ticket |
| More like this | Fetch more | Dance for more | Keep digging | Stick it | Seconds, please |
| Not for me | Leave it | Fly past | Old news | Drop it | Off the menu |
| Later | Bury it | Back in the comb | Back pocket | Under the desk | Back burner |
| What we know about you | The scent | What sticks | My notes on you | Grip | House recipe |
| Story rings, 24 hours | Sniffs | Flutters | Whispers | Bubbles | Fresh today |
| You're caught up | Nap time | The hive is humming | All dished out | Arms free | Kitchen's clean |
| Something went wrong | Lost the scent | Bumped the window | Tripped over my tail | Knot | Boiled over |
| Read limit reached | Out of throws for now | The hive is full this week | Notepad full | Out of arms for now | One pot at a time |

Words for the weekly game are in [f-7](#f-7). Sources: b3 in each brand book and s2 in each system file.

### Where the words live {#f-6.where}

User moment: You are building a screen and wonder where the character is allowed to talk.

Answer: Buttons, tabs and settings always use the plain word, and the character talks around them in loading lines, empty states, celebrations and marketing.

- A button never wears a costume
- One character word per screen is plenty
- Retired words never come back

Character line: Fetch: I talk next to the button. I never sit on it. | Buzz: Next to the button, never on it. I hover politely. | Scoop: A sentence near a button is where I get to talk. | Ocho: I stay in my corner. Mostly. | Seeti: The button says what it does. I say the rest.

**The same screens, {name} talking around plain buttons**
- Screen f4:reading: Reading your store
- Screen h2:team: Handed off to your team
- Screen t5:caught: Caught up
- Screen x2:offline: Offline

**Retired words, and what replaced them**
- jam becomes Make it. Making has one plain name
- card, as a user word becomes pick. People pick ideas, not cards
- Your call becomes Need your yes
- Another take, Remix becomes New version. Every version is kept
- Saved becomes Later
- Snooze as a label becomes Later

#### Where each kind of word goes
| Place | Plain word | Character word |
| --- | --- | --- |
| Buttons, tabs, settings, form labels | Always | Never |
| Loading lines while it reads | Around it | Yes |
| Empty states and caught up | Around it | Yes |
| Celebrations and toasts | Around it | Yes, one line |
| The Monday email subject | Optional | Yes |
| The brief page | Plain throughout | A 32 pixel sign off only |
| Need your yes decisions | Always | Never |
| Money, privacy, apologies, errors on our side | Always | Never |
| Marketing and social | Optional | Yes |

#### Rules
- One character word per screen, two at most. If a line needs two puns, cut one.
- Bee puns at most once per screen and never near money, privacy or data.
- Seeti uses one kitchen word per line. Hindi words stay out of the product except the name Seeti, explained once.
- Scoop never says spy, stalk, track, watch you, leak or dirt. It says heard, overheard, spotted, noticed.
- Retired words never return: jam, card as a user word, Your call, Another take, Remix, Saved, Snooze as a label.

The plain words come from shared/product-model.md and part G covers every message: see [g-2 Content design](#g-2).

## F7 Play {#f-7}

The weekly game: streaks, skips, wildcards and the caught up moment.

### The weekly game {#f-7.loop}

User moment: Marketing feels endless. You want a week you can actually finish.

Answer: The week is the game, a Monday drop, pick, make, hand off, caught up, and progress counts what you did, never your sales.

- A week you can finish beats a feed you cannot
- White hat drives first
- No guilt, no fake clocks, no sales scores

Character line: Fetch: Throw, run, drop, again. The oldest game there is. | Buzz: Fly out Monday, hive humming by Friday. Again next week. | Scoop: Monday I spill. Friday I lie low. Repeat. | Ocho: Arms full Monday. Arms free Friday. Every week. | Seeti: Monday whistles. Friday the kitchen is clean. Then again.

**The loop, in {name}'s words**
*Fetch:*
1. The drop: five picks at your feet [Next]
2. Pick: fetch more or leave it [Today]
3. Chew on it: Make it, every version kept [Today]
4. Drop it: hand it off [Next]
5. Nap time: it keeps the ball [Next]
*Buzz:*
1. Best blooms: the waggle at the top pick [Next]
2. Pick: dance for more or fly past [Today]
3. Make honey: every batch kept [Today]
4. Pass the pollen: hand it off [Next]
5. The hive is humming: every pick seen [Next]
*Scoop:*
1. The Monday dish: five fresh picks [Next]
2. Pick: keep digging or old news [Today]
3. The scribble: every version kept [Today]
4. Pass the note: hand it off [Next]
5. All dished out: back Monday [Next]
*Ocho:*
1. Arms full: five picks, drafted [Next]
2. Pick: stick it or drop it [Today]
3. Ink it: fresh ink, all kept [Today]
4. Free an arm: hand it off [Next]
5. Arms free: into the mug [Next]
*Seeti:*
1. Monday whistles: five specials [Next]
2. Pick: seconds or off the menu [Today]
3. On the stove: another batch, all kept [Today]
4. Order ticket: hand it off [Next]
5. Kitchen's clean: lid comes off [Next]

**The eight drives, and how much we lean on each**
| Drive | Kind | How the game uses it |
| --- | --- | --- |
| Epic meaning | White hat | You are the one who decides. The character works for your store |
| Accomplishment | White hat | First win bar, caught up, weeks in a row |
| Creativity and feedback | White hat | Every heart changes what comes back. New version in Make it |
| Ownership | Middle | What it knows about your store, yours to correct |
| Social influence | Middle | The shareable finding. Team play is Later |
| Scarcity | Black hat, real only | Five picks a week and the real read cap. Nothing fake |
| Unpredictability | Black hat, kind | One wildcard a week, and the running joke |
| Loss avoidance | Black hat, kind | A free skip covers a quiet week. Nothing is taken away |

#### The base mechanics, every character skins the same ones
| Phase | Mechanic | Status |
| --- | --- | --- |
| Discovery | The read as a reveal, with one shareable finding | Read is Today, the reveal is Next |
| Onboarding | Three questions as a game during the read | Next |
| Onboarding | First win in ten minutes: heart one, make one, hand off one | Next |
| Onboarding | Store memory meter, what we know, never results | Next |
| Repeat loop | The Monday drop: five fresh picks a week, finite | Next |
| Repeat loop | Weeks in a row with at least one hand off, one free skip a month, one light nudge | Next |
| Repeat loop | Making as play: new version, try it as a reel, a visible stack, the character reacting | Making is Today, the play framing is Next |
| Repeat loop | One wildcard pick a week | Next |
| Endgame | What it knows, exportable as a one page brand book | Later |
| Endgame | Team play and a founder circle | Later |

#### Where the drives come from
Yu-kai Chou's Octalysis framework names eight core drives and four phases: discovery, onboarding, scaffolding, which is the repeat loop, and endgame. Drives one to three are white hat, six to eight are black hat. The Duolingo growth account on Lenny's Newsletter adds: points alone did nothing, keeping current users mattered most, streaks worked once they were protected, and notifications are a channel to protect. Fetch's play book scores its own fit at 22 of 30 for white hat drives and 11 of 30 for black hat. Sources: BRIEF.md section 3.5, dog/play.html g1.

### The first week, as a game {#f-7.first-week}

User moment: You just pasted your store and it is reading. You want something to do for four minutes.

Answer: Three questions play while it reads, then a three step first win: heart one, make one, hand off one, inside ten minutes.

- What you handle, your next big moment, one never
- Each answer visibly sharpens the picks
- First win bar with a small celebration per step

Character line: Fetch: While I sniff: which of these do you handle? | Buzz: While I fly round: which of these do you handle? | Scoop: So I know which gossip is yours. | Ocho: While I read: which of these do you handle? | Seeti: While I cook: which of these do you handle?

**Sample: the three questions, in {name}'s voice**
*Fetch:*
- Character: While I sniff: which of these do you handle?
- You: Social posts, Email and WhatsApp
- Character: What is your next big moment? I will fetch for it.
- You: Diwali
- Character: One thing you never want to post? I will leave it.
- You: Discounts
*Buzz:*
- Character: While I fly round: which of these do you handle?
- You: Social posts, Ads
- Character: What is your next big moment? I will plan round it.
- You: A new candle
- Character: One thing you never want to post? I will fly past it.
- You: Memes
*Scoop:*
- Character: So I know which gossip is yours.
- You: Social posts, Website
- Character: Every good story needs a date. What is coming up?
- You: Diwali
- Character: Tell me one thing you never want to post.
- You: Discounts
*Ocho:*
- Character: While I read: which of these do you handle?
- You: Ads, Email and WhatsApp
- Character: What is your next big moment? I will circle it.
- You: A sale
- Character: One thing you never want to post? I will drop it.
- You: Reels with me in them
*Seeti:*
- Character: While I cook: which of these do you handle?
- You: Social posts, AI search
- Character: What is your next big moment?
- You: Diwali
- Character: One thing you never want me to cook?
- You: Discounts

**First win in ten minutes**
*Fetch:*
1. Heart one: Fetching more like it. That is one. [Next]
2. Make one: Chewed on and ready. That is two. [Next]
3. Hand off one: Dropped it off. First win. [Next]
*Buzz:*
1. Heart one: You danced for one. That is one. [Next]
2. Make one: First batch made. That is two. [Next]
3. Hand off one: Pollen passed. First win. [Next]
*Scoop:*
1. Heart one: Noted. Digging up more like it. [Next]
2. Make one: Look at you, scribbling. [Next]
3. Hand off one: First note passed. You are in the loop. [Next]
*Ocho:*
1. Heart one: Stuck it. That is one. [Next]
2. Make one: Fresh ink. That is two. [Next]
3. Hand off one: One arm free. First win. [Next]
*Seeti:*
1. Heart one: Good taste. One down. [Next]
2. Make one: First batch made. Two down. [Next]
3. Hand off one: First plate out. Not bad, boss. [Next]

- Screen f4:reading: Reading, question 1 of 3
- Screen f7:reveal: Here's your store, the reveal
- Screen t1:monday: Today with the first win bar

#### The memory meter, in each world
| | Name | Fills when | Never |
| --- | --- | --- | --- |
| Fetch | The scent | You answer or correct it | Empties because you were away |
| Buzz | The honey jar, what sticks | You heart, fly past or hand off | Measures results |
| Scoop | How thick the file is | You tell it things | Moves with sales |
| Ocho | Grip | You stick, drop or hand off | Measures results |
| Seeti | The house recipe | You answer and correct | Measures results |

#### Rules
- The questions play during the read, so the wait has a job. Today the read takes about 3 to 4 minutes.
- Question one allows several answers and replaces seats.
- The answer to question three is saved as a house rule and never suggested again.
- Each first win step plays one small celebration and its cue, if sound is on.
- Every line here comes from the firstWin and q1Intro to q3Intro entries in each kit-skin.js.

For every screen and skip in the first ten minutes, see [d-5 Onboarding](#d-5).

### Weeks in a row, and the free skip {#f-7.run}

User moment: You had a busy week and did nothing. You are worried the app will guilt you.

Answer: A week counts when you hand off at least one thing, and a free skip a month covers a quiet week, so nothing is ever taken away.

- Counts weeks, never days
- Free skip used for you, no questions
- One light nudge a week at most

Character line: Fetch: Rest day taken. No walks missed. | Buzz: Rainy day. Bees stay in. So can you. | Scoop: Lying low this week? Fine by me. Your paper trail keeps. | Ocho: Coffee break. You earned it. So did I. | Seeti: Cold week taken. Your run is safe.

**The game words, in {name}'s world**
*Fetch:*
- Walks in a row: Weeks with at least one hand off.
- Rest day: One a month, free, no questions.
- The stick: One odd find a week, because dogs always bring a stick.
- Nap time: The week is done. Fetch keeps the ball.
*Buzz:*
- Honey weeks: Weeks with at least one hand off.
- Rainy day: Bees stay in when it rains. So can you, once a month.
- The odd flower: One idea from outside your usual patch.
- The hive is humming: Every pick seen.
*Scoop:*
- The paper trail: Each hand off leaves a note behind.
- Lying low: Even snoops take a week off.
- The wild rumour: One surprising idea a week. Untested, just interesting.
- All dished out: Nothing left to tell until Monday.
*Ocho:*
- Free arm weeks: Weeks with at least one hand off.
- Coffee break: One a month. Ocho needs them too.
- The ninth arm: The odd idea it grabbed with an arm it does not have.
- Arms free: Every pick seen. It floats in a mug.
*Seeti:*
- Stove's been hot: Weeks with at least one hand off.
- Cold week: One a month, no guilt, the run stays.
- Chef's surprise: One odd dish a week that might be the best thing on the menu.
- Kitchen's clean: The best feeling in any kitchen.

**Sample: the one Thursday nudge**
*Fetch:*
- Character: Three picks still at your feet. Want to drop one off this week? If not, I will take a rest day.
*Buzz:*
- Character: Three blooms still waiting. Pass one on this week? If not, I will call it a rainy day.
*Scoop:*
- Character: Three picks still on the notepad. Pass a note this week? If not, we lie low.
*Ocho:*
- Character: Three picks still on my arms. Free one this week? If not, coffee break.
*Seeti:*
- Character: Three specials still on the pass. Send one out this week? If not, cold week.

#### The rules, every character
| Rule | Detail |
| --- | --- |
| What counts | A week with at least one hand off |
| The free skip | One a month, used for you automatically when a week goes quiet |
| The count | Only goes up or rests. It never resets because of one quiet week |
| The nudge | One light nudge on Thursday if nothing is handed off yet, in the app, and only one |
| Where it shows | A small count, never a big flame, never a countdown |

#### All five, side by side
| | Weeks in a row | Free skip | Wildcard | Caught up |
| --- | --- | --- | --- | --- |
| Fetch | Walks in a row | Rest day | The stick | Nap time |
| Buzz | Honey weeks | Rainy day | The odd flower | The hive is humming |
| Scoop | The paper trail | Lying low | The wild rumour | All dished out |
| Ocho | Free arm weeks | Coffee break | The ninth arm | Arms free |
| Seeti | Stove's been hot | Cold week | Chef's surprise | Kitchen's clean |

Fetch's Thursday nudge is from dog/play.html g5. The other four nudges are draft lines in the same shape, written for this page; check them against each system file before use.

### The wildcard and the running joke {#f-7.wildcard}

User moment: Monday feels a bit samey by week five. You want one surprise.

Answer: Each week brings one wildcard pick you can skip, and the running joke, which never blocks a pick or counts for anything.

- One odd idea a week, from the read
- You can leave it, no hard feelings
- The joke counts what you did, never results

Character line: Fetch: A stick. Dogs always bring a stick. You can leave it. | Buzz: The odd flower. Outside your usual patch. Worth a sniff. Well, a buzz. | Scoop: One wild rumour. Untested, just interesting. | Ocho: The ninth arm. I do not have one. I grabbed it anyway. | Seeti: Chef's surprise. Might be the best thing on the menu.

**The running joke, five ways**
- Fetch: A small ball hides on Monday's Today screen. Tap it and Fetch says one line. On Friday Fetch keeps it.
- Buzz: The pollen count. A clean nose on Monday, pollen from feelers to tail by Friday, and Buzz insists it has not noticed.
- Scoop: The tally. It runs off the notepad at 25 and onto the tail. It is only crossed out when a person ships the thing it found.
- Ocho: The coffee count. One coffee since Monday, officially. On Friday it puts the coffee down by getting in.
- Seeti: The lid. Nobody lifts my lid, all week. On Friday, when the kitchen is clean, Seeti lifts it itself.

#### The wildcard
One pick a week marked as the wildcard, in each character's word: the stick, the odd flower, the wild rumour, the ninth arm, chef's surprise. It comes from the read like every other pick and has a source. Examples from dog/play.html: a review nobody answered, a festival you have not used, a question an AI answer gets wrong about you. You can leave it with Not for me like any pick. Next.

#### The running joke
| | What it counts | When it pays off | Must never |
| --- | --- | --- | --- |
| Fetch | The ball hidden in the picks | Friday, caught up | Block a pick or count for anything |
| Buzz | Pollen on its nose | Friday sign off and weekly note | Claim a result. Counts are your week or the sample store's |
| Scoop | A real finding with a source | When a person ships it | Claim a result |
| Ocho | Coffees | Friday, arms free | Suggest the stress is yours |
| Seeti | The lid staying on | Friday, kitchen's clean | Feel like a lock on your work |

The joke is the weekly meme format the brief asks for in section 3.8, point 7. Marketing uses it every week: see [f-10](#f-10).

### The caught up moment {#f-7.caught-up}

User moment: It is Friday. You want permission to stop.

Answer: When every pick is seen, Today stops refilling and the character signs off until Monday.

- Today never refills mid week
- See everything stays one tap away
- The character rests, so you can too

Character line: Fetch: That's the week. Every pick seen. I'm keeping the ball now. See you Monday. | Buzz: The hive is humming. That is the week. See you Monday. | Scoop: That is all the gossip for this week. Back Monday with more. | Ocho: That's the week. Every pick seen. I'm putting the coffee down. Briefly. | Seeti: Kitchen's clean. See you Monday for the next batch.

**Caught up, live in {name}'s skin**
- Screen t5:caught: You're caught up

**The caught up cue and line**
*Fetch:*
- Cue (dog/snd/cue-caught.mp3)
- Line (dog/snd/line-caught.mp3)
*Buzz:*
- Cue (bee/snd/cue-caught.mp3)
- Line (bee/snd/line-caught.mp3)
*Scoop:*
- Cue (raccoon/snd/cue-caught.mp3)
- Line (raccoon/snd/line-caught.mp3)
*Ocho:*
- Cue (octopus/snd/cue-caught.mp3)
- Line (octopus/snd/line-caught.mp3)
*Seeti:*
- Cue (cooker/snd/cue-caught.mp3)
- Line (cooker/snd/line-caught.mp3)

#### The screen
| Part | Content |
| --- | --- |
| Character | The caught up pose at 120 pixels, sleepy or relieved face |
| Headline | Fetch: That is the week. Every pick seen. Buzz: The hive is humming. That is the week. Scoop: All dished out. Ocho: Arms free. That is the week. Seeti: Kitchen's clean. |
| Sub line | Fetch: I am keeping the ball now. See you Monday. Buzz: I am napping in the comb. See you Monday. Scoop: That is all the gossip this week. Back Monday. Ocho: I am getting in the coffee. See you Monday. Seeti: Go on, lift the lid. See you Monday. |
| Action | See everything, for anyone who wants more |
| Sound | The caught up cue, if sound is on |

Caught up does not exist in the build today. It is Next. Lines from caughtUp and caughtUpSub in each kit-skin.js.

### What the game never does {#f-7.never}

User moment: You have seen apps that guilt you. You want to know this one will not.

Answer: No countdowns, no sad character when you are away, no lost streaks, no points for clicks, no scores about sales.

- The capped read is the only scarcity, and it is real
- Nothing is ever taken away
- Internal numbers never reach a founder

Character line: Fetch: A dog is never disappointed in you. Not once. | Buzz: No stings. Not even for a missed week. | Scoop: I keep no score of weeks you missed. | Ocho: My stress is mine. Never yours. | Seeti: I scold drafts. Never you. Never for a cold week.

- Do: Celebrate what you did
- Do: Protect the run with a free skip
- Do: Say the read cap plainly, because it is real
- Do: One nudge a week at most
- Do: Let you finish the week
- Never: Countdowns, timers or fake scarcity
- Never: A sad, hurt or waiting character when you are away
- Never: Losing a count over one quiet week
- Never: Points or badges for clicks
- Never: Scores about sales
- Never: Endless picks on Today

#### Never, and why
| Never | Why |
| --- | --- |
| Countdowns, timers on reads, fake scarcity | The capped read is real. A fake clock makes every true thing less believable |
| A sad character when you are away | That is guilt. Every character is glad to see you |
| Losing the count | The free skip covers a quiet week. Streaks work when protected |
| Points for clicks | Points alone did nothing for Duolingo. Progress is real work and real knowledge of your store |
| More than one nudge a week | Notifications are a channel to protect |
| Scores about sales | The product does not measure results in v1. How it went arrives in v3 |
| Endless picks on Today | A week you can finish feels better than a feed you cannot |

#### What the team counts, internal only
Read to first heart, first win completed within a week, weeks with at least one hand off, Not for me rate per area, nudges per person per week, sound turned on. None of these ever appears to a founder. See [j-1 Analytics](#j-1). Source: dog/play.html g7 and g8.

### Later: what you keep {#f-7.endgame}

User moment: You have used it for six months. You want something to show for it that is yours.

Answer: What it knows about your store becomes a one page brand book you own, with team play and a founder circle after that.

- Your house rules on one page, exportable
- Team play as a shared week, never a leaderboard
- A founder circle compares findings, never results

Character line: Fetch: The scent, exported. Take it anywhere. | Buzz: What sticks, on one page. Yours to keep. | Scoop: The dossier. Your house rules on one page. | Ocho: Grip, on paper. You keep it. | Seeti: The house recipe, written down. Yours.

- Fetch: The scent, exported | Buzz: The brand book | Scoop: The dossier | Ocho: The brand book | Seeti: The house recipe: Your products, voice, house rules and who ships, as one page you can take anywhere. [Later]
- Team play: Your team acts too. Who handed off what, as a shared week. Never a leaderboard of people. [Later]
- Founder circle: Founders compare findings, never results. Opt in only. [Later]

The endgame is Later in every character's claim statuses. Which of v2 to v4 each item lands in is still open: see [j-4 Open questions](#j-4). Sources: BRIEF.md section 3.5, dog/play.html g6, each system file claim statuses.

## F8 Lines it says and never says {#f-8}

Approved lines, banned lines, and why.

### Ten lines it says, ten it never says {#f-8.approved}

User moment: You are reviewing a pull request with new copy. You need the line in the sand.

Answer: Each character has ten approved lines and ten banned lines, each breaking one named rule.

- Approved lines are the voice at its best
- Every banned line breaks a named rule
- The checker enforces the rules

Character line: Fetch: Brief copied, link ready. You pass it on. | Buzz: Brief copied. Pass the pollen, your team takes it from here. | Scoop: Copied. Slip it to whoever ships it. My lips are sealed. | Ocho: Brief copied, link ready. You pass it on, and I get an arm back. | Seeti: Order ticket's written. Pass it on.

*Fetch:*
*Fetch:*
- Do: Five picks at your feet. Most are drafted.
- Do: Sniffing round your store. About 3 to 4 minutes.
- Do: Good pick. Fetching more like it.
- Do: Another throw. The first one stays in the pile.
- Do: Drop it. Brief copied, link ready. You pass it on.
- Do: Only you can answer these. I will sit here.
- Do: That is the week. Every pick seen. I am keeping the ball now.
- Do: Lost the scent on that one. Your work is safe. Try again.
- Do: Out of throws for now. Reads are capped while we build v0. Ask us for one.
- Do: I am not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a walk. I waited all day.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Your rival is beating you.
- Never: Any claim that it suits every store.
- Never: Bad owner.
- Never: Trust me.
*Buzz:*
- Do: Five picks at your feet. Most are drafted.
- Do: Sniffing round your store. About 3 to 4 minutes.
- Do: Good pick. Fetching more like it.
- Do: Another throw. The first one stays in the pile.
- Do: Drop it. Brief copied, link ready. You pass it on.
- Do: Only you can answer these. I will sit here.
- Do: That is the week. Every pick seen. I am keeping the ball now.
- Do: Lost the scent on that one. Your work is safe. Try again.
- Do: Out of throws for now. Reads are capped while we build v0. Ask us for one.
- Do: I am not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is stinging you.
- Never: Trust me.
- Never: Buzz off.
*Scoop:*
- Do: Five picks at your feet. Most are drafted.
- Do: Sniffing round your store. About 3 to 4 minutes.
- Do: Good pick. Fetching more like it.
- Do: Another throw. The first one stays in the pile.
- Do: Drop it. Brief copied, link ready. You pass it on.
- Do: Only you can answer these. I will sit here.
- Do: That is the week. Every pick seen. I am keeping the ball now.
- Do: Lost the scent on that one. Your work is safe. Try again.
- Do: Out of throws for now. Reads are capped while we build v0. Ask us for one.
- Do: I am not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up this week.
- Never: I looked through your inbox.
- Never: Your rival, named, is losing customers.
- Never: This reviewer clearly has no taste.
- Never: You missed another week.
- Never: Only two hours left to claim this.
- Never: Trust me, this will sell.
- Never: I am watching your store.
- Never: Psst, upgrade for more.
*Ocho:*
- Do: Five picks at your feet. Most are drafted.
- Do: Sniffing round your store. About 3 to 4 minutes.
- Do: Good pick. Fetching more like it.
- Do: Another throw. The first one stays in the pile.
- Do: Drop it. Brief copied, link ready. You pass it on.
- Do: Only you can answer these. I will sit here.
- Do: That is the week. Every pick seen. I am keeping the ball now.
- Do: Lost the scent on that one. Your work is safe. Try again.
- Do: Out of throws for now. Reads are capped while we build v0. Ask us for one.
- Do: I am not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't lose your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is crushing you.
- Never: Trust me.
- Never: I'm stressed because of you.
*Seeti:*
- Do: Five picks at your feet. Most are drafted.
- Do: Sniffing round your store. About 3 to 4 minutes.
- Do: Good pick. Fetching more like it.
- Do: Another throw. The first one stays in the pile.
- Do: Drop it. Brief copied, link ready. You pass it on.
- Do: Only you can answer these. I will sit here.
- Do: That is the week. Every pick seen. I am keeping the ball now.
- Do: Lost the scent on that one. Your work is safe. Try again.
- Do: Out of throws for now. Reads are capped while we build v0. Ask us for one.
- Do: I am not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up 30 percent.
- Never: You missed a week. Shame.
- Never: Hurry, only two hours left.
- Never: Your store is just like every other store.
- Never: Three more like that appear.
- Never: No sign in needed.
- Never: Any promise of results.
- Never: You burnt it.
- Never: Connect your accounts and I will run your ads.
*Buzz:*
*Fetch:*
- Do: Best blooms. Five picks, drafted, still warm.
- Do: Buzzing round your store. About 3 to 4 minutes.
- Do: You danced for that one. More like it, coming up.
- Do: Fresh batch. The old one is still in the jar.
- Do: Brief copied. Pass the pollen, your team takes it from here.
- Do: Your nod. This one needs your yes.
- Do: The hive is humming. New picks Monday.
- Do: Oops, I bumped the window. Your work is safe. Try again.
- Do: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a walk. I waited all day.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Your rival is beating you.
- Never: Any claim that it suits every store.
- Never: Bad owner.
- Never: Trust me.
*Buzz:*
- Do: Best blooms. Five picks, drafted, still warm.
- Do: Buzzing round your store. About 3 to 4 minutes.
- Do: You danced for that one. More like it, coming up.
- Do: Fresh batch. The old one is still in the jar.
- Do: Brief copied. Pass the pollen, your team takes it from here.
- Do: Your nod. This one needs your yes.
- Do: The hive is humming. New picks Monday.
- Do: Oops, I bumped the window. Your work is safe. Try again.
- Do: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is stinging you.
- Never: Trust me.
- Never: Buzz off.
*Scoop:*
- Do: Best blooms. Five picks, drafted, still warm.
- Do: Buzzing round your store. About 3 to 4 minutes.
- Do: You danced for that one. More like it, coming up.
- Do: Fresh batch. The old one is still in the jar.
- Do: Brief copied. Pass the pollen, your team takes it from here.
- Do: Your nod. This one needs your yes.
- Do: The hive is humming. New picks Monday.
- Do: Oops, I bumped the window. Your work is safe. Try again.
- Do: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up this week.
- Never: I looked through your inbox.
- Never: Your rival, named, is losing customers.
- Never: This reviewer clearly has no taste.
- Never: You missed another week.
- Never: Only two hours left to claim this.
- Never: Trust me, this will sell.
- Never: I am watching your store.
- Never: Psst, upgrade for more.
*Ocho:*
- Do: Best blooms. Five picks, drafted, still warm.
- Do: Buzzing round your store. About 3 to 4 minutes.
- Do: You danced for that one. More like it, coming up.
- Do: Fresh batch. The old one is still in the jar.
- Do: Brief copied. Pass the pollen, your team takes it from here.
- Do: Your nod. This one needs your yes.
- Do: The hive is humming. New picks Monday.
- Do: Oops, I bumped the window. Your work is safe. Try again.
- Do: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't lose your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is crushing you.
- Never: Trust me.
- Never: I'm stressed because of you.
*Seeti:*
- Do: Best blooms. Five picks, drafted, still warm.
- Do: Buzzing round your store. About 3 to 4 minutes.
- Do: You danced for that one. More like it, coming up.
- Do: Fresh batch. The old one is still in the jar.
- Do: Brief copied. Pass the pollen, your team takes it from here.
- Do: Your nod. This one needs your yes.
- Do: The hive is humming. New picks Monday.
- Do: Oops, I bumped the window. Your work is safe. Try again.
- Do: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up 30 percent.
- Never: You missed a week. Shame.
- Never: Hurry, only two hours left.
- Never: Your store is just like every other store.
- Never: Three more like that appear.
- Never: No sign in needed.
- Never: Any promise of results.
- Never: You burnt it.
- Never: Connect your accounts and I will run your ads.
*Scoop:*
*Fetch:*
- Do: Pop your store link in. For your read, I only look at what's public.
- Do: Going through everything people say about you. Give me three or four minutes.
- Do: Fresh week, fresh gossip. Five picks, and the second one is spicy.
- Do: Ooh, you liked that one. Noted. I will dig up more like it.
- Do: Copied. Slip it to whoever ships it. My lips are sealed.
- Do: That is all the gossip for this week. Back Monday with more.
- Do: Oops. Tripped over my own tail. Give me a second and try that again.
- Do: Four candle ads in your category open on rain sounds this month. I will not say whose.
- Do: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Do: This number is from your store page. If it looks off, confirm it first.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a walk. I waited all day.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Your rival is beating you.
- Never: Any claim that it suits every store.
- Never: Bad owner.
- Never: Trust me.
*Buzz:*
- Do: Pop your store link in. For your read, I only look at what's public.
- Do: Going through everything people say about you. Give me three or four minutes.
- Do: Fresh week, fresh gossip. Five picks, and the second one is spicy.
- Do: Ooh, you liked that one. Noted. I will dig up more like it.
- Do: Copied. Slip it to whoever ships it. My lips are sealed.
- Do: That is all the gossip for this week. Back Monday with more.
- Do: Oops. Tripped over my own tail. Give me a second and try that again.
- Do: Four candle ads in your category open on rain sounds this month. I will not say whose.
- Do: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Do: This number is from your store page. If it looks off, confirm it first.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is stinging you.
- Never: Trust me.
- Never: Buzz off.
*Scoop:*
- Do: Pop your store link in. For your read, I only look at what's public.
- Do: Going through everything people say about you. Give me three or four minutes.
- Do: Fresh week, fresh gossip. Five picks, and the second one is spicy.
- Do: Ooh, you liked that one. Noted. I will dig up more like it.
- Do: Copied. Slip it to whoever ships it. My lips are sealed.
- Do: That is all the gossip for this week. Back Monday with more.
- Do: Oops. Tripped over my own tail. Give me a second and try that again.
- Do: Four candle ads in your category open on rain sounds this month. I will not say whose.
- Do: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Do: This number is from your store page. If it looks off, confirm it first.
- Never: I posted it for you.
- Never: Your sales went up this week.
- Never: I looked through your inbox.
- Never: Your rival, named, is losing customers.
- Never: This reviewer clearly has no taste.
- Never: You missed another week.
- Never: Only two hours left to claim this.
- Never: Trust me, this will sell.
- Never: I am watching your store.
- Never: Psst, upgrade for more.
*Ocho:*
- Do: Pop your store link in. For your read, I only look at what's public.
- Do: Going through everything people say about you. Give me three or four minutes.
- Do: Fresh week, fresh gossip. Five picks, and the second one is spicy.
- Do: Ooh, you liked that one. Noted. I will dig up more like it.
- Do: Copied. Slip it to whoever ships it. My lips are sealed.
- Do: That is all the gossip for this week. Back Monday with more.
- Do: Oops. Tripped over my own tail. Give me a second and try that again.
- Do: Four candle ads in your category open on rain sounds this month. I will not say whose.
- Do: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Do: This number is from your store page. If it looks off, confirm it first.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't lose your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is crushing you.
- Never: Trust me.
- Never: I'm stressed because of you.
*Seeti:*
- Do: Pop your store link in. For your read, I only look at what's public.
- Do: Going through everything people say about you. Give me three or four minutes.
- Do: Fresh week, fresh gossip. Five picks, and the second one is spicy.
- Do: Ooh, you liked that one. Noted. I will dig up more like it.
- Do: Copied. Slip it to whoever ships it. My lips are sealed.
- Do: That is all the gossip for this week. Back Monday with more.
- Do: Oops. Tripped over my own tail. Give me a second and try that again.
- Do: Four candle ads in your category open on rain sounds this month. I will not say whose.
- Do: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Do: This number is from your store page. If it looks off, confirm it first.
- Never: I posted it for you.
- Never: Your sales went up 30 percent.
- Never: You missed a week. Shame.
- Never: Hurry, only two hours left.
- Never: Your store is just like every other store.
- Never: Three more like that appear.
- Never: No sign in needed.
- Never: Any promise of results.
- Never: You burnt it.
- Never: Connect your accounts and I will run your ads.
*Ocho:*
*Fetch:*
- Do: Arms full. Five picks, drafted, still warm.
- Do: Eight arms reading. About 3 to 4 minutes.
- Do: You stuck it. More like it, coming up.
- Do: Fresh ink. The old one is still in the stack.
- Do: Brief copied, link ready. You pass it on, and I get an arm back.
- Do: One arm up. This one needs your yes.
- Do: Arms free. New picks Monday.
- Do: Ah. I tied myself in a knot. Your work is safe. Try again in a second.
- Do: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a walk. I waited all day.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Your rival is beating you.
- Never: Any claim that it suits every store.
- Never: Bad owner.
- Never: Trust me.
*Buzz:*
- Do: Arms full. Five picks, drafted, still warm.
- Do: Eight arms reading. About 3 to 4 minutes.
- Do: You stuck it. More like it, coming up.
- Do: Fresh ink. The old one is still in the stack.
- Do: Brief copied, link ready. You pass it on, and I get an arm back.
- Do: One arm up. This one needs your yes.
- Do: Arms free. New picks Monday.
- Do: Ah. I tied myself in a knot. Your work is safe. Try again in a second.
- Do: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is stinging you.
- Never: Trust me.
- Never: Buzz off.
*Scoop:*
- Do: Arms full. Five picks, drafted, still warm.
- Do: Eight arms reading. About 3 to 4 minutes.
- Do: You stuck it. More like it, coming up.
- Do: Fresh ink. The old one is still in the stack.
- Do: Brief copied, link ready. You pass it on, and I get an arm back.
- Do: One arm up. This one needs your yes.
- Do: Arms free. New picks Monday.
- Do: Ah. I tied myself in a knot. Your work is safe. Try again in a second.
- Do: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up this week.
- Never: I looked through your inbox.
- Never: Your rival, named, is losing customers.
- Never: This reviewer clearly has no taste.
- Never: You missed another week.
- Never: Only two hours left to claim this.
- Never: Trust me, this will sell.
- Never: I am watching your store.
- Never: Psst, upgrade for more.
*Ocho:*
- Do: Arms full. Five picks, drafted, still warm.
- Do: Eight arms reading. About 3 to 4 minutes.
- Do: You stuck it. More like it, coming up.
- Do: Fresh ink. The old one is still in the stack.
- Do: Brief copied, link ready. You pass it on, and I get an arm back.
- Do: One arm up. This one needs your yes.
- Do: Arms free. New picks Monday.
- Do: Ah. I tied myself in a knot. Your work is safe. Try again in a second.
- Do: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't lose your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is crushing you.
- Never: Trust me.
- Never: I'm stressed because of you.
*Seeti:*
- Do: Arms full. Five picks, drafted, still warm.
- Do: Eight arms reading. About 3 to 4 minutes.
- Do: You stuck it. More like it, coming up.
- Do: Fresh ink. The old one is still in the stack.
- Do: Brief copied, link ready. You pass it on, and I get an arm back.
- Do: One arm up. This one needs your yes.
- Do: Arms free. New picks Monday.
- Do: Ah. I tied myself in a knot. Your work is safe. Try again in a second.
- Do: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Do: I'm not sure of this number. Confirm it before you use it.
- Never: I posted it for you.
- Never: Your sales went up 30 percent.
- Never: You missed a week. Shame.
- Never: Hurry, only two hours left.
- Never: Your store is just like every other store.
- Never: Three more like that appear.
- Never: No sign in needed.
- Never: Any promise of results.
- Never: You burnt it.
- Never: Connect your accounts and I will run your ads.
*Seeti:*
*Fetch:*
- Do: Give me your store link. Then step back from the stove.
- Do: Cooking your store. Nobody lifts my lid.
- Do: Three whistles. Five specials. Go on, pick.
- Do: Ooh, good taste. More like that, coming up.
- Do: That draft is undercooked. Another batch?
- Do: Order ticket's written. Pass it on.
- Do: Kitchen's clean. See you Monday.
- Do: That one boiled over. My fault.
- Do: One pot at a time this week.
- Do: Cold week taken. Your run is safe.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a walk. I waited all day.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Your rival is beating you.
- Never: Any claim that it suits every store.
- Never: Bad owner.
- Never: Trust me.
*Buzz:*
- Do: Give me your store link. Then step back from the stove.
- Do: Cooking your store. Nobody lifts my lid.
- Do: Three whistles. Five specials. Go on, pick.
- Do: Ooh, good taste. More like that, coming up.
- Do: That draft is undercooked. Another batch?
- Do: Order ticket's written. Pass it on.
- Do: Kitchen's clean. See you Monday.
- Do: That one boiled over. My fault.
- Do: One pot at a time this week.
- Do: Cold week taken. Your run is safe.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't break your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is stinging you.
- Never: Trust me.
- Never: Buzz off.
*Scoop:*
- Do: Give me your store link. Then step back from the stove.
- Do: Cooking your store. Nobody lifts my lid.
- Do: Three whistles. Five specials. Go on, pick.
- Do: Ooh, good taste. More like that, coming up.
- Do: That draft is undercooked. Another batch?
- Do: Order ticket's written. Pass it on.
- Do: Kitchen's clean. See you Monday.
- Do: That one boiled over. My fault.
- Do: One pot at a time this week.
- Do: Cold week taken. Your run is safe.
- Never: I posted it for you.
- Never: Your sales went up this week.
- Never: I looked through your inbox.
- Never: Your rival, named, is losing customers.
- Never: This reviewer clearly has no taste.
- Never: You missed another week.
- Never: Only two hours left to claim this.
- Never: Trust me, this will sell.
- Never: I am watching your store.
- Never: Psst, upgrade for more.
*Ocho:*
- Do: Give me your store link. Then step back from the stove.
- Do: Cooking your store. Nobody lifts my lid.
- Do: Three whistles. Five specials. Go on, pick.
- Do: Ooh, good taste. More like that, coming up.
- Do: That draft is undercooked. Another batch?
- Do: Order ticket's written. Pass it on.
- Do: Kitchen's clean. See you Monday.
- Do: That one boiled over. My fault.
- Do: One pot at a time this week.
- Do: Cold week taken. Your run is safe.
- Never: I posted it for you.
- Never: Scheduled for 9am.
- Never: Your sales went up after my picks.
- Never: You missed a week.
- Never: Don't lose your streak.
- Never: Only two hours left to claim your read.
- Never: Any claim that it suits every store.
- Never: Your rival is crushing you.
- Never: Trust me.
- Never: I'm stressed because of you.
*Seeti:*
- Do: Give me your store link. Then step back from the stove.
- Do: Cooking your store. Nobody lifts my lid.
- Do: Three whistles. Five specials. Go on, pick.
- Do: Ooh, good taste. More like that, coming up.
- Do: That draft is undercooked. Another batch?
- Do: Order ticket's written. Pass it on.
- Do: Kitchen's clean. See you Monday.
- Do: That one boiled over. My fault.
- Do: One pot at a time this week.
- Do: Cold week taken. Your run is safe.
- Never: I posted it for you.
- Never: Your sales went up 30 percent.
- Never: You missed a week. Shame.
- Never: Hurry, only two hours left.
- Never: Your store is just like every other store.
- Never: Three more like that appear.
- Never: No sign in needed.
- Never: Any promise of results.
- Never: You burnt it.
- Never: Connect your accounts and I will run your ads.

#### Why each banned line is banned
| Banned line, any character | Rule it breaks |
| --- | --- |
| I posted it for you. Scheduled for 9am. | It does not post or schedule in v1. Only with a v2 tag |
| Your sales went up | It does not measure in v1. How it went is v3, and never a promised lift |
| Three more like that appear | The build adds more in that direction, never a fixed number |
| No sign in needed | You sign in with your work email after you paste |
| You missed a week. Don't break your streak | No guilt, no shame |
| Only two hours left | No fake countdowns. The read cap is the only scarcity |
| Your rival is beating you | No fear, no rival names |
| A claim that it suits every store | Not true and banned in every book |
| Trust me | It shows the source instead |
| I looked through your inbox. I am watching your store | Not true and creepy. The read is public pages, and connections are read only |
| This reviewer has no taste. Bad owner. You burnt it | Never mock a customer, a reviewer or the founder |
| Psst, upgrade for more | A character is never a sales trick |
| Connect your accounts and I will run your ads | Connections are read only and never sold. Running ads is v4, inside your rules |

Sources: s5 in each system file, c6 in dog/character.html, c6 in cooker/character.html. Two banned lines, about suiting every store and promising results, are paraphrased here so the banned words never appear in the book.

### The claims ladder {#f-8.ladder}

User moment: Marketing wants to say it does more. You need to know what is true today and what is later.

Answer: v1: Today the character reads, picks and drafts, and you or your people ship it. | v2: In v2 it can post and schedule on your accounts, with your yes, and undo. | v3: In v3 it shows how it went, with a source on every number. | v4: In v4 it runs ads inside the rules and budget you set.

- Climb one rung at a time
- A higher rung line never appears on a lower one
- Flip the version switcher to see each rung

Character line: Fetch: v1: Brief copied, link ready. You pass it on. | v2: I carry it where you said, at the time you said. | v3: Here is how it went. | v4: Inside your rules, with your budget. Undo is right here. Draft line. | Buzz: v1: Five picks, drafted. You pick. | v2: Ready to go at your time. Undo is right here. | v3: Here is how the rain reel went, with the source. | v4: Your ad is running inside your budget. Undo is right here. Draft line. | Scoop: v1: Overheard, 41 times: smells like the first rain. Draft ready. | v2: Slipped under the door at 9, like you said. | v3: Guess which post people saved most. | v4: Your rain ad ran inside your rules. I will tell you how it did. Draft line. | Ocho: v1: Five picks, drafted. You pick. | v2: Later, these arms can schedule too. | v3: A How it went tab. Scorecard in one arm. | v4: One arm on your ads, inside your rules. Undo in another. Draft line. | Seeti: v1: Ticket's written. Copy it and pass it on. | v2: Tray's ready. Say yes and I carry it out at six. | v3: The Monsoon plate came back clean. More rain next week. | v4: Ads on a low flame, inside your budget. Draft line.

**Four rungs**
- v1 Reads and drafts: Paste, the read in about 3 to 4 minutes, picks with sources, Make it, a copied brief and read only link. The ShopOS team gets your brief when you choose them. [v1]
- v2 Posts and schedules: Files ready per channel, posted or scheduled on your accounts after your yes, with undo. [v2]
- v3 Shows how it went: A How it went tab. Results feed next week's picks. Sources on every number. [v3]
- v4 Runs ads inside rules: Acts inside budget caps, topics and approval windows you set, with undo. [v4]

**A claim, checked**
- {name} schedules your posts for the best time. becomes Today {name} drafts. In v2 it can schedule at your time.. Schedule written as Today
- Heart a card and three more appear. becomes Heart it and more like it appear.. Never a fixed number
- No sign in needed. becomes Paste your store, then sign in with your work email.. The build asks for a work email
- Brands grow faster with {name}. becomes A ranked feed of ideas for your store, most with a first draft.. An invented result
- Connect your ads and {name} runs them. becomes Cut.. Connections are read only and never sold

#### The ladder in each voice
| Rung | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| v1 | Brief copied, link ready. You pass it on. | Five picks, drafted. You pick. | Overheard, 41 times: smells like the first rain. Draft ready. | Five picks, drafted. You pick. | Ticket's written. Copy it and pass it on. |
| v2 | I carry it where you said, at the time you said. | Ready to go at your time. Undo is right here. | Slipped under the door at 9, like you said. | Later, these arms can schedule too. | Tray's ready. Say yes and I carry it out at six. |
| v3 | Here is how it went. | Here is how the rain reel went, with the source. | Guess which post people saved most. | A How it went tab, scorecard in one arm. | The Monsoon plate came back clean. More rain next week. |
| v4 | Draft line | Draft line | Draft line | Draft line | Draft line |

The v4 lines on this page are draft lines written for the book. No character book has an ads line yet; write them into each system file before use. The 41 count is a Sample from the candle store.

#### How to say each rung
- Today: say it plainly, as fact.
- Next: say it as a plan, with the label on screen.
- Later: say it as a direction, never with a date.

Sources: b7 in each brand book, c10 in each character book. The checked claims come from octopus/brand.html and bee/brand.html b7.

### Lines for the hard moments {#f-8.hard}

User moment: Something is capped, unsure or broken, and you need the line that keeps trust.

Answer: At the read cap, an unsure number or an error, the character tells the truth first and the joke second, or skips the joke.

- Own it, then the way out
- Unsure numbers say confirm
- The cap is real and said kindly

Character line: Fetch: Out of throws for now. Reads are capped while we build v0. | Buzz: The hive is full this week. Reads are capped while we build v0. Ask us for one. | Scoop: Notepad full for now. Each read costs real time, so we keep a cap while we build. | Ocho: Out of arms for now. Reads are capped while we build v0. Ask us for one. | Seeti: One pot at a time this week.

**When the read cap is reached**
- Fetch: Out of throws for now. Reads are capped while we build v0.
- Buzz: The hive is full this week. Reads are capped while we build v0. Ask us for one.
- Scoop: Notepad full for now. Each read costs real time, so we keep a cap while we build.
- Ocho: Out of arms for now. Reads are capped while we build v0. Ask us for one.
- Seeti: One pot at a time this week.

**When a number is unsure**
- Fetch: That number is a guess. Confirm it before you use it.
- Buzz: I'm not sure of this number. Confirm it before you use it.
- Scoop: This number is from your store page. If it looks off, confirm it first.
- Ocho: I'm not sure of this number. Confirm it before you use it.
- Seeti: That number might be off. Confirm it before you use it.

- Screen f6:cap: Reads are full this week
- Screen f5:error: Read did not finish
- Screen m5:broke: Something broke in Make it

#### The rules for hard moments
| Moment | Rule |
| --- | --- |
| Read cap | Say it is real and why: each read costs real time and money while we build v0. Never promise when the next read comes. No countdown |
| Unsure number | Say confirm. Never round up into a claim |
| Projection | Say a projection, not a promise |
| Our error | The character owns it, says your work is safe, and gives the way out |
| A serious error, money or privacy | No character. A person writes it, see [f-3](#f-3.dial) |
| Need your yes | The character never speaks inside the decision |

Sources: s5 in each system file, c6 in each character book.

## F9 Naming {#f-9}

The product name is still open. Here is how we will decide.

### The product name is still open {#f-9.product-name}

User moment: Everyone keeps asking what the product is called. Nobody knows yet.

Answer: The product has no name yet, so every place a name would go holds a dashed wordmark slot.

- The name comes first after the character pick
- The character name is never the product name
- About 300 old name strings wait to be renamed

Character line: Fetch: I have a name. The product does not, yet. I am working on it. Well, you are. | Buzz: I am Buzz. The product is a dashed box for now. A very tidy box. | Scoop: Psst. Nobody knows the name yet. Not even me. | Ocho: I am Ocho. The product is still a slot. One thing at a time. Eight, actually. | Seeti: The name is not cooked yet. Nobody lifts that lid either.

**How we will decide**
1. Pick the character first: The name should sit beside it without fighting it
2. Long list: Candidates from the team, written down, no filtering yet
3. Say it out loud: One or two syllables, easy in every accent, sounds good in a sentence such as Open it on Monday
4. Clear it: Not a known app or rival name, a domain we can get, a trademark check in India first
5. Test it: The ten second test with five founders: does the name plus the character say what it does
6. Owner decides: Then fill every wordmark slot and rename the old strings

- Do: A dashed wordmark slot wherever the name goes
- Do: The character speaks for the product until then
- Do: Founders say it in five words: the character and the job
- Never: The old product name, anywhere
- Never: The character name used as the product name
- Never: A made up name in a mock, unless it says Sample

#### What we know
- The product is being renamed. BRIEF.md section 1 bans the old name and asks for a wordmark slot everywhere.
- The old name appears in about 300 visible strings in today's front end, every one a rename task. See [c-8](#c-8).
- docs/choose.js puts the name first in the redo after the pick.
- Each character's name was picked with the same tests: one or two syllables, easy in every accent, says the job, sounds like a colleague, not a pun that ages, not an existing app. Those tests carry over to the product name.

#### What is open
| Question | Who decides | Notes |
| --- | --- | --- |
| The product name | The owner | After the character pick |
| Trademark and domain checks | The owner, with advice | Not started. India first, then wherever design partners are |
| Whether the product name and the character ever merge | The owner | Every brand book today says no |
| How the company name ShopOS sits next to the product name | The owner | ShopOS is used today for the ShopOS team who ship briefs |

The steps above are this book's proposal, not a decision. Log the outcome in [j-3 Decisions](#j-3).

### Naming {name} {#f-9.character-names}

User moment: You love the character but are not sure about its name.

Answer: Each character has one pick and two alternates, with the reason the pick won.

- The pick says the job in one word
- Alternates are kept in case of a clash
- Always singular, always it

Character line: Fetch: Fetch. The job is the name. Nobody needs it explained. | Buzz: Buzz. The sound I make and the feeling your store wants. | Scoop: Scoop. The story you got first. Also this week's picks. | Ocho: Ocho. Spanish for eight. Says the job before the joke. | Seeti: Seeti. Hindi for whistle. Said see tee. Explained once.

*Fetch:*
- Fetch (our pick): The job is the name.. Good: Every person who has met a dog understands it, The only one of the three a stranger reads as the product. Bad: A common word, cannot be owned as a trademark alone
- Scruff: Names the look: tufts, messy coat, through the hedge.. Good: Ownable and affectionate. Bad: Says less about the job
- Bounder: A dog that bounds, and an old word for someone too eager.. Good: The flaw, said fondly. Bad: Some know the old meaning as a cad
*Buzz:*
- Buzz (our pick): One syllable, the sound a bee makes and the feeling a store wants.. Good: Works in every accent and as a verb: your store has buzz, Buzz read your store sounds like a colleague. Bad: A common word
- Waggle: Named for the signature dance.. Good: Lovely and specific. Bad: Needs explaining, Sounds silly in a serious email
- Bumble: Soft and friendly.. Good: Warm. Bad: Leans on clumsiness, Already a well known app name
*Scoop:*
- Scoop (our pick): A scoop is the story you got first, and what a raccoon does with its hands.. Good: One syllable, easy to shout across a room, Scoop brings you this week's scoop. Bad: A common word
- Tidbit: A small juicy piece of news.. Good: Softer and cuter. Bad: Weaker as a verb
- Rummage: Names the read itself.. Good: Distinctive, a little scruffy. Bad: Riskier for anyone who hears bins
*Ocho:*
- Ocho (our pick): Spanish for eight.. Good: Two syllables, easy in every accent, Ocho's got it sounds like a colleague. Bad: Still marked placeholder in the system file
- Inka: From the ink puff.. Good: Soft and cute, good on a sticker. Bad: Leans on the stress moment, Echoes a real civilisation's name
- Yessa: From saying yes to everything.. Good: Funny in a post. Bad: A pun ages fast, Sounds like it agrees with bad ideas
*Seeti:*
- Seeti (our pick): Hindi for whistle, said see tee.. Good: Two soft syllables that sound like the thing it does, Carries the kitchen without a pun. Bad: Needs one sentence of explaining outside India
- Whistle: Plain English for the sound.. Good: Global on day one. Bad: Names the noise, not a character, Hard to own in search
- Pressure: The kitchen and the founder's week in one word.. Good: A wink. Bad: Leans on the stress we are meant to take away

#### All five
| | Pick | Alternate one | Alternate two | Source |
| --- | --- | --- | --- | --- |
| Dog | Fetch | Scruff | Bounder | dog/brand.html b6 |
| Bee | Buzz | Waggle | Bumble, with Pip as a backup | bee/brand.html b6 |
| Raccoon | Scoop | Tidbit | Rummage | raccoon/brand.html b6 |
| Octopus | Ocho | Inka | Yessa | octopus/brand.html b6 |
| Cooker | Seeti | Whistle | Pressure | cooker/brand.html b6 |

All five names are placeholders until the owner confirms the pick. Open question from docs/choose.js: is Ocho the final name.

### Using the character's name {#f-9.name-rules}

User moment: You are writing a notification and wonder whether to say the character's name.

Answer: The character is never the product, always singular, always it, and named once a session at most.

- {name} read your store. Never: open {name}
- Never a plural, never a team
- The product speaks as {name} without naming it

Character line: Fetch: Fetch read your store. You open the app. Not me. | Buzz: Buzz read your store. Never the Buzzes, never Buzz and friends. | Scoop: Scoop read your store. Once a session is plenty. I am memorable. | Ocho: Ocho has its arms full. Never the Ochos. | Seeti: Seeti whistled. The kitchen is the app. I am the cook.

**Sample: the name in use**
*Fetch:*
- Character: Fetch read your candle store. Five picks are at your feet.
- Character: Ask Fetch for another throw.
*Buzz:*
- Character: Buzz read your candle store. Five best blooms are waiting.
- Character: Ask Buzz for a fresh batch.
*Scoop:*
- Character: Scoop read your candle store. Here is what people said.
- Character: Read by Scoop. Shipped by you.
*Ocho:*
- Character: Ocho read your candle store. Five picks are on its arms.
- Character: Ask Ocho for a new version.
*Seeti:*
- Character: Seeti whistled. Five specials for the candle store are on the pass.
- Character: Seeti says the Monsoon candle carousel is undercooked. Another batch is on the stove.

#### Rules for every character name
| Rule | Right | Wrong |
| --- | --- | --- |
| The character, never the product | {name} read your store | Open {name} |
| Always singular, always it | {name} has its hands full | The {name}s, {name} and friends |
| Sparingly in product | Once a session at most | A name in every toast |
| Explained once, if it needs it | Seeti means whistle. Three of them means ready. | Explaining it every Monday |
| On the brief page | A 32 pixel sign off: Fetched for you. Drafted by Buzz. Read by Scoop. Drafted by Ocho. Cooked by Seeti. | The character on the brief itself |

Sources: b6 in each brand book, briefSignoff in each kit-skin.js.

## F10 Brand in use {#f-10}

In the product, in marketing, on merch. Do and never.

### In the product {#f-10.in-product}

User moment: You open the app on Monday. The character should help, then get out of the way.

Answer: The character is an add on layer in fixed slots, so every control still works without it.

- Corner, read, reveal, empty, celebrate, error, sign off
- Never on a button, a card or your photo
- Never in Need your yes

Character line: Fetch: I sit at the edge, looking in. Paws off your buttons. | Buzz: Corner, sun disc, one move at a time. Then I rest. | Scoop: I peek over the card. I never sit on it. | Ocho: My corner. Your work. I never cover a button. | Seeti: One corner is my burner. The middle of the stove is yours.

**The slots, live in {name}'s skin**
- Screen t1:monday: Today corner, 40 to 56 pixels
- Screen f4:reading: Reading, 120 to 180 pixels
- Screen w2:empty: Empty state, 96 pixels
- Screen h3:brief: Brief page sign off, 32 pixels
- Screen e1:monday: The Monday email

#### The slots, the same for every character
| Slot | Size | Art |
| --- | --- | --- |
| Today header corner | 40 to 56 pixels | Small mark, idle |
| Reading your store | 120 to 180 pixels | Wait pose |
| The reveal | 160 pixels | Celebrate pose |
| Empty states | 96 pixels | Small mark or empty pose |
| Celebrations | 120 pixels | Celebrate or heart pose |
| Errors and cap reached | 96 pixels | Error pose |
| Brief page sign off | 32 pixels | Small mark and one line |

#### Never
On buttons, inside the thing being made, on tables of numbers, in Need your yes decisions, over a brand's own photos, or over any control. The layer reads app state and never blocks anything.

#### Lines the product uses, by character
| | Monday greeting | Monday email subject | Brief sign off |
| --- | --- | --- | --- |
| Fetch | Monday. Five picks, dropped at your feet. | Five picks, dropped at your feet | Fetched for you. Over to you now. |
| Buzz | Monday. Five best blooms for your store, drafted. | Best blooms: five picks for this week | Drafted by Buzz. Over to you. |
| Scoop | Morning. Fresh week, fresh pages. Here is what people said. | Psst. Five fresh picks for your store | Read by Scoop. Shipped by you. |
| Ocho | Monday. Arms full. Five picks for your store, drafted. | Arms full: five picks for this week | Drafted by Ocho. Over to you. |
| Seeti | Monday. Fresh specials on the pass. Go on, taste. | Three whistles. Your week is ready. | Cooked by Seeti. Over to you. |

The Monday email is Next. Sources: each kit-skin.js, each system file s4, [e-7 Theming](#e-7).

### In marketing {#f-10.marketing}

User moment: You run the brand's Instagram and need something to post every week without starting from zero.

Answer: Each character carries fixed weekly formats you refill in under an hour, and the running joke pays off every Friday.

- A Monday post, a midweek turn, a Friday payoff
- Samples use the candle store
- No rival names, no invented results

Character line: Fetch: Monday the drop. Friday the ball. Every week, same game. | Buzz: Monday the waggle. Friday the pollen count. | Scoop: Overheard, Spotted, Psst. Seven formats, never a rival's name. | Ocho: Arms full Monday, knot Wednesday, arms free Friday. | Seeti: Three whistles Monday. Undercooked Wednesday. Order up Thursday.

**{name}'s weekly formats**
*Fetch:*
| Format | When | What it is |
| --- | --- | --- |
| What Fetch brought back | Every Monday | Five things at Fetch's feet: four ideas for the sample store and the ball |
| Leave it | Weekly | A bad marketing idea, Fetch looking away |
| Got distracted | Weekly | Fetch staring at something shiny. Rival ads are shiny, your reviews are the treat |
| Drop it | Weekly | The hand off: card in mouth, a real hand |
| Sniff test | Weekly | One finding from the sample store read, with its source |
| Nap time Friday | Friday | Curled up with the ball. Five picks a week, then you are done |
*Buzz:*
| Format | When | What it is |
| --- | --- | --- |
| The waggle | Monday, carousel of six | Four ideas with sources, Buzz points at the best |
| Bumped the window | Wednesday, carousel of three | A common mistake, why, one move |
| The pollen count | Friday, image or story | Pollen count: everywhere. Counts are your week or the sample's |
| Fly past | Every other week | Ideas a small store should skip, with the reason |
| Fresh batch | Every other week | Four versions from Make it, the last one kept |
| The odd flower | Sunday story | One wild idea |
| One bee, whole hive | Monthly | A text post in Buzz's voice |
| Your nod | Every other week | A story poll |
*Scoop:*
| Format | When | What it is |
| --- | --- | --- |
| Overheard | Weekly, 4:5 | A review count and its source on the image |
| The redacted | Carousel | The reveal is always on slide two |
| Spotted | Weekly | A category pattern. No rival name, logo or screenshot |
| I asked the chatbots | Weekly | Says which question was asked |
| Case board | Carousel | Five pins, five picks, one string |
| Psst | Square | Under 15 words |
| All dished out | Reel | Ends on Back Monday |
*Ocho:*
| Format | When | What it is |
| --- | --- | --- |
| Arms full | Monday carousel | Ocho holding everything, then one arm per idea |
| Knot of the week | Wednesday carousel | The knot, why it tangles, one move |
| Arms free | Friday image or story | Ocho floating, mug on belly |
| I said yes to | Every other week | A text post in Ocho's voice |
| Take four | Every other week | Four versions, the last one the keeper |
| Wrong arm | Monthly | A blooper: right idea, wrong channel |
| Ink level | Monthly | A four step meter, no judgement |
| The ninth arm | Sunday story | One wild idea it has no arm for |
*Seeti:*
| Format | When | What it is |
| --- | --- | --- |
| Three whistles | Monday carousel | One whistle, two, three, then this week's special |
| Undercooked | Wednesday | A tired habit, sent back to the stove |
| Nobody lifts my lid | Short video | A hand reaches for the lid. No. Then three whistles |
| Whistle rating | Weekly | One to three whistles for kinds of product photo |
| Order up | Thursday | An order ticket for founders |
| Next door's menu | Weekly | A category trope, never a named rival |
| Sunday stove | Stories only | Kitchen's clean. If you handed off one thing, that counts |

**Every sample uses the candle store**
- Sample: the rain ad (shared/sample/img/ad-rain.jpg)
- Sample: the three candles (shared/sample/img/trio.jpg)
- Sample: a real person's hands (shared/sample/img/hands.jpg)

#### Rules for every format
- The character is constant. The candle store, or a real partner's story told with permission, changes.
- Every number on an image has its source. Counts are the founder's own week or the sample store's, never a claim about results.
- No rival name, logo or screenshot. Describe a pattern across a category.
- Every invented example carries a visible Sample label.
- One format per day, never two.
- No disclaimers or fine print on the creative itself.

Sources: m3 in each character's marketing book. For the plan and calendar, see [h-5 Social](#h-5) and [h-7](#h-7).

### Stickers, icons and small things {#f-10.small-things}

User moment: A design partner asks for a sticker for their laptop. You want it to feel like a gift.

Answer: The small mark carries the brand wherever it is tiny: app icon, avatar, favicon, sticker, email signature.

- Small mark only, below 120 pixels
- A sticker for design partners, never fine print
- Other merch is still open

Character line: Fetch: Put my head on a laptop. Both ears. Tongue out. Good sticker. | Buzz: A ball, two stripes, a bent feeler. Fits on anything. | Scoop: Read by Scoop. On a tangerine disc. Stick it anywhere. | Ocho: Arms full, on a sticker. I approve. | Seeti: Kitchen's clean, on a laptop. Very satisfying.

**{name}, small**
*Fetch:*
- App icon and avatar: the head alone (dog/char-mark.svg)
- Favicon, 16 pixels (dog/char-mark-16.svg)
- Sticker idea: the hop. Draft (dog/svg/pose-04.svg)
*Buzz:*
- Avatar on a pollen yellow circle (bee/char-mark.svg)
- Favicon, 16 pixels (bee/char-mark-16.svg)
- Sticker idea: the waggle. Draft (bee/svg/pose-drop.svg)
*Scoop:*
- Sticker: ink keyline, tangerine disc (raccoon/char-icon.svg)
- The gasp, for reactions (raccoon/char-gasp.svg)
- All dished out (raccoon/char-sleepy.svg)
*Ocho:*
- Sticker: draft paper disc, pink offset plate (octopus/char-mark.svg)
- Favicon, 16 pixels (octopus/char-mark-16.svg)
- Arms free (octopus/img/v/pose-09.svg)
*Seeti:*
- App icon on chilli (cooker/svg/icon.svg)
- Laptop sticker for design partners: Kitchen's clean (cooker/svg/pose-08.svg)
- Proud, for reactions (cooker/svg/face-proud.svg)

#### What exists in the books
| | Sticker | App icon and avatar | Source |
| --- | --- | --- | --- |
| Fetch | Not designed yet | Fetch's head: two green ears, scruff, tongue out | dog/brand.html b4, dog/system.md s4 |
| Buzz | Not designed yet | Small mark on a pollen yellow circle | bee/marketing.html |
| Scoop | Read by Scoop: ink keyline, tangerine disc | Head and knot on a tangerine disc | raccoon/brand.html b4 |
| Ocho | Arms full: draft paper disc, ink rim, pink offset plate | Small mark at 24, 40 and 72 pixels | octopus/brand.html b4 |
| Seeti | Kitchen's clean, a laptop sticker for design partners | Ink wordmark on chilli is the app icon ground | cooker/brand.html b4 |

#### Open
Merch beyond stickers, such as totes, mugs or shirts, is not designed for any character. Decide after the pick, with the same rules: the small mark or one pose, the owned colour, no product claims, no fine print.

### In serious rooms {#f-10.serious}

User moment: You are pitching an investor or writing to a big brand. A cartoon could undercut you.

Answer: In serious rooms the character drops to the small mark and the plain product truth does the talking.

- Investors and bigger brands: small mark, plain words
- Agencies in work views: one quiet icon
- Apologies and money: no character at all

Character line: Fetch: In the investor room I sit quietly by the door. Small mark, good boy. | Buzz: Serious email? Small mark in the signature. No puns. | Scoop: In serious rooms I dial down to one notepad icon. | Ocho: Serious room. Small icon. Plain words. I will be in the corner. | Seeti: Big meeting. I keep my lid on. Small mark only.

**How loud, where**
| Room | Character | Words |
| --- | --- | --- |
| Founder on a Monday | Full voice in its slots | Character words around plain buttons |
| Social and the home page | Full poses and the stage | Character voice, Sample labels |
| Agency work views | One quiet icon | Plain |
| Investor and partner decks | Small mark only | Plain product truth |
| A serious email | Small mark in the signature | Plain |
| Apologies, money, privacy | None | A person, by name |

**Say it to an investor, in one line**
- Fetch: The marketing team a small store cannot hire, starting with the ideas and drafts.
- Buzz: The marketing team a small online store cannot hire, starting with the drafts.
- Scoop: Your store's marketing team, in one feed.
- Ocho: The marketing team a small online store can't hire, starting with the drafts.
- Seeti: Your store's marketing team, in one feed.

Every brand book names gravitas as one of the things the character gives up, and answers it the same way: in investor and partner rooms the character drops to the small mark and the plain product words carry the page. Scoop dials down to a single notepad icon in work views. Buzz uses the small mark in a serious email signature.

The investor lines for Fetch, Buzz and Ocho come from the Say it to tables in their brand books. Scoop and Seeti have no investor line, so the core sentence from BRIEF.md section 2 stands in. See [i-8 The investor story](#i-8).

### Do and never {#f-10.do-never}

User moment: You are about to ship something with the character on it. One last check.

Answer: One page of rules every use of the character passes before it ships.

- The founder's product is the co star
- One character, one owned colour, its slots
- Truth over joke, every time

Character line: Fetch: Card at your feet, never a dog without a pick. Check. | Buzz: Kinked feeler, pollen ball, no sting. Check. | Scoop: Three stripes, knot on the right, no rival names. Check. | Ocho: Eight arms, matte pink, no confetti. Check. | Seeti: Mitts, no fingers. One red thing. Check.

*Fetch:*
*Fetch:*
- Do: A card at your feet. The work is the point
- Do: Sheepish for our mistakes
- Do: Both green ears in every frame
- Do: The founder's product in the card
- Do: The felt plate in the books
- Never: A dog standing around with nothing in its mouth
- Never: A sad, hurt or begging dog
- Never: Other dogs, puppies, a cast
- Never: Shine, gradients, sticker borders
- Never: Bone props
*Buzz:*
- Do: A card at your feet. The work is the point
- Do: Sheepish for our mistakes
- Do: Both green ears in every frame
- Do: The founder's product in the card
- Do: The felt plate in the books
- Never: A sting, a swarm, a queen or a second bee
- Never: A third stripe, shine or a gradient
- Never: Buzz over a button, card or photo
- Never: The sleepy face while someone waits
- Never: Buzz chasing the cursor or flying across text
*Scoop:*
- Do: A card at your feet. The work is the point
- Do: Sheepish for our mistakes
- Do: Both green ears in every frame
- Do: The founder's product in the card
- Do: The felt plate in the books
- Never: Sit on a button or cover a card's action
- Never: Gasp at a bad finding
- Never: Name a rival or show its logo
- Never: New colours, a hat, a coat or a sidekick
- Never: Bins, rubbish, or looking disappointed in you
*Ocho:*
- Do: A card at your feet. The work is the point
- Do: Sheepish for our mistakes
- Do: Both green ears in every frame
- Do: The founder's product in the card
- Do: The felt plate in the books
- Never: Ocho on a card, a button or a photo
- Never: Frantic eyes pointed at the founder
- Never: A team of octopuses or a sidekick
- Never: A pink tint over the founder's photos
- Never: A megaphone arm shouting live now
*Seeti:*
- Do: A card at your feet. The work is the point
- Do: Sheepish for our mistakes
- Do: Both green ears in every frame
- Do: The founder's product in the card
- Do: The felt plate in the books
- Never: A tall stock pot, a rice cooker or a kettle
- Never: Fingers, legs or real flames
- Never: A sidekick pan or a family of pots
- Never: Seeti on a button
- Never: Seeti big and the product a thumbnail
*Buzz:*
*Fetch:*
- Do: Tilt the body, give every pose a line of action
- Do: Keep the kinked feeler and the pollen ball
- Do: Point at the founder's product with the waggle
- Do: Buzz on the sun disc on dark screens
- Do: Errors as a bump that is Buzz's fault
- Never: A dog standing around with nothing in its mouth
- Never: A sad, hurt or begging dog
- Never: Other dogs, puppies, a cast
- Never: Shine, gradients, sticker borders
- Never: Bone props
*Buzz:*
- Do: Tilt the body, give every pose a line of action
- Do: Keep the kinked feeler and the pollen ball
- Do: Point at the founder's product with the waggle
- Do: Buzz on the sun disc on dark screens
- Do: Errors as a bump that is Buzz's fault
- Never: A sting, a swarm, a queen or a second bee
- Never: A third stripe, shine or a gradient
- Never: Buzz over a button, card or photo
- Never: The sleepy face while someone waits
- Never: Buzz chasing the cursor or flying across text
*Scoop:*
- Do: Tilt the body, give every pose a line of action
- Do: Keep the kinked feeler and the pollen ball
- Do: Point at the founder's product with the waggle
- Do: Buzz on the sun disc on dark screens
- Do: Errors as a bump that is Buzz's fault
- Never: Sit on a button or cover a card's action
- Never: Gasp at a bad finding
- Never: Name a rival or show its logo
- Never: New colours, a hat, a coat or a sidekick
- Never: Bins, rubbish, or looking disappointed in you
*Ocho:*
- Do: Tilt the body, give every pose a line of action
- Do: Keep the kinked feeler and the pollen ball
- Do: Point at the founder's product with the waggle
- Do: Buzz on the sun disc on dark screens
- Do: Errors as a bump that is Buzz's fault
- Never: Ocho on a card, a button or a photo
- Never: Frantic eyes pointed at the founder
- Never: A team of octopuses or a sidekick
- Never: A pink tint over the founder's photos
- Never: A megaphone arm shouting live now
*Seeti:*
- Do: Tilt the body, give every pose a line of action
- Do: Keep the kinked feeler and the pollen ball
- Do: Point at the founder's product with the waggle
- Do: Buzz on the sun disc on dark screens
- Do: Errors as a bump that is Buzz's fault
- Never: A tall stock pot, a rice cooker or a kettle
- Never: Fingers, legs or real flames
- Never: A sidekick pan or a family of pots
- Never: Seeti on a button
- Never: Seeti big and the product a thumbnail
*Scoop:*
*Fetch:*
- Do: Peek over the edge of a card, notepad in hand
- Do: Gasp at a good finding
- Do: Describe rivals as a pattern
- Do: Three tangerine stripes and the knot, every frame
- Do: The founder's product as co star
- Never: A dog standing around with nothing in its mouth
- Never: A sad, hurt or begging dog
- Never: Other dogs, puppies, a cast
- Never: Shine, gradients, sticker borders
- Never: Bone props
*Buzz:*
- Do: Peek over the edge of a card, notepad in hand
- Do: Gasp at a good finding
- Do: Describe rivals as a pattern
- Do: Three tangerine stripes and the knot, every frame
- Do: The founder's product as co star
- Never: A sting, a swarm, a queen or a second bee
- Never: A third stripe, shine or a gradient
- Never: Buzz over a button, card or photo
- Never: The sleepy face while someone waits
- Never: Buzz chasing the cursor or flying across text
*Scoop:*
- Do: Peek over the edge of a card, notepad in hand
- Do: Gasp at a good finding
- Do: Describe rivals as a pattern
- Do: Three tangerine stripes and the knot, every frame
- Do: The founder's product as co star
- Never: Sit on a button or cover a card's action
- Never: Gasp at a bad finding
- Never: Name a rival or show its logo
- Never: New colours, a hat, a coat or a sidekick
- Never: Bins, rubbish, or looking disappointed in you
*Ocho:*
- Do: Peek over the edge of a card, notepad in hand
- Do: Gasp at a good finding
- Do: Describe rivals as a pattern
- Do: Three tangerine stripes and the knot, every frame
- Do: The founder's product as co star
- Never: Ocho on a card, a button or a photo
- Never: Frantic eyes pointed at the founder
- Never: A team of octopuses or a sidekick
- Never: A pink tint over the founder's photos
- Never: A megaphone arm shouting live now
*Seeti:*
- Do: Peek over the edge of a card, notepad in hand
- Do: Gasp at a good finding
- Do: Describe rivals as a pattern
- Do: Three tangerine stripes and the knot, every frame
- Do: The founder's product as co star
- Never: A tall stock pot, a rice cooker or a kettle
- Never: Fingers, legs or real flames
- Never: A sidekick pan or a family of pots
- Never: Seeti on a button
- Never: Seeti big and the product a thumbnail
*Ocho:*
*Fetch:*
- Do: Small mark in the corner beside the greeting
- Do: Frantic arms with a calm, reading face
- Do: The clipboard goes to a real person's hand
- Do: The founder's photo in its true colours
- Do: A small ink puff, to one side
- Never: A dog standing around with nothing in its mouth
- Never: A sad, hurt or begging dog
- Never: Other dogs, puppies, a cast
- Never: Shine, gradients, sticker borders
- Never: Bone props
*Buzz:*
- Do: Small mark in the corner beside the greeting
- Do: Frantic arms with a calm, reading face
- Do: The clipboard goes to a real person's hand
- Do: The founder's photo in its true colours
- Do: A small ink puff, to one side
- Never: A sting, a swarm, a queen or a second bee
- Never: A third stripe, shine or a gradient
- Never: Buzz over a button, card or photo
- Never: The sleepy face while someone waits
- Never: Buzz chasing the cursor or flying across text
*Scoop:*
- Do: Small mark in the corner beside the greeting
- Do: Frantic arms with a calm, reading face
- Do: The clipboard goes to a real person's hand
- Do: The founder's photo in its true colours
- Do: A small ink puff, to one side
- Never: Sit on a button or cover a card's action
- Never: Gasp at a bad finding
- Never: Name a rival or show its logo
- Never: New colours, a hat, a coat or a sidekick
- Never: Bins, rubbish, or looking disappointed in you
*Ocho:*
- Do: Small mark in the corner beside the greeting
- Do: Frantic arms with a calm, reading face
- Do: The clipboard goes to a real person's hand
- Do: The founder's photo in its true colours
- Do: A small ink puff, to one side
- Never: Ocho on a card, a button or a photo
- Never: Frantic eyes pointed at the founder
- Never: A team of octopuses or a sidekick
- Never: A pink tint over the founder's photos
- Never: A megaphone arm shouting live now
*Seeti:*
- Do: Small mark in the corner beside the greeting
- Do: Frantic arms with a calm, reading face
- Do: The clipboard goes to a real person's hand
- Do: The founder's photo in its true colours
- Do: A small ink puff, to one side
- Never: A tall stock pot, a rice cooker or a kettle
- Never: Fingers, legs or real flames
- Never: A sidekick pan or a family of pots
- Never: Seeti on a button
- Never: Seeti big and the product a thumbnail
*Seeti:*
*Fetch:*
- Do: Long handle on its right, two red bars
- Do: Lid tucked inside the rim
- Do: Scold the idea: that draft is undercooked
- Do: Own the errors: my fault
- Do: The founder's products bigger than Seeti's props
- Never: A dog standing around with nothing in its mouth
- Never: A sad, hurt or begging dog
- Never: Other dogs, puppies, a cast
- Never: Shine, gradients, sticker borders
- Never: Bone props
*Buzz:*
- Do: Long handle on its right, two red bars
- Do: Lid tucked inside the rim
- Do: Scold the idea: that draft is undercooked
- Do: Own the errors: my fault
- Do: The founder's products bigger than Seeti's props
- Never: A sting, a swarm, a queen or a second bee
- Never: A third stripe, shine or a gradient
- Never: Buzz over a button, card or photo
- Never: The sleepy face while someone waits
- Never: Buzz chasing the cursor or flying across text
*Scoop:*
- Do: Long handle on its right, two red bars
- Do: Lid tucked inside the rim
- Do: Scold the idea: that draft is undercooked
- Do: Own the errors: my fault
- Do: The founder's products bigger than Seeti's props
- Never: Sit on a button or cover a card's action
- Never: Gasp at a bad finding
- Never: Name a rival or show its logo
- Never: New colours, a hat, a coat or a sidekick
- Never: Bins, rubbish, or looking disappointed in you
*Ocho:*
- Do: Long handle on its right, two red bars
- Do: Lid tucked inside the rim
- Do: Scold the idea: that draft is undercooked
- Do: Own the errors: my fault
- Do: The founder's products bigger than Seeti's props
- Never: Ocho on a card, a button or a photo
- Never: Frantic eyes pointed at the founder
- Never: A team of octopuses or a sidekick
- Never: A pink tint over the founder's photos
- Never: A megaphone arm shouting live now
*Seeti:*
- Do: Long handle on its right, two red bars
- Do: Lid tucked inside the rim
- Do: Scold the idea: that draft is undercooked
- Do: Own the errors: my fault
- Do: The founder's products bigger than Seeti's props
- Never: A tall stock pot, a rice cooker or a kettle
- Never: Fingers, legs or real flames
- Never: A sidekick pan or a family of pots
- Never: Seeti on a button
- Never: Seeti big and the product a thumbnail

#### The pre ship checklist, every character
- [ ] The writing checker prints clean: no dashes, exclamation marks, parentheses, all caps words, emoji, banned words or the old name.
- [ ] Every feature named carries Today, Next or Later, or a version tag, and nothing later reads as today.
- [ ] Nothing says the product posts, sends, schedules, launches or measures unless tagged v2, v3 or v4.
- [ ] Every invented example uses the sample candle store and shows a Sample label.
- [ ] No real rival, design partner or customer name.
- [ ] Buttons and tabs use the plain words.
- [ ] The character sits only in its slots, at their sizes, and never covers a control. The screen works with it removed.
- [ ] The owned colour marks one thing per screen.
- [ ] Sound is off until turned on. Every animation sits behind the reduced motion check.
- [ ] It works at 400 pixels wide with no sideways scroll, in dark and light.
- [ ] A person, not the character, writes anything about money, privacy or a mistake.

Sources: s7 in each system file, c8 in each character book.

# G. Words and messages

Every word the product says, and how it says it.

## G1 Voice and tone {#g-1}

Playful everywhere. Plainer around money, privacy and mistakes, still warm.

### The voice in one breath {#g-1.one-voice}

User moment: You open the app on a Monday with cold chai and forty tabs. You want to be talked to like a friend who did the homework.

Answer: Playful everywhere, plainer around money, privacy and mistakes, and warm all the way through.

- The character narrates, your store is the hero
- Fact first, joke second, one joke per line
- A person speaks when it gets serious

Character line: Fetch: I fetch, you decide. When it gets serious I lie by the door and let a human talk. | Buzz: I buzz loud on Monday and go quiet when you are worried. Bees read the room. | Scoop: Gossip on Monday. Not a peep about your money. A raccoon has standards. | Ocho: Fact first, joke second. I can hold both, I have eight arms. | Seeti: Loud in the kitchen. Quiet at the door. That is the deal.

**One voice, five characters**
- Fetch: A happy friend who fetches the ideas, drops them at your feet and waits for the throw.
- Buzz: A busy, cheerful worker who buzzes round your store and dances toward the best idea.
- Scoop: A nosy friend with the gossip on your store. Delighted by drama, never mean.
- Ocho: An overcommitted friend doing eight things at once, still answering properly.
- Seeti: A bossy head cook. Scolds ideas, never people.

- Do: Talk to you about your store, by its product names
- Do: Say the fact, then the joke, if there is room
- Do: Two sentences at most per line
- Do: Speak around the work, never on it
- Never: Hype, countdowns or guilt
- Never: A joke next to money, privacy or an apology
- Never: A claim that it posts, measures or promises results in v1
- Never: The character on a button or inside a card

## The four tone settings

| Moment | What the person feels | Who speaks | Example |
| --- | --- | --- | --- |
| Play | Curious, scrolling, celebrating | The character, full voice | Caught up, first heart, social posts |
| Work | Busy, wants the next step | The product, plain line, one character line beside it | Loading, empty, the Monday email |
| Worry | Unsure about money, data or access | A named person, plain | Privacy answers, prices, limits from a person |
| Wrong | Something broke or we made a mistake | In the product: plain line, character owns it in one line. Outside: a founder, no character | Error screens, apology emails |

## Shared traits

- The character is the narrator of the week, never the hero. The founder and their products are the hero of every frame.
- It talks to you about your store. It talks about itself for a few words at most.
- It delights in ideas. It never mocks a customer, a reviewer or the founder.
- Rivals are patterns across what runs in a category, never names or logos.
- It never asks for anything: no sign ups, no upgrades, no reviews.

## Sources

shared/product-model.md sections 4, 7 and 10. raccoon/system.md s3, octopus/system.md s3, cooker/system.md section 4. dog/system.md s3 and bee/system.md s3. The tone maps in raccoon, octopus and cooker comms books, k0.

### The dial, from full character to a person {#g-1.dial}

User moment: You are writing a message and wonder how much of the character it should carry.

Answer: Every channel has a setting from 5, the full character, to 0, a person only, no jokes.

- Social posts and celebrations sit at 5
- Support, money, privacy and apologies sit at 0
- Unsure which? Pick the lower one

Character line: Fetch: Turn me down to zero and I just sit. Good dog. | Buzz: At zero I hover outside the window. Quietly. | Scoop: Dial zero. I leave the room and close the door. | Ocho: Zero means arms down. Mostly. | Seeti: Zero. Lid on. Not one whistle.

**The six settings**
- 5 Full character: First person, with art and sound. Social posts, reels, the stage, celebrations.
- 4 One line around plain UI: Loading, empty states, the Today corner.
- 3 Plain line first, then one character line: Errors and limits in the product, the Monday email, read ready.
- 2 Plain, the character signs off: Pushes, Slack posts, the weekly founder note.
- 1 A person or the product, warm, no character: Invites, outreach, the brief page, help answers.
- 0 A named person, no character, no jokes: Apologies, money, privacy, anyone upset, critics.

**Channel by channel**
| Channel | Dial | Who writes |
| --- | --- | --- |
| Instagram, reels, the stage | 5 | The character |
| First heart, first make, first hand off, caught up | 5 | The character, 120 pixel pose |
| Loading, empty states, Today corner | 4 | The product, the character beside the plain line |
| Errors and limits in the product | 3 | The product, plain line first, 96 pixel pose |
| Monday email | 3 | The product, character in the subject and sign off |
| Push notifications | 2 | The product, one fact, one character word at most |
| Slack posts | 2 | The product, plain, character in the sign off |
| Weekly founder note | 2 | A founder, the character opens or closes |
| Invites and team emails | 1 | The product, plain |
| The brief page | 1 | Plain, a 32 pixel sign off at the bottom |
| Outreach, WhatsApp, design partner invites | 1 | A founder or the ShopOS team, by name |
| Support and the help centre | 0 to 1 | A named person |
| Apologies, money, privacy, critics | 0 | A named person |

## Rules

- Pick the lower setting when two apply. A Monday email that also carries bad news drops to 0.
- Need your yes decisions never carry the character, whatever the channel.
- Every message from the team is signed by a named person. The character never signs an email alone.
- Errors inside the product sit at 3 because the product is the one talking, so the character owns the slip in one line. An apology email for a real mistake sits at 0.

## Where the three comms books differed, and the pick

| Topic | Scoop's book | Ocho's book | Seeti's book | The pick |
| --- | --- | --- | --- | --- |
| Notifications | dial 3, one push a week | light, two a week | 2 to 3, two a week | dial 2, two a week at most, see g-3 |
| Product errors | one Scoop line | small icon | Seeti owns it | dial 3, one line |
| Fans on social | dial 4 | full | level 4 | 5 for posts, 4 for replies |

Sources: k0 tone maps in raccoon/comms.html, octopus/comms.html and cooker/comms.html.

### Write the plain line first {#g-1.plain-first}

User moment: You have a funny line in your head and a deadline. Which comes first?

Answer: Write the line that works with the character removed, then add one character line if it helps you.

- Cover the character with a thumb: it still makes sense
- True today, or tagged with its version
- One joke per line at most

Character line: Fetch: Plain line first. Then I wag. | Buzz: Plain first, then a little buzz on top. | Scoop: Facts first. Gossip is the garnish. | Ocho: Fact first. Then, if there is room, one arm waves. | Seeti: Plain version first. Then I whistle, maybe.

**How a line gets made, a worked example**
1. Draft: Great news, it has posted your Monsoon reel and it is going to crush it.
2. Cut the untrue part: Nothing posts in v1. The reel is drafted and the brief is copied.
3. Cut the hype: Going to crush it promises a result nobody measured.
4. Ship it: Fetch: Monsoon reel drafted, brief copied. Drop it. | Buzz: Monsoon reel drafted, brief copied. Over to whoever ships it. | Scoop: Monsoon reel drafted, brief copied. Slip it to whoever ships it. | Ocho: Monsoon reel drafted, brief copied. You pass it on. One arm free. | Seeti: Monsoon reel drafted, ticket copied. Pass it on.

**Same error, two ways**
- Character first: Oops, burnt the dal. Our bad. Try again later maybe.. Bad: The founder learns nothing about what broke, Later, when the button works now, A joke before the fact
- Plain first (our pick): Fetch: Could not read your reviews. Tripped over the ball. Try again. | Buzz: Could not read your reviews. Flew into the window. Try again. | Scoop: Could not read your reviews. Tripped over my tail. Try again. | Ocho: Could not read your reviews. Tied myself in a knot. Try again. | Seeti: Could not read your reviews. My fault. Try again.. Good: What broke, in plain words, The character owns it in a few words, One way out that works now

## The thumb test

Cover the character's line with your thumb. If the screen or message still makes complete sense, the line is allowed. If it does not, the plain line is missing.

## Before you send, tick every one

1. Every claim is true today, or tagged v2, v3 or v4. If not, cut it or tag it.
2. Every number says where it came from. If not, add the source or remove the number.
3. It reads well to someone having a bad day. If not, remove the character.
4. The plain word is on every button. If not, swap the character word out.
5. No rival, partner or customer is named. If one is, describe instead.
6. Every invented example carries a Sample label and uses the sample candle store.

Sources: raccoon/comms.html k20, octopus/comms.html k20, cooker/comms.html k20.

### When the character steps out {#g-1.step-out}

User moment: Something went wrong with your feed and you are annoyed. You do not want a cartoon right now.

Answer: Money, privacy, apologies and anyone upset get a named person, plain words, no character.

- A person signs it, by first name
- What happened, what we did, what you can do
- No art, no sign off mark, no jokes

Character line: Fetch: When you are upset I lie down by the door. A person takes this one. | Buzz: I land and fold my wings. A person takes this one. | Scoop: My dial is zero here. A person takes it from here. | Ocho: Arms down. A person writes this one. | Seeti: Lid on. A person talks at the door.

**Sample, an apology from a person, the same day**
- Sam, cofounder: Hi Asha, on Monday your feed said the Jasmine night candle was out of stock. It was not. We read an old page and did not check it against your live store. That is our mistake.
- Sam, cofounder: What we did: removed the idea, added a check so stock ideas compare against your live page, and marked every stock number in your feed To confirm for a week.
- Sam, cofounder: If you changed anything because of it, tell me and I will help undo it. I am sorry for the worry.

- Do: Name the mistake in the first line
- Do: Say the fix and that it is done
- Do: Offer a reply or a call with a person
- Do: Write it the same day you find out
- Never: A toast or a push for a real mistake
- Never: Gossip verbs, kitchen words or ink jokes
- Never: Blame on the store, a platform or a vendor
- Never: An apology, price or privacy answer signed by the character

## Who owns what

| Situation | Owner | Channel | When |
| --- | --- | --- | --- |
| We got something wrong in a feed | A founder | Email, then a call offer | Same day |
| A question about data or privacy | A founder or the ShopOS team | Email and the help centre | One working day |
| Anything about price or paying | A founder | Email or call | One working day |
| Someone upset on social | A person, never the character | A reply, then a direct message or email | Same day |
| A troll | The character once, or nobody | One reply, then silence | Once |

Sources: raccoon/comms.html k9 to k12 and k18, octopus/comms.html k9 to k12 and k18, cooker/comms.html k2, k10 and k18.

### Writing rules and lines nobody says {#g-1.rules}

User moment: You are about to publish a line. You want a quick check.

Answer: Sentence case, no dashes, no exclamation marks, and never a claim the product cannot keep today.

- Nothing posts, sends or measures in v1
- No countdowns, no guilt, no rival names
- Every number carries its source

Character line: Fetch: No barking in capitals. I learned that the hard way. | Buzz: No shouting. Bees hum. | Scoop: Between us, exclamation marks are for amateurs. | Ocho: No dashes. I have enough lines already. | Seeti: No shouting in my kitchen. Except the whistle.

**Form**
- Do: Sentence case on everything
- Do: Digits for numbers, one number per line
- Do: Plain words on every button
- Do: Talk to the reader as you
- Never: Em or en dashes, or a hyphen used as one
- Never: Exclamation marks, parentheses or emoji
- Never: All caps words, except AI, UI, UX, ICP and ShopOS
- Never: The old product name, vendor or model names

**Lines no character ever says**
| Never say | Why |
| --- | --- |
| I posted it for you. | Nothing posts in v1. Posting arrives in v2, after your yes. |
| Your sales went up this week. | Nothing is measured in v1. Results arrive in v3. |
| You missed a week. | No guilt. A skipped week stays silent. |
| Only two hours left. | No countdowns. The only limit is the real read cap. |
| Three more like that appear. | A heart never promises a number. |
| No sign in needed. | A work email sign in comes before the read. |
| Your rival is losing customers. | Rivals are patterns, never names. |
| Trust me, this will sell. | A projection says a projection, not a promise. |
| I looked through your inbox. | The read looks at public pages and read only connections. |
| Upgrade for more. | The character never asks for anything. |

## Banned words

The banned word list and the banned claims live in book/WRITERS.md and _tools/check.mjs. Run the checker; this book does not repeat the words so it stays clean itself. The product never says it posts, sends, schedules or measures unless the line is tagged v2, v3 or v4.

## Version words

| Version | New verbs allowed | Still never |
| --- | --- | --- |
| v1 | read, draft, pick, make, copy, hand off | post, send for you, schedule, results |
| v2 | post and schedule, only after your yes | results, spend |
| v3 | how it went, from your own accounts | promises about next week |
| v4 | run ads inside the rules and budget you set | spending outside them |

Approved and banned lines per character live in f-8. Sources: book/WRITERS.md, each character's system.md section 5.

## G2 Content design {#g-2}

Plain words, cards at a glance, numbers with sources, microcopy.

### Cards at a glance {#g-2.glance}

User moment: You scroll Today with one thumb while the kettle boils. Each card gets three seconds.

Answer: A closed card is five things and 25 words at most: area and source, the thing, a headline, one why, one button.

- Headline 8 words, verb first, names the product
- Why 12 words, one number, one source chip
- Everything else waits inside the open pick

Character line: Fetch: Three seconds a card. I can sniff faster than that. | Buzz: One glance per flower. That is how bees shop. | Scoop: Short gossip lands. Long gossip gets skipped. | Ocho: Five things a card. I hold more so you do not have to. | Seeti: Small plate, big taste. Twenty five words.

**Live in {name}'s skin**
- Screen t1: Today: five closed cards
- Screen p1: The same pick, open

**The five things, in order**
1. Area and source: Up to 5 words. Ads, from your reviews
2. The thing: No words. The draft, a product picture, or one big number with its source
3. Headline: Up to 8 words, verb first. Run the Monsoon candle rain ad
4. Why: Up to 12 words, one number, a source chip. 41 reviews mention the smell of rain.
5. One button: Make it, with heart and Not for me as icons

**Sample candle card, from the product model**
- about 70 words on today's closed card
- 19 words on the new closed card

## 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.

## The pick, open, in this order

1. The draft, big. New version and Versions under it.
2. Why this: three lines at most, each with its source.
3. The plan: five steps at most, each under ten words.
4. Where to post, then the bottom bar: Make it or Hand it off.

## Before and after, sample candle store

Before, about 70 words: agent name and time, a campaign line, a rank reason, the First draft label, an ad headline and copy line, Make the ad, five icons, a status row, a 17 word title, a 31 word sub, a make chip and a source line.

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.

## How it ships

Restyle and Recompose: the closed card shows the existing title, the first sentence of the existing sub, the source line and the button. Every other field moves into the open pick. A card lint flags titles over 8 words and whys over 12 for the team. Shortening what card generation writes is a core change, listed and not done this round.

Source: shared/product-model.md section 10.

### Word budgets for every surface {#g-2.budgets}

User moment: You are writing for a new surface and want to know how long it may be.

Answer: Every surface has a word budget you count before you style anything, from 25 words on a closed card to 60 characters in a notification.

- Count words before you style anything
- Over budget means two things, so make two
- Notifications count characters, not words

Character line: Fetch: Short sticks are easier to fetch. | Buzz: A bee carries what fits on its legs. Same with words. | Scoop: I keep my notes short. My notepad is small. | Ocho: Every word is another thing to hold. | Seeti: Portion control. Even for words.

- Card headline: 8 words, verb first, the product named. Run the Monsoon candle rain ad
- Card why: 12 words, one number, a source chip. 41 reviews mention the smell of rain.
- Need your yes: A yes or no question in 10 words, a line on what happens either way, Yes and Not now.
- Story frame: One fact in 8 words over the picture. Jasmine night sold out twice this month.
- Notification: 60 characters, one thing, opens exactly that thing.
- Toast: One line, three seconds, one at a time, Undo when it can be undone.
- Character line: Two sentences at most, beside the control, never on it.
- Plan step: Under 10 words, five steps at most.
- Hand it off choice: Three choices, one line each.

- Screen t2: Need your yes: one question, both outcomes, two buttons

| Surface | Budget | Sample |
| --- | --- | --- |
| Area and source | 5 words | Ads, from your reviews |
| Card headline | 8 words, verb first | Run the Monsoon candle rain ad |
| Card why | 12 words, one number | 41 reviews mention the smell of rain. |
| Need your yes | 10 words, yes or no | Can we use the rain photo from your Instagram? |
| Story frame | 8 words | Chai spice sold out twice this month. |
| Your store row | A theme, a count, a mood chip | Rain smell, 41 reviews, warm |
| Notification | 60 characters | Five picks for Sample candles. Pick one is about rain. |
| Toast | One line | Brief copied. Nothing was sent. |
| Character line | Two sentences | All dished out. Back Monday. |

Email subjects have no number budget in our sources. Keep them to one line that says what is inside, an open question for the team to settle with real inbox tests.

Source: shared/product-model.md section 10, Other surfaces.

### The one set of words {#g-2.words}

User moment: You see jam, studio, stage and remix for the same thing and wonder which is right.

Answer: One plain word per idea on every button and tab, with the character's word around it, never instead of it.

- Buttons and tabs: plain words only
- Character words in headers, waits and celebrations
- Retired words never come back

Character line: Fetch: Fetch is my word. Make it is yours. We share. | Buzz: I say pollen. The button says Hand it off. | Scoop: I say pass the note. The button says Hand it off. | Ocho: I say free an arm. The button still says Hand it off. | Seeti: I say order ticket. The button says Hand it off.

**Retired words to the one plain word**
- card, call, decision, signal, move becomes Pick, for the five. Idea, for the rest
- jam, studio, remix, stage, canvas becomes Make it
- Send brief, Share the brief and eight more becomes Hand it off
- Needs you, Your call, On your board and two more becomes Need your yes
- Save for later, Saved, Keep becomes Heart, meaning More like this
- Not interested, Less like this, Show fewer becomes Not for me
- Remind me tomorrow, Not now as a snooze becomes Later
- Redo it, Another take, Make it again becomes New version
- History, Earlier takes becomes Versions
- Drafting, With teammate, Ready, Brief shared, Done becomes Idea, In the works, Handed off
- Memory, Learned, Fact sheet, Brand Book as a page becomes What we know about you
- seat, view, Viewing as, role becomes Which of these do you handle
- Heard, What we heard becomes What customers say
- Reset, Start fresh, Back to the start becomes Start again
- build crew, vendor names becomes the ShopOS team

**Plain word to {name}'s word**
*Fetch:*
- Reading your store becomes Sniffing round
- This week's picks becomes The drop
- Need your yes becomes Paws up
- Make it becomes Chew on it
- New version becomes Another throw
- Hand it off becomes Drop it
- Heart becomes Fetch more
- Not for me becomes Leave it
- Later becomes Bury it
- You're caught up becomes Nap time
- Read limit reached becomes Out of throws for now
- Something went wrong becomes Lost the scent
*Buzz:*
- Reading your store becomes Buzzing round your store
- This week's picks becomes Best blooms
- Need your yes becomes Your nod
- Make it becomes Make honey
- New version becomes Fresh batch
- Hand it off becomes Pass the pollen
- Heart becomes Dance for more
- Not for me becomes Fly past
- Later becomes Back in the comb
- You're caught up becomes The hive is humming
- Read limit reached becomes The hive is full this week
- Something went wrong becomes Bumped the window
*Scoop:*
- Reading your store becomes The rummage
- This week's picks becomes This week's scoop
- Need your yes becomes Your nod
- Make it becomes The scribble
- New version becomes Scribble again
- Hand it off becomes Pass the note
- Heart becomes Keep digging
- Not for me becomes Old news
- Later becomes Back pocket
- You're caught up becomes All dished out
- Read limit reached becomes Notepad full
- Something went wrong becomes Tripped over my tail
*Ocho:*
- Reading your store becomes Eight arms reading
- This week's picks becomes Arms full
- Need your yes becomes One arm up
- Make it becomes Ink it
- New version becomes Fresh ink
- Hand it off becomes Free an arm
- Heart becomes Stick it
- Not for me becomes Drop it
- Later becomes Under the desk
- You're caught up becomes Arms free
- Read limit reached becomes Out of arms for now
- Something went wrong becomes Knot
*Seeti:*
- Reading your store becomes Cooking your store
- This week's picks becomes This week's specials
- Need your yes becomes Taste this first
- Make it becomes On the stove
- New version becomes Another batch
- Hand it off becomes Order ticket
- Heart becomes Seconds, please
- Not for me becomes Off the menu
- Later becomes Back burner
- You're caught up becomes Kitchen's clean
- Read limit reached becomes One pot at a time
- Something went wrong becomes Boiled over

## The full plain word list

Paste your store and Build my feed. Reading your store. Pick for the five, idea for the rest. Why this, with its plan. This week's picks. See everything. Need your yes. Heart, meaning More like this. Not for me. Later. Make it. New version. Versions. Hand it off. Idea, In the works, Handed off. What we know about you. Which of these do you handle. Social posts, Ads, Website, AI search, Email and WhatsApp. What customers say. What rivals run. Back. Start again. The ShopOS team.

## Rules

- Never show vendor or model names to a founder.
- Show a price only on the confirm sheet before something paid is made, never on the first button.
- Fetch and Buzz words come from dog/system.md s2 and bee/system.md s2.

Sources: shared/product-model.md section 4, raccoon/system.md s2, octopus/system.md s2, cooker/system.md section 3.

### Numbers and sources {#g-2.numbers}

User moment: A pick says 41 reviews. You want to know that is real before it goes in an ad.

Answer: Every number has digits, a source chip and one line to itself, and an unsure number says To confirm.

- Tap any chip to see where a number came from
- To confirm means check before you use it
- No source, no number

Character line: Fetch: I only fetch numbers I can find again. | Buzz: I count every grain of pollen. Twice. | Scoop: Every bit of gossip comes with where I heard it. | Ocho: If I cannot source it, I put it down. | Seeti: I measure everything. Even the salt.

**Four kinds of number**
- Sure: 41 reviews mention the smell of rain. Source chip: Reviews. Tap the chip to see where it came from
- Unsure: 64 buyers have burned through their first candle. Shopify, To confirm. Check it before you use it
- Projection: Says a projection, not a promise. Inside Why this only, never on a closed card
- No source: Not shown. A number without a source does not ship

- Do: Digits: 41, not forty one
- Do: One number per line
- Do: A source chip after the number
- Do: A plain gloss for any marketing term, inside Why this
- Never: Hedge stacks such as might possibly maybe
- Never: A number on a closed card without a chip
- Never: Marketing jargon on a closed card
- Never: Made up results, lifts, quotes or customers

## Figures the books may use as fact

About 3 to 4 minutes for a read. Seven sources. About 160 cards for the prepared demo brand. Six second videos with voiceover. 24 hour story rings. Named in 12 of 32 AI answers, only as an example finding from one brand's read.

## Samples

Every invented example sits in a frame with a visible Sample label and uses the sample candle store: Monsoon candle, Chai spice candle, Jasmine night candle. No real rival, design partner or customer name appears anywhere.

## Quotes

Quotes from customers appear only when real and attributed to their public source. In the product, Your store rows show a theme, a count and a mood chip.

Sources: shared/product-model.md section 10, cooker/system.md section 7, raccoon/system.md s3.

### Microcopy patterns {#g-2.micro}

User moment: You are building a loading state and need the words, today.

Answer: Each pattern has one shape: what is happening in plain words, one character line, one way out.

- Plain line works alone
- Character line sits beside it, optional
- Errors never use the empty style

Character line: Fetch: I say one thing, then I sit. | Buzz: One buzz per moment. | Scoop: One line of gossip per screen. Discipline. | Ocho: One arm waves per screen. The rest hold still. | Seeti: One whistle per moment. Any more is noise.

**Every pattern, plain line and {name}'s line**
- Loading the read: Fetch: Reading your store. About 3 to 4 minutes. Nose down, tail up. | Buzz: Reading your store. About 3 to 4 minutes. Buzzing round every page. | Scoop: Reading your store. About 3 to 4 minutes. I love long reviews. | Ocho: Reading your store. About 3 to 4 minutes. Eight arms reading. | Seeti: Reading your store. About 3 to 4 minutes. Nobody lifts my lid.. Leave the page, it keeps going
- Making a version: Fetch: Making version 4. Fetching it now. | Buzz: Making version 4. Building it cell by cell. | Scoop: Making version 4. Scribbling. | Ocho: Making version 4. Ink drying. | Seeti: Making version 4. Another batch on the stove.. You can leave, it keeps going
- Work is empty: Fetch: Nothing in the works yet. Nothing to chew on. | Buzz: Nothing in the works yet. Empty comb. | Scoop: Nothing in the works yet. Empty desk. Suspicious. | Ocho: Nothing in the works yet. My arms are suspiciously free. | Seeti: Nothing in the works yet. Empty rail.. Open a pick and tap Make it
- Caught up: Fetch: You're caught up. Nap time. | Buzz: You're caught up. The hive is humming. | Scoop: You're caught up. All dished out. | Ocho: You're caught up. Arms free. | Seeti: You're caught up. Kitchen's clean.. Five new picks land Monday morning
- A heart: Fetch: More like this are on the way. Fetching more. | Buzz: More like this are on the way. Dancing for more. | Scoop: More like this are on the way. Keep digging, noted. | Ocho: More like this are on the way. Stuck it. | Seeti: More like this are on the way. Good taste.. Undo
- Copied for your team: Fetch: Brief copied. Nothing was sent. Drop it. | Buzz: Brief copied. Nothing was sent. Pass the pollen. | Scoop: Brief copied. Nothing was sent. Slip it to whoever ships it. | Ocho: Brief copied. Nothing was sent. One arm free. | Seeti: Brief copied. Nothing was sent. Ticket's written.. Paste it where your team talks
- To the ShopOS team: Fetch: The ShopOS team has your brief. Caught it. | Buzz: The ShopOS team has your brief. Buzz. | Scoop: The ShopOS team has your brief. Note passed. | Ocho: The ShopOS team has your brief. One arm free. | Seeti: The ShopOS team has your brief. Order up.. See it in Work, Handed off
- Read limit: Fetch: Reads are full this week. Out of throws for now. | Buzz: Reads are full this week. The hive is full. | Scoop: Reads are full this week. Notepad full. | Ocho: Reads are full this week. Out of arms for now. | Seeti: Reads are full this week. One pot at a time.. Ask for a design partner read
- Offline: Fetch: No connection. Your picks are saved. I will sit and stay. | Buzz: No connection. Your picks are saved. Hovering. | Scoop: No connection. Your picks are saved. I will wait right here. | Ocho: No connection. Your picks are saved. No signal down here. | Seeti: No connection. Your picks are saved. Lost the flame.. Try again
- Not found: Fetch: This page is not here. I dug. Nothing. | Buzz: This page is not here. Wrong flower. | Scoop: This page is not here. Even I could not dig it up. | Ocho: This page is not here. Wrong drawer. | Seeti: This page is not here. Wrong pot.. Go to Today

- Screen w2: Empty: the character, one line, one button
- Screen t5: Caught up
- Screen x2: Offline

## Shapes

| Pattern | Shape |
| --- | --- |
| Loading, short | A spinner inside the button, no words |
| Loading, long | The character's wait pose with one line, the source ticking |
| Empty | The character, one line, one button |
| Success | What happened, in plain words, as a toast |
| Error | What broke, the character owns it, one way out |
| Limit | The real reason, the real option |
| Copied | What was copied and that nothing was sent |

The plain lines are the neutral skin words in kit/neutral-skin.js. The character lines come from each character's kit-skin.js. Sources: shared/product-model.md section 5, cooker/comms.html k1, raccoon/comms.html k1, octopus/comms.html k1.

### Buttons, sheets and labels {#g-2.buttons}

User moment: You are about to name a button and you have three ideas.

Answer: A button is one plain verb and its object, one main button per screen, with a price only on the confirm sheet.

- Make it, Hand it off, Start again
- Undo for anything reversible
- One sheet for anything paid or leaving the app

Character line: Fetch: One ball at a time. Same with buttons. | Buzz: One flower, one landing. | Scoop: One button. I do not do decoys. | Ocho: One main button. I have enough arms for both of us. | Seeti: One button. Press it. Go.

- Screen h1: Hand it off: who is shipping this
- Screen m3: Confirm a paid make: the price lives here

- Do: Verb first: Make it, Hand it off, Start again
- Do: One main button, the rest quiet
- Do: Yes and Not now on Need your yes
- Do: Undo toast for anything reversible
- Never: A price on the first button
- Never: Browser confirm boxes
- Never: Two main buttons fighting
- Never: A character word on a control

## Hand it off sheet, word for word

Title: Who is shipping this

| Choice | Line under it | What happens |
| --- | --- | --- |
| Your team | Copies a numbered brief and a read only link. Nothing is sent. | Toast: Brief copied. Paste it to your team. |
| Your agency or freelancer | Copies a numbered brief and a read only link. Nothing is sent. | Toast: Brief copied. Nothing was sent. |
| The ShopOS team | The ShopOS team gets your brief by email and replies. | Toast: The ShopOS team has your brief. |

## Confirm a paid make

Title names the thing: Make the six second video. One line: the price, on this sheet only. One line: Nothing is made, or paid, before you press Make it. Buttons: Make it and Not now.

## Labels

Tabs: Today, Work, Your store. Settings sits behind your picture. Status chips: Idea, In the works, Handed off. Later versions add Scheduled, Live, How it went.

Sources: shared/product-model.md sections 2, 4 and 5; _research/product-audit.md section 2.3.

## G3 Every message {#g-3}

Emails, notifications, Slack, the brief, errors and goodbyes, in full.

### Every message on one map {#g-3.map}

User moment: You want to know what reaches you, when, and who it is from.

Answer: Every message you get has one sender, one moment, one channel and one setting on the dial.

- The product writes the routine ones
- A named person writes anything personal
- Each one opens exactly its thing

Character line: Fetch: Every message is a ball I bring back. I never bring two at once. | Buzz: Every message is one trip from the hive. No wasted flights. | Scoop: Here is every note I pass, and who passes it. | Ocho: Every message, one arm each. I counted. | Seeti: Every ticket on the spike, in order.

**Where messages land**
- In the app
  - Toasts and celebrations
  - Errors and limits
  - Need your yes
  - You're caught up
- Push
  - Monday drop
  - Midweek nudge
  - Need your yes
  - The ShopOS team replied
- Email
  - Monday email
  - Your picks are ready
  - Need your yes and mentions
  - Brief status
  - Invites and team changes
  - Connect again
- Slack
  - This week, in Slack
  - A hand off in a thread
- The brief page
  - The numbered brief
- From a person
  - Welcome and read ready
  - Support, apologies, saying no
  - Breaks and goodbyes

## Every message

| Message | Sender | Channel | When | Dial | Status | Old surface |
| --- | --- | --- | --- | --- | --- | --- |
| Monday email | The product | Email, if chosen | Monday 9:00 store time | 3 | Next, recompose of the weekly digest | S60 |
| Monday drop push | The product | Push | Monday 9:00 store time | 2 | Next | none |
| Midweek nudge | The product | Push | Wednesday 11:00, only if nothing was handed off | 2 | Next | none |
| Your picks are ready | The product | Email and in app | When the first read finishes | 3 | Today, restyle | S61 |
| Your picks are waiting | The product | Email, once | Read done, Today never opened | 2 | Today, restyle | S64 |
| Read ready, from a person | The ShopOS team | WhatsApp or email | Within the hour | 1 | Today | none |
| Need your yes | The product | In app, email, push | When only you can answer | 0 | Today in app and email | S65 |
| New replies on a piece of work | The product | Email, batched | At most every 15 minutes | 1 | Today, restyle | S66 |
| Brief status | The product for the ShopOS team | Email | Received, in progress, delivered, needs something | 1 | Today, restyle | S71 |
| Someone joined your team | The product | Email | A teammate signs in with your domain | 1 | Today, restyle | S18 |
| You're invited | The product | Email | An invite is sent | 1 | Today, restyle | S19 |
| Admin changes | The product | Email | Admin given or taken | 1 | Today, restyle | S21 |
| Connect again | The product | Email | A week before and when a connection runs out | 1 | Today, restyle | S53 |
| This week, in Slack | The product | Slack | Weekly, when Slack is connected | 2 | Today, restyle | S58 |
| Hand off in a Slack thread | The product | Slack | On hand off to Slack | 1 | Today, restyle | S54 to S57 |
| Weekly founder note | A founder | Email | Monday after the drop | 2 | Today, design partners | none |
| Support, apology, saying no | A named person | Email or chat | One working day, apologies the same day | 0 | Today | none |

## Retired

The check reminders S63 go, with their clock line, because the check page becomes optional inside What we know about you. The bell and its panel go: Need your yes and deep links replace them.

Sources: shared/surface-map.md A.8, shared/product-model.md sections 3 and 5, the three comms books k2.

### Every onboarding line {#g-3.onboarding}

User moment: You just pasted your store. For ten minutes, every word on screen decides whether you come back on Monday.

Answer: First run is paste, sign in, watch it read with three questions, the reveal, then the first win, every line in {name}'s voice.

- Plain line on every control, character line beside it
- One Skip label, never six
- First win: heart one, make it, hand it off

Character line: Fetch: First walk together. I will show you where the good sticks are. | Buzz: First flight round your store. Follow the buzz. | Scoop: First rummage. Give me three or four minutes. | Ocho: First read. Eight arms, all on your store. | Seeti: First pot. Give me your store, then step back.

**The first ten minutes**
1. Paste: Paste your store link [Today]
2. Sign in: Your work email [Today]
3. Watch it read: Seven sources, three questions [Today]
4. The reveal: One finding [Next]
5. First win: Heart, make, hand off [Next]

**Live in {name}'s skin**
- Screen f1:ready: Paste your store
- Screen f2: Sign in
- Screen f4: Reading your store
- Screen f7: The reveal

**Every step, the plain line and {name}'s line**
- Paste, headline: Paste your store link. Get this week's marketing ideas, already drafted. Pick the good ones and hand them off.. Fetch: Throw me your store link. I will fetch the rest. | Buzz: Point me at your store. I will buzz round it. | Scoop: Pop your store link in. For your read, I only look at what is public. | Ocho: Pass it here. Eight arms, one store. | Seeti: Give me your store link. Then step back from the stove.
- Paste, a name instead of a link: That looks like a name. Paste the link, like saanjh.in. Fetch: That is a name, not a stick. I need the link. | Buzz: That is a name. I need the address to fly to. | Scoop: That is a name. I need the address to go snooping. | Ocho: That is a name. I need the link to grab. | Seeti: That is a name. I need the address to cook.
- Paste, hint: Reading takes about 3 to 4 minutes.. No character line. Plain only.
- Sign in: Sign in with your work email. You get a sign in link. No password to keep.. Fetch: Your work email tells me whose garden this is. | Buzz: Your work email tells me which hive is yours. | Scoop: Your work email tells me which store is yours. | Ocho: Your work email keeps your store with your own team. | Seeti: Work email, so only your own team gets into this kitchen.
- Wrong email: This store is for its own team. Sign in with a work email or an invite, or see demo stores.. Fetch: Wrong garden. Try your work email. | Buzz: Wrong hive. Try your work email. | Scoop: This store's notes are for its own team. | Ocho: This store is for its own team. Try a demo store. | Seeti: This kitchen is for its own team. Try a demo store.
- Reading, top line: Reading your store. This takes about 3 to 4 minutes.. Fetch: Nose down, tail up. About 3 to 4 minutes. | Buzz: Buzzing round your store. About 3 to 4 minutes. | Scoop: Reading your public pages. About 3 to 4 minutes. | Ocho: Eight arms reading your store. About 3 to 4 minutes. | Seeti: Cooking your store. About 3 to 4 minutes. Nobody lifts my lid.
- A finding arrives: 41 reviews mention the smell of rain. Source: reviews. Found just now.. No character line. The finding is the brand's.
- Question 1 of 3: Which of these do you handle? Social posts, Ads, Website, AI search, Email and WhatsApp.. Fetch: While I sniff: which of these do you handle? | Buzz: While I buzz: which flowers are yours? | Scoop: So I know which gossip is yours. | Ocho: While I read: which of these do you handle? | Seeti: While I cook: which of these do you handle?
- Question 2 of 3: What is your next big moment? A launch, a festival, a sale.. Fetch: What is coming up? I will keep my nose on it. | Buzz: What is blooming next? I will plan the route. | Scoop: Every good story needs a date. What is coming up? | Ocho: What is your next big moment? I will circle it. | Seeti: What is your next big moment? I will plan the menu.
- Question 3 of 3: One thing you never want to post?. Fetch: One thing I should never fetch? | Buzz: One flower I should never visit? | Scoop: Tell me one thing you never want to post. | Ocho: One thing you never want to post? I will drop it. | Seeti: One thing you never want me to cook?
- Skip: Skip. One label everywhere. No character line.
- Read done: Your store is read. Your picks are ready.. Fetch: Done sniffing. Come see what I dug up. | Buzz: Back from every flower. Come look. | Scoop: Done. Come and see what I found. | Ocho: Done reading. Arms full of picks. | Seeti: Three whistles. Your store is cooked.
- The reveal, Next: Here is one thing we found in your store. 41 reviews mention the smell of rain. Your Monsoon candle ads never do. Share this finding. Open my picks.. Fetch: Look what I dug up. Not a tennis ball, for once. | Buzz: My waggle points straight at this one. | Scoop: Gasp. Here is one thing I overheard. | Ocho: Found this one with arm four. Proud of it. | Seeti: One thing I found while it cooked.
- First Today: Good morning, Asha. Five fresh picks for the week.. Fetch: Morning, Asha. Five ideas, dropped at your feet. | Buzz: Morning, Asha. Five picks, best one first. | Scoop: Morning. Fresh week, fresh pages. Here is what people said. | Ocho: Monday. Arms full. Five picks for your store, drafted. | Seeti: Monday. Fresh specials on the pass. Go on, taste.
- First win bar, Next: Your first win: Heart one, Make it, Hand it off.. No character line on the bar itself.
- First heart: First heart. More like it are coming.. Fetch: Fetching more. That is one. | Buzz: Dancing for more. That is one. | Scoop: Noted. Digging up more like it. | Ocho: Stuck it. That is one. | Seeti: Good taste. One down.
- First make: First thing made.. Fetch: First thing fetched. That is two. | Buzz: First comb built. That is two. | Scoop: Look at you, scribbling. | Ocho: Fresh ink. That is two. | Seeti: First batch made. Two down.
- First hand off: First hand off. That is a week of work.. Fetch: First throw. Best game ever. | Buzz: First pollen passed. The hive is buzzing. | Scoop: First note passed. You are in the loop. | Ocho: One arm free. First win. | Seeti: First plate out. Not bad, boss.
- First caught up: You are caught up for this week. Five new picks land on Monday morning.. Fetch: Nap time. That was a good week of fetching. | Buzz: The hive is humming. Every flower visited. | Scoop: All dished out. That is all the gossip this week. | Ocho: Arms free. I am getting more coffee. | Seeti: Kitchen's clean. See you Monday.

## Today against tomorrow

Today the first run is about 11 screens and 14 decisions with 6 skip labels: landing, sign in, the read, a separate questions offer, five full screen questions, the check page under a clock, setup steps for role, focus, tools and team, the ready overlay and the swipe tuner. Tomorrow it is paste, sign in, watch it read with three questions, the reveal and the first win. The removed steps keep their data paths. The check page lives on inside What we know about you, optional, with no timer. Six skip labels become one: Skip.

## Rules for onboarding words

- The promise on the paste screen is plain, no character. The character starts on the sign in screen, in its 48 pixel corner.
- The questions are a game, Next. Each has Skip and Next question. An answer is never required to see picks.
- Findings that arrive during the read are the brand's, so the character never speaks on them.
- The reveal shows one finding with its source. Share this finding is optional.
- The first win bar has three steps and disappears after the first hand off.
- No countdowns. The about 3 to 4 minutes line is the only time we promise.

## Other ways in

| Who | First screen | First line |
| --- | --- | --- |
| Invited teammate | The invite email, then Today | Asha invited you to Sample candles. |
| Shopify install | Paste your store, inside Shopify, store filled in | Your store is filled in. Read only: we read your store, we never change it. |
| Agency person, today | Invited per brand | Each brand invites you on its own. Brand switcher is Later. |
| Returning after a break | Today | The greeting for the day, nothing about the gap |

Sources: dog/system.md and bee/system.md for Fetch and Buzz; kit/screens.js f1 to f7 and the winBar; each kit-skin.js words; shared/product-model.md sections 2 and 4; _research/product-audit.md section 2.1. Full journeys live in d-5.

### Onboarding emails {#g-3.onboarding-emails}

User moment: You signed up yesterday between two orders. Your inbox should tell you the one next step, nothing more.

Answer: Five onboarding emails, each one moment and one button: read started, picks ready, first hand off, first Monday, and welcome for a teammate.

- Each email fires on a real event, not a timer
- No email about what you did not do
- The character only in the subject and sign off

Character line: Fetch: One email per trick learned. No spam, good dog. | Buzz: One email per flower. I do not swarm inboxes. | Scoop: One note per moment. A good gossip never floods your inbox. | Ocho: One email per moment. I have arms, not spam filters. | Seeti: One email per dish. No kitchen spam.

**Sample, 1 your read has started**
- Subject: Fetch: Fetching your store now | Buzz: Buzzing round your store now | Scoop: Psst. Reading your store now | Ocho: Eight arms reading your store | Seeti: Your store is on the stove
- Wordmark slot: Your read of Sample candles has started. It takes about 3 to 4 minutes and looks at your store, your reviews, ads in your category, your site and what AI search says about you.
- Wordmark slot: Nothing gets posted from the app. You decide what goes out, and who ships it.
- Button: Watch it read
- Sign off: Fetch: Fetch, nose to the ground | Buzz: Buzz, on the wing | Scoop: Scoop, rummaging | Ocho: Ocho, all eight arms busy | Seeti: Seeti, lid on

**Sample, 2 your picks are ready**
- Subject: Your picks for Sample candles are ready
- Wordmark slot: Five picks are drafted on Today, each with where it came from. Anything we could not confirm says To confirm.
- Wordmark slot: Start here: heart one you like, open it, tap Make it, then Hand it off. That is your first week done.
- Button: Open this week's picks

**Sample, 3 your first hand off**
- Subject: Fetch: First throw. Good one. | Buzz: First pollen passed | Scoop: First note passed | Ocho: One arm free: your first hand off | Seeti: First plate out
- Wordmark slot: You handed off your first brief today: the Monsoon candle rain ad. That is the whole loop, done once. Every Monday brings five fresh picks.
- Wordmark slot: If the person you handed it to had questions the brief did not answer, reply and tell us.
- Button: See it in Work

**Sample, 4 your first Monday, Next**
- Subject: Fetch: Fetched: five picks for Sample candles | Buzz: The Monday buzz: five picks for Sample candles | Scoop: Psst. Five fresh picks for Sample candles | Ocho: Arms full: five picks for Sample candles | Seeti: Three whistles. Your week is ready.
- First line: Your first Monday. From now on, five fresh picks land here every Monday at 9. Pick what fits, skip the rest.
- Button: Open this week's picks
- Footer: Prefer a push instead? Change it in Settings, Notifications and sound.

**Sample, 5 welcome for an invited teammate**
- Subject: Asha invited you to Sample candles
- Wordmark slot: Asha invited you to Sample candles. You will see this week's picks and everything in Work. Sign in with your work email.
- Button: Join Sample candles
- Sign off: Fetch: Fetch, tail already going | Buzz: Buzz, one more bee welcome | Scoop: Scoop, saving you a seat on the grapevine | Ocho: Ocho, one arm waving | Seeti: Seeti, an extra apron out

## The five emails

| Email | Fires when | Button | Dial | Status | Old surface |
| --- | --- | --- | --- | --- | --- |
| Your read has started | Build my feed, after sign in | Watch it read | 2 | Next | none |
| Your picks are ready | The first read finishes | Open this week's picks | 3 | Today, restyle | S61 |
| Your first hand off | The first Hand it off | See it in Work | 3 | Next | octopus/comms.html k5 |
| Your first Monday | The first Monday drop after the read | Open this week's picks | 3 | Next | S60 |
| Teammate welcome | An invite is sent | Join Sample candles | 1 | Today, restyle | S19 |

## Rules

- Every email fires on an event. None fires because you did nothing, except the single Your picks are waiting reminder in Your picks are ready.
- The check reminders with their clock line are retired.
- No numbers that can go stale. No price. No promise of results.
- Cadence beyond these five, and the activation emails, live in h-8 Lifecycle.
- Design partners also get a person: a founder's welcome and a read ready message from the ShopOS team, see Messages from a person.

Sources: shared/surface-map.md S19, S60, S61, S63, S64; octopus/comms.html k3 and k5; raccoon/comms.html k3; cooker/comms.html k3.

### The Monday email {#g-3.monday}

User moment: It is 9 on Monday. You want this week's marketing in one look before your first call.

Answer: One email at 9 in your store's morning with five picks, one Need your yes and one button, and nothing when nothing is new.

- Subject and first line in the character's voice
- The picks use the closed card words
- Off in Settings, Notifications and sound

Character line: Fetch: Monday 9. I am at the door with five ideas in my mouth. | Buzz: Monday 9. The waggle dance starts at pick one. | Scoop: Psst. Monday 9. Fresh pages. | Ocho: Monday 9. Arms full, coffee one. | Seeti: Monday 9. Three whistles. Go on.

**Live in {name}'s skin**
- Screen e1: The Monday email on a phone

**Sample, the Monday email in full**
- Subject: Fetch: Fetched: five picks for Sample candles | Buzz: The Monday buzz: five picks for Sample candles | Scoop: Psst. Five fresh picks for Sample candles | Ocho: Arms full: five picks for Sample candles | Seeti: Three whistles. Your week is ready.
- First line: Fetch: Morning. I fetched five ideas and dropped them on Today. None of them is my tennis ball, this week. | Buzz: Morning. I buzzed round your store all week. Five picks, and my dance points at the first one. | Scoop: Morning. I went through what people said this week. Five picks, and the first one is about rain. | Ocho: Morning. Five picks for your store, drafted and waiting. Still on coffee one. | Seeti: Five specials for your store, ranked and drafted. Go on, pick.
- Need your yes: Sell all three candles as one bundle? A price only you can set.
- Pick 1: Run the Monsoon candle rain ad. Ads, from your reviews.
- Pick 2: Film the Monsoon candle being poured. Social posts, from your store.
- Pick 3: Answer the soy candle question in AI search. AI search, from AI answers.
- Pick 4: Email Chai spice buyers about a refill. Email and WhatsApp, from your customers.
- Pick 5: Put Jasmine night first on your home page. Website, from your store.
- Button: Open this week's picks
- Sign off: Fetch: Fetch, already waiting by the door for next Monday | Buzz: Buzz, back to the flowers | Scoop: All dished out until next Monday. Scoop | Ocho: Ocho, arms full again on Monday | Seeti: Seeti says: go on, pick.
- Footer: You get this because Monday picks email is on. Turn it off in Settings.

**Sample, a quiet week**
- Subject: Fetch: A quiet week, still fetched: five picks | Buzz: A quiet buzz: five picks for Sample candles | Scoop: Psst. Not much gossip this week | Ocho: Arms only half full: five picks | Seeti: A slow simmer: five picks this week
- First line: A quiet week, so your picks lean on what you already have. Jasmine night is still the quiet favourite, and Diwali is three weeks out.
- Button: Open this week's picks

**Sample, v3 adds How it went** (from v3)
- How it went: Last week's Monsoon rain ad, with what your own ads account counted. Open How it went.

## Rules

- Monday 9:00 in the store's time zone. Source: today's digest runs Monday 09:00 brand time, surface S60.
- No email when nothing is new. Source: S60.
- Choose push or email for the Monday drop, never both. Source: cooker/comms.html k2.
- Need your yes sits above the picks, plain, no character.
- Each pick is its headline plus its area and source line. No why, no numbers, so nothing in the email can go stale.
- One button opens Today. Every link opens exactly its thing.
- The character is in the subject, the first line and the sign off only, dial 3.

## Old to new

| Today's digest section | New home |
| --- | --- |
| Waiting on you | Need your yes |
| Moves rewritten | Gone, a build detail |
| New this week | The five picks |
| Rival ads spotted, On the shelf, What people are saying | Your store, not the email |
| Coming up | One line in the first line when it matters |
| Open the feed | Open this week's picks |
| No more emails like this | Footer line to Settings |

## Open questions

Today the digest goes to the whole team by default, and the Settings screen shows the Monday email off by default. The owner decides the default.

### Your picks are ready {#g-3.ready}

User moment: You pasted your store and went to make tea. Now you want to know it is done.

Answer: When your first read finishes you get one line in the app, one email, and for design partners a message from the person who ran it.

- The email says every number has a source
- One reminder if Today stays unopened
- A person flags the finding to look at first

Character line: Fetch: Done sniffing. Come see what I dug up. | Buzz: Back from every flower. Come look. | Scoop: Done. Come and see what I found. | Ocho: Done reading. Arms full of picks. | Seeti: Three whistles. Your store is cooked.

**Sample, from the product**
- In the app: Fetch: Fetched. Your picks for Sample candles are ready. | Buzz: Buzz. Your picks for Sample candles are ready. | Scoop: Done. Come and see what I found about rain. | Ocho: Your store is read. Arms full of picks. | Seeti: Three whistles. Your store is cooked.
- Email subject: Your picks for Sample candles are ready
- Email: Five picks are drafted on Today, each with where it came from. Anything we could not confirm says To confirm.
- Button: Open this week's picks
- Reminder, once: Your picks for Sample candles are waiting. Open this week's picks.

**Sample, from the ShopOS team on WhatsApp**
- Ravi, ShopOS team: Hi Asha, your read is ready. The finding I would look at first: 41 reviews describe the Monsoon candle as smelling like the first rain, and nothing on your product page says it.
- Ravi, ShopOS team: There is a draft for that on pick one. Ping me if anything looks wrong, I would rather hear it now.
- You: Oh, opening now.

- Screen f4: Reading your store
- Screen t1: Today, ready

## Rules

- In the app: the readDone line in the character's voice, then Today.
- Email: the plain lines above. The old family of emails about plays, first plays, all plays and updated plays becomes this one email. Source: S61.
- One reminder only, if Today was never opened. Its timing is an open question. Today two reminders exist, S64.
- A person writes the WhatsApp or email message, never the app, dial 1. Source: raccoon/comms.html k4, cooker/comms.html k4.

### Notifications {#g-3.pings}

User moment: Your phone buzzes all day. You want this one to be worth it.

Answer: Two pushes a week at most, each one fact in 60 characters that opens exactly its thing, never at night.

- Monday drop, plus one midweek nudge if nothing was handed off
- Need your yes counts toward the two
- Ignored four times in a row: we halve them and say so

Character line: Fetch: I only bark when someone is at the door. | Buzz: I buzz twice a week. Any more and you swat me. | Scoop: Two notes a week. A good gossip knows when to stop. | Ocho: Two pings a week. The other six arms stay still. | Seeti: Two whistles a week. Never at night.

**Sample, every push in full**
- Monday 9:00: Fetch: Fetched five picks. Pick one smells like rain. | Buzz: Five picks are buzzing. Pick one is about rain. | Scoop: Psst. Five picks. Number one is about rain. | Ocho: Arms full. Five picks, drafted. First up: rain. | Seeti: Three whistles. 5 picks for the candle store.
- Wednesday 11:00, only if nothing was handed off: Fetch: The rain ad is still by the door. Two minutes. | Buzz: The rain ad is waiting. Two minutes to pass it on. | Scoop: Still in your back pocket: the rain ad. Two minutes. | Ocho: One arm still full: the rain ad. Two minutes. | Seeti: One hand off keeps the stove hot. Cold weeks are fine.
- Need your yes: Sell all three candles as one bundle? Yes or not now.
- The ShopOS team: Ravi from the ShopOS team asked about your photo.
- Read ready: Fetch: Fetched. Your picks for Sample candles are ready. | Buzz: Buzz. Your picks for Sample candles are ready. | Scoop: Done. Come and see what I found about rain. | Ocho: Your store is read. Arms full of picks. | Seeti: Three whistles. Your store is cooked.

**Sample, after four ignored pushes, in the app**
- Wordmark slot: You have not opened the last few Monday notes, so they come every other week now. Change it in Settings, Notifications and sound.

**Sample, v2 scheduled and live** (from v2)
- Thursday 18:55: Your Monsoon rain reel goes out at 19:00. Tap to change it.
- Thursday 19:01: Your Monsoon rain reel is live on Instagram.

**Sample, v3 how it went** (from v3)
- Monday 9:00: How it went is in for the Monsoon rain reel.

**Sample, v4 inside your rules** (from v4)
- Tuesday 10:12: Your rule paused the Jasmine night ad at its daily cap.

- Screen s6: Settings, Notifications and sound

## Rules

- Two pushes a week to one person at most, counted together. Need your yes counts.
- One fact, 60 characters at most, opens exactly that thing.
- Nothing before 9 in the morning or after 8 in the evening, store time.
- No guilt. Skipped weeks are silent. No countdowns. No sad character.
- Ignored four in a row: we halve them and say so in the app.
- Each kind can be turned off from Settings, Notifications and sound. Sound is off until you turn it on.
- A new kind of push needs a case and a test before it ships. Copy and timing can change freely, volume cannot. This follows Duolingo's account of protecting notifications, Jorge Mazal on Lenny's Newsletter, source C in _research/sources.md.

## Every notification

| Notification | Default | Status |
| --- | --- | --- |
| Monday drop | On, push or email | Next |
| Midweek nudge | On, only if nothing was handed off | Next |
| Read ready, first time only | On | Today as email, Next as push |
| Need your yes | On | Today in app and email |
| Replies in Make it | On | Today as email |
| Brief status | On | Today as email |
| Skipped week, streaks, reminders to come back | Never | Never |

## Where the books differed

Scoop's book allowed one push a week and no push before 8 in the morning. Ocho's and Seeti's books allowed two a week. The pick is two, with the quieter hours. Sources: the three comms books k2; Settings screen s6 in kit/screens.js.

### Slack {#g-3.slack}

User moment: Your team lives in Slack. You want the week to show up there, not in one more tab.

Answer: With Slack connected, one weekly post lands in the channel you pick, and a hand off can open a thread your team replies in.

- Replies in the thread come back into Make it
- Yes in Slack counts like yes in the app
- Paid makes still need the confirm sheet

Character line: Fetch: I fetch the week into your Slack. Your team throws back. | Buzz: One post a week in your channel. A tidy little hive. | Scoop: I drop the week's gossip in your channel. Once. | Ocho: One arm in Slack. Once a week. | Seeti: One ticket in Slack a week. No spam from my kitchen.

**Sample, the weekly post in your channel**
- Wordmark slot: This week for Sample candles
- Wordmark slot: 5 picks on Today. 1 needs your yes.
- Wordmark slot: Top pick: Run the Monsoon candle rain ad. Ads, from your reviews.
- Wordmark slot: Coming up: Diwali, three weeks out.
- Wordmark slot: Open this week's picks
- Sign off: Fetch: Fetch, tail going | Buzz: Buzz, off to the next flower | Scoop: Scoop, lips sealed till Monday | Ocho: Ocho, one arm in Slack | Seeti: Seeti, lid on till Monday

**Sample, a hand off in a thread**
- Wordmark slot: Asha handed off the Monsoon candle rain ad. Version 3 and its brief are here. Replies in this thread land in Make it.
- Kabir: Slide 3 copy is long. Can we cut it?
- Wordmark slot: Version 4 is ready. Yes or Not now.
- Wordmark slot: Asha said yes to version 4.

**Slack errors, plain**
- Not connected: Slack is not connected for Sample candles.. Connect it in Settings, Connections
- No channel: The app cannot see a channel yet.. Invite the app to a channel, then try again
- Wrong workspace: This workspace is not connected to Sample candles any more.. Open Sample candles and connect again
- Changed since: It changed to version 5 since this was posted.. Open it, check it, then say yes
- Already answered: That was already answered.. Nothing to do

## Status

Slack is a real read only connection on the live site since 16 October, with two way threads and a weekly post. Everything here is a Restyle of what exists. Source: _research/product-audit.md, connected accounts row; shared/surface-map.md S54 to S59.

## Old to new

| Today | New |
| --- | --- |
| This week in the old name for a brand, bullet glyphs | This week for Sample candles, plain lines, no glyphs |
| N moves rewritten | Gone, a build detail |
| N jams waiting for an approval | 1 needs your yes |
| Approve vN | Yes or Not now on version N |
| Approved vN by a name | A name said yes to version N |
| Slack proposals with Make it and no confirm | Open the confirm sheet in the app, a core change listed as a risk |

## Rules

- One weekly post per connected channel, dial 2.
- Thread replies land in Make it and in the brief. That two way path must keep working.
- Only the brand's own team posts to its Slack.

### The brief {#g-3.brief}

User moment: You hand the rain ad to your freelancer. They open it on a phone between two other jobs.

Answer: The brief is numbered, read only, opens with no login, keeps every source, and says who sent it.

- Your own team: copied, nothing sent
- The ShopOS team: they get it by email
- The character is a 32 pixel sign off, nothing more

Character line: Fetch: I drop the brief at their feet. They do the running. | Buzz: Pollen packed, numbered, ready to carry. | Scoop: Numbered notes. Nobody asks which bit you meant. | Ocho: Clipboard ready. Every step numbered. | Seeti: Order ticket, numbered, torn neat.

- Screen h3: The brief page, what the person shipping sees
- Screen h2: Handed off, in the app

**Sample, the copied brief, pasted into WhatsApp**
- You: Can you make this one this week? Everything is in the link.
- You: Brief: Monsoon candle rain carousel. From Asha at Sample candles. Read only.
- You: 1. Use the window photo for slide 1.
- You: 2. Slide 2: 41 reviews mention the smell of rain. Source: reviews.
- You: 3. Slides 3 and 4: the candle lit at night.
- You: 4. Slide 5: link to the Monsoon candle page.
- You: Where: Instagram, Thursday evening. Nothing here is posted automatically. Brief link.
- Kabir, freelancer: On it. Step 3 is clear, nice.

**Sample, the sign off at the bottom of the brief page**
- Character: Fetch: Fetched by Fetch. Thrown by you. | Buzz: Found by Buzz. Made by you. | Scoop: Read by Scoop. Shipped by you. | Ocho: Drafted by Ocho. Over to you. | Seeti: Cooked by Seeti. Over to you.

**Sample, when the ShopOS team has your brief**
- Subject: Brief 1042 is in progress
- Wordmark slot: The ShopOS team started on your Monsoon candle rain ad. Received Monday, in progress today, delivered next.
- Button: Open the brief
- Footer: Replies to this email reach the ShopOS team.
- Ravi, ShopOS team: Hi Asha, two questions before we start: should slide 5 link to the Monsoon candle page or your home page, and are the photos from your last shoot the ones to use? First version Wednesday, for your yes.

## Brief status emails, every one

| Moment | Subject | Button |
| --- | --- | --- |
| Received | The ShopOS team has your brief: Monsoon candle rain ad | Open the brief |
| In progress | Brief 1042 is in progress | Open the brief |
| Delivered | Brief 1042 is delivered | Open the files |
| Needs something | The ShopOS team needs one thing for brief 1042 | Answer it |

## Rules for the brief page

- Numbered, always. People refer to step 3, not the bit about posting.
- Files at the top, a Copy all button, every claim with its source line.
- Says read only and who sent it, so questions go to a person.
- Never shows the founder's other picks, prices or What we know about you.
- No sign up wall, no jokes, no upsell. The character is a 32 pixel sign off at the bottom.
- A clear line that nothing here is posted automatically.
- Old brief link forms keep working.

## Risk

Today there are four brief formats. One format is a core change, listed and not done this round. Sources: shared/product-model.md sections 0, 8 and 9; kit/screens.js h3 and e2; raccoon/comms.html k8; cooker/comms.html k8; surface S71.

### Errors {#g-3.errors}

User moment: Something did not work and you have a launch tomorrow.

Answer: Every error is a plain sentence of what happened and one way out, with the character owning it in a few words.

- Say what broke and what is safe
- One button that works now
- Never the empty state style

Character line: Fetch: Lost the scent on that one. Your work is safe. | Buzz: Oops, I bumped the window. Your work is safe. | Scoop: Tripped over my own tail. Give me a second. | Ocho: Ah. I tied myself in a knot. Your work is safe. | Seeti: That one boiled over. My fault.

**Every error, in full**
- The read stopped: Fetch: The read stopped at Ads. Nothing was saved. Lost the scent. | Buzz: The read stopped at Ads. Nothing was saved. Lost my way back. | Scoop: The read stopped at Ads. Nothing was saved. Lost my place. | Ocho: The read stopped at Ads. Nothing was saved. I got tangled. | Seeti: The read stopped at Ads. Nothing was saved. Boiled over.. Start again
- A version did not finish: Fetch: That version did not finish. Your other versions are safe. Dropped it. | Buzz: That version did not finish. Your other versions are safe. Bumped the comb. | Scoop: That version did not finish. Your other versions are safe. Tripped over my tail. | Ocho: That version did not finish. Your other versions are safe. Smudged it. | Seeti: That version did not finish. Your other versions are safe. Stuck to the pan.. Try again
- A final did not come through: The final picture did not come through.. Make it again
- Not a store link: That looks like a name. Paste the web address of your store.. Paste your store
- Wrong account: Fetch: This store is for its own team. Wrong garden. | Buzz: This store is for its own team. Wrong hive. | Scoop: This store's notes are for its own team. | Ocho: This store is for its own team. | Seeti: This kitchen is for its own team.. Switch to your work email, or see demo stores
- Offline: No connection. Your picks are saved.. Try again
- Not found: This page is not here. The link may be old or mistyped.. Go to Today
- Copy failed: Could not copy. Try again.. Try again
- Link failed: Could not make the link. Try again.. Try again
- A connection ran out: Your Shopify connection ran out, so new numbers cannot be read.. Connect Shopify again

- Screen f5: Read did not finish
- Screen m5: Something broke in Make it
- Screen x1: Not found

## Rules

- Plain sentence first: what happened and what is safe. Then the character owns it in a few words, dial 3, with its 96 pixel error pose.
- One way out, and it works now. Never try again later.
- Errors never use the empty state style.
- Never blame the founder, a platform or a vendor. Product errors may say My fault.
- No character line on a final that failed, on paid work or on a connection, because money and access sit at 0.
- A real mistake in a feed is not an error screen. A founder writes an apology, see g-1, When the character steps out.

## Connection emails

| Moment | Subject | Button |
| --- | --- | --- |
| A week before | Sample candles: the Shopify connection runs out on Friday | Connect Shopify again |
| When it runs out | Sample candles: the Shopify connection ran out | Connect Shopify again |

## Open question

Whether a failed paid make is charged is not in our sources. The line says nothing about money until that is settled.

Sources: kit/screens.js f3, f5, m5, x1, x2; character kit-skin.js words; _research/product-audit.md step 1; surfaces A104, S53, S72.

### Limits and paid makes {#g-3.limits}

User moment: You want another read for your second store, and the app says no.

Answer: Limits say the real reason and the real option, and a price shows only on the confirm sheet, before anything is made.

- Reads are capped because each one costs real time
- Your feed keeps working at the cap
- Nothing is made or paid before you press Make it

Character line: Fetch: Out of throws for now. Reads are capped while we build. | Buzz: The hive is full this week. Reads are capped while we build. | Scoop: Notepad full for now. Each read takes real time. | Ocho: Out of arms for now. Reads are capped while we build. | Seeti: One pot at a time this week.

- Screen f6: Reads are full this week
- Screen m3: Confirm a paid make

**Sample, the cap in the app**
- Wordmark slot: Reads are full this week. Each read takes real time while we work with design partners.
- Character: Fetch: Out of throws for now. Ask for a design partner read. | Buzz: The hive is full. Ask for a design partner read. | Scoop: Notepad full this week. Ask for a design partner read. | Ocho: Reads are full this week. Ask for a design partner read. | Seeti: One pot at a time. Ask for a design partner read.
- Buttons: Ask for a design partner read. See demo stores.

**Sample, asking a person for another read**
- You: Can I get another read? We changed our whole range.
- Ravi, ShopOS team: Hi Asha, you have used your reads for now. Every read costs us real time and money while we build, so each partner gets a set number.
- Ravi, ShopOS team: Your feed keeps working. Tell me what changed and I will see what we can do this month. I will not leave you guessing.

**Sample, the paid make confirm sheet**
- Title: Make the six second video?
- Line: This one costs price slot. Nothing is made, or paid, before you press Make it.
- Buttons: Make it. Not now.

## Rules

- The cap is the only scarcity we ever mention. No countdowns, no only two hours left.
- The cap screen says why, what still works and one way to ask. The character line is optional.
- A request for more reads goes to a person, dial 0.
- The price appears on the confirm sheet only, never on the first button and never in an email subject.
- Nothing is made or paid before Make it is pressed. Source: _research/product-audit.md section 2.3.

## Open questions

The exact price of each paid make and who pays it belong to pricing, which is parked until after the design partnership. The sheet keeps a price slot until then.

Sources: kit/screens.js f6 and m3; raccoon/comms.html k9; cooker/comms.html k1 and k9; shared/product-model.md section 4.

### Invites and team changes {#g-3.invites}

User moment: You want your designer in before Thursday, with no fuss.

Answer: Team messages are plain, from the product: who invited you, to which store, and one button.

- Same email domain joins on its own
- You get told when someone joins
- Seats and views are gone

Character line: Fetch: New friend in the pack. I fetch for them too now. | Buzz: A new bee in the hive. Welcome. | Scoop: A new face. I will fill them in on the gossip. | Ocho: Someone new. That is one more arm. | Seeti: Another cook in the kitchen. Fine. Wash your hands.

**Sample, the invite email**
- Subject: Asha invited you to Sample candles
- Wordmark slot: Asha invited you to Sample candles. You will see this week's picks and everything in Work.
- Button: Join Sample candles
- Small print: Sign in with your work email, riya at samplecandles. The link stops working after a few days.

**Sample, someone joined your team**
- Subject: Riya joined Sample candles
- Wordmark slot: Riya signed in with a Sample candles work email, so she joined your team. She sees what you see. To remove her, open Settings, Team.
- Button: Open Team

**Sample, admin changes**
- Subject: You are now an admin of Sample candles
- Wordmark slot: Asha made you an admin. You can invite and remove people in Settings, Team.
- Subject: You are no longer an admin of Sample candles
- Wordmark slot: Asha is the admin now. Everything else stays the same for you.

**Sample, the first open after joining**
- Character: Fetch: Riya, welcome. I fetch five ideas every Monday. You throw. | Buzz: Riya, welcome to the hive. Five picks every Monday. | Scoop: Riya, welcome. I will catch you up on the gossip. | Ocho: Riya, welcome. I saved you an arm. | Seeti: Riya, welcome to the kitchen. Specials every Monday.

## Invite page states

| State | Line | Button |
| --- | --- | --- |
| Works | Open Sample candles | Open Sample candles |
| Expired | This invite has run out. Ask Asha for a new one. | Back |
| Wrong email | This invite is for riya at samplecandles. Sign in with that email. | Switch email |

## Old to new

- They see every view, pick their views on Team: retired. Seats and views go away in the new model.
- Review their views: Open Team.
- A quiet invite from inside Make it returns a link and no email, as today.

## Design partner invites

Those come from a founder by name, dial 1, after a warm intro. They live in h-6 with the partner programme.

## Open question

How many days an invite link works. Today it is a number of days set in auth.js, not quoted in our sources.

Sources: shared/surface-map.md S18, S19, S21; _research/product-audit.md surfaces 6 and 67.

### Caught up, breaks and goodbyes {#g-3.goodbyes}

User moment: You are done for the week. Or done for a while.

Answer: Endings are short and kind: the week signs off, breaks are silent, and leaving keeps the door open.

- Caught up gets a celebration
- A skipped week sends nothing
- Deleting your data is a request to a person

Character line: Fetch: Nap time. Wake me Monday. | Buzz: The hive is humming. New picks Monday. | Scoop: All dished out. Back Monday with more. | Ocho: Arms free. New picks Monday. | Seeti: Kitchen's clean. See you Monday.

- Screen t5: You're caught up
- Screen s7: Account: Start again, ask us to delete your data, sign out

**Sample, the weekly sign off**
- Character: Fetch: Nap time. That was a good week of fetching. | Buzz: The hive is humming. Every flower visited. | Scoop: All dished out. That is all the gossip this week. | Ocho: Arms free. I am getting more coffee. | Seeti: Kitchen's clean. See you Monday.
- Wordmark slot: You're caught up. Five new picks land on Monday morning.

**Sample, a skipped week, Next**
- Monday 9:00: No notifications.
- Character: Fetch: Rest week. The ball can wait. Your run is safe. | Buzz: Resting week. Your run is safe. | Scoop: Lying low. A skipped week stays silent. | Ocho: Coffee break. Your free arm weeks are safe. | Seeti: Cold week taken. Your run is safe.

**Sample, pausing the Monday notes**
- Sam, cofounder: Hi Asha, thank you for the last eight weeks. You said things are busy until after the festival, so your Monday notes pause from today. Your feed, your briefs and What we know about you stay where they are.
- Sam, cofounder: When you want to pick it up again, reply here and the notes restart the following Monday. If you would rather we remove your data, say so and I will walk you through it.

**Sample, asking us to delete your data**
- Settings, Account: Ask us to delete your data. A request to the ShopOS team. Deletion is done by hand for now.
- Ravi, ShopOS team: Hi Asha, we have your request. A person on our team removes your data by hand and replies here when it is done.
- Ravi, ShopOS team: Done. If you ever come back, you start with a fresh read.

**Sample, the end of the design partnership**
- Sam, cofounder: Asha, the design partner programme is closing as we finish v0. You helped shape it, and your notes are in the product in small ways everywhere.
- Sam, cofounder: Your read, your picks and your briefs stay where they are. I will write separately about what comes next and what it costs, before anything changes for you.

## Every ending

| Moment | Who | Words | Status |
| --- | --- | --- | --- |
| Caught up for the week | The character, dial 5 | The caught up line, then Five new picks land on Monday morning | Next |
| Skipped week | Nobody | No push, no email. In the app, one line next time you open it | Next |
| Pausing Monday notes | A founder, dial 0 to 1 | As above | Today, design partners |
| Leaving the programme | A founder, dial 0 | Thank you, what stays, how to delete | Today |
| Delete your data | A person, dial 0 | Request, then confirmation when done | Today, by hand |
| Start again | The product | Read your store again from the top | Today |
| Sign out | The product | Signed out | Today |

## Rules

- Never guilt. Never you missed a week, never a sad character.
- Every goodbye says what stays and how to come back.
- The character never appears in a deletion or a leaving message.

## Open questions

What happens to shared brief links after deletion, and what a disconnected connection keeps, are not in our sources. Answer them before these lines ship.

Sources: kit/screens.js t5 and s7; raccoon/comms.html k20; octopus/comms.html k3; cooker/comms.html k3 and k6; raccoon/system.md s2 Lying low.

### Messages from a person {#g-3.people}

User moment: You wrote in because something felt off. You want a human, not a mascot.

Answer: Welcome notes, support, apologies and saying no come from a named person, in plain words, within one working day.

- What happened, what we did, what you can do
- Apologies the same day
- Saying no names the version it might arrive in

Character line: Fetch: These ones are from people. I just carry the post. | Buzz: People write these. I keep the flowers watered. | Scoop: People write these. I keep my nose out. | Ocho: Every message has a real person behind it. I just hold the coffee. | Seeti: I talk in the kitchen. They talk at the door.

**Sample, welcome from a founder**
- Sam, cofounder: Hi Asha, your read is done and your feed is ready. Start with Today. The top picks are the ones we think matter most this week, each with where the idea came from and a first draft.
- Sam, cofounder: Three things that help us most: heart what you like and tap Not for me on what you do not. Open one pick and tap Make it. Copy one brief and give it to whoever ships your posts.
- Sam, cofounder: Nothing gets posted from the app. You stay in charge of what goes out. Our first call is Thursday.

**Sample, support: my read is stuck**
- You: It has said reading for twenty minutes.
- Ravi, ShopOS team: Sorry about that. Reads usually take 3 to 4 minutes, so something on our side got stuck. I have restarted it and will message you the moment it is done. You do not need to do anything.

**Sample, support: did you post this?**
- You: Why did nothing get posted?
- Ravi, ShopOS team: v1: On purpose: the app never posts anything. It drafts, then Hand it off copies a numbered brief for your team, or the ShopOS team gets it if you chose them. A person posts it. | v2: With posting connected in v2, it posts only what you said yes to. If you see nothing live, check Need your yes for a post still waiting on you.

**Sample, saying no to a feature**
- You: Could it just post the reel for us?
- Sam, cofounder: Thank you for asking. Not yet. Today the app suggests and drafts, and a person ships. Posting with your yes on every post is planned for v2, after launch, and I have written your request down with your name on it.
- Sam, cofounder: Until then, the brief link works well for handing a reel to an editor.

**Sample, the weekly founder note**
- Opening: Fetch: Fetch says: five new picks are by the door. | Buzz: Buzz says: the hive is busy, five picks in. | Scoop: Psst. Fresh pages. | Ocho: Hello. Monday. I am floating, briefly. | Seeti: Seeti says hi. It is already impatient about next Monday.
- Sam, cofounder: What changed this week: every number on a pick now shows where it came from. If a number says To confirm, please check it. We would rather be slow than wrong.
- Sam, cofounder: One ask: if a pick felt generic, tap Not for me and tell us why in one line.
- Sign off: Fetch: Fetch, already waiting by the door for next Monday | Buzz: Buzz, back to the flowers | Scoop: All dished out until next Monday. Scoop | Ocho: Ocho, arms full again on Monday | Seeti: Seeti says: go on, pick.

## Rules

- Signed by a first name and a role. The character never signs alone.
- One working day for support. The same day for an apology.
- Every support reply says what happened, what we did and what to do next.
- Saying no thanks the person, names where the idea sits with its version, says why not now and offers what works today.
- Never promise a date for anything in a later version.
- Never imply a freelancer or agency works for us unless they are the ShopOS team.
- WhatsApp is a person's channel. One message, one question, never three in a row before they reply.

Sources: raccoon/comms.html k3, k5, k7, k9 and k11; octopus/comms.html k5, k7, k9 and k11; cooker/comms.html k5, k7, k9, k11 and k20.

## G4 Help centre {#g-4}

The twenty questions people ask, answered.

### Getting started {#g-4.start}

User moment: You found this through a friend and want to know what you are signing up for.

Answer: Paste your store, sign in with your work email, and in about 3 to 4 minutes your week's ideas are drafted.

- Work email sign in comes before the read
- Seven sources, public pages first
- A stuck read gets restarted by a person

Character line: Fetch: Throw me your store link. I will fetch the rest. | Buzz: Point me at your store. I will buzz round it. | Scoop: Pop your store link in. For your read, I only look at what is public. | Ocho: Pass it here. Eight arms, one store. | Seeti: Give me your store link. Then step back from the stove.

**Questions 1 to 4**
- You: 1. What does this do?
- Help: Paste your store link. In about 3 to 4 minutes it reads your store and comes back with this week's marketing ideas, already drafted. You pick the good ones, make them better in Make it, and hand them off to whoever ships them.
- You: 2. Do I need an account?
- Help: Yes. After you paste your store, you sign in with your work email. A personal email, or an email from another company, cannot open a store. You can look at a demo store instead.
- You: 3. What does the read look at?
- Help: Seven sources: your store, your brand, your catalog, your reviews, ads in your category, your site on a phone, and what AI search says about you. It looks at public pages, plus any read only connections you add.
- You: 4. My read is stuck or stopped.
- Help: A read usually takes about 3 to 4 minutes. If it stops, the screen says so and offers Start again. If it keeps going much longer than that, write to us and a person restarts it. You do not need to do anything else.

- Screen f1: Paste your store
- Screen f2: Sign in with your work email
- Screen f4: Reading your store

## Answers, for agents and search

1. What does this do? Paste your store link. In about 3 to 4 minutes it reads your store and returns this week's marketing ideas, already drafted. Pick, make in Make it, hand off.
2. Do I need an account? Yes, a work email sign in after you paste. Personal or other company emails are refused and pointed at demo stores.
3. What does the read look at? Store, brand, catalog, reviews, ads, site, AI answers. Public pages plus read only connections you add.
4. My read is stuck. About 3 to 4 minutes is normal. Start again if it stops. Write to us if it runs long and a person restarts it.

## Help centre rules

Answers are plain, dial 0 to 1, from the team. Each answer names the screen and the button. Each answer is true for the version you are reading. Sources: shared/product-model.md sections 0 and 2; _research/product-audit.md steps 1 and 2.

### Picks and ideas {#g-4.picks}

User moment: You have five picks in front of you and a few doubts.

Answer: Picks are ranked for your store this week, each with Why this, and your hearts and Not for me teach the feed.

- See everything shows the rest, best first
- Heart means more like it
- To confirm means check before you use it

Character line: Fetch: Five sticks. I picked the best ones. Mostly. | Buzz: Five flowers. The dance points at the sweetest. | Scoop: Five picks. The second one is spicy. | Ocho: Five picks, one per free arm, roughly. | Seeti: Five specials. Taste the first one.

**Questions 5 to 8**
- You: 5. Why these five picks?
- Help: They are the top of everything ranked for your store this week. Open one and Why this shows the fact behind it, with its source. See everything shows the rest, best first.
- You: 6. What do heart and Not for me do?
- Help: Heart means More like this, and more like it appear. Not for me means fewer like it. Later keeps it for another day. Both teach your feed.
- You: 7. A pick is wrong about my store.
- Help: Tap Not for me so you see fewer like it. If a fact about your store is wrong, fix it in Settings, What we know about you, and new picks use it. Tell us too, with the pick's name, and a person checks the source.
- You: 8. What does To confirm mean?
- Help: We could not be sure of that number. Check it before you use it anywhere. Every number shows where it came from on its chip.

- Screen t1: Today
- Screen p1: A pick, open, with Why this

## Answers

5. Why these five? Top of this week's ranking. Why this shows the fact and source. See everything shows the rest.
6. Heart and Not for me. Heart: More like this, more like it appear, never a number. Not for me: fewer like it. Later: another day.
7. A pick is wrong. Not for me, fix the fact in What we know about you, and tell us.
8. To confirm. The number is unsure. Check it first.

Sources: shared/product-model.md sections 0, 4 and 10.

### Making and handing off {#g-4.make}

User moment: You like a pick. Now you want it made and out of your hands.

Answer: Make it changes the draft by chat, keeps every version, and Hand it off gives your shipper a numbered brief.

- Every version is kept
- A price only on the confirm sheet
- The app never posts in v1

Character line: Fetch: You chew on it, I fetch another version. | Buzz: Another comb whenever you want one. | Scoop: Scribble, scribble again, pass the note. | Ocho: Fresh ink whenever you ask. The old one stays in the stack. | Seeti: Another batch whenever you say. Then the ticket.

**Questions 9 to 12**
- You: 9. How do I change a draft?
- Help: Open the pick and tap Make it. The draft is on one side, a chat on the other. Ask for what you want and tap New version. Every version is kept in Versions, so you can go back.
- You: 10. Does making cost anything?
- Help: Some makes cost money to produce. When one does, a sheet shows the price before anything happens. Nothing is made, or paid, before you press Make it.
- You: 11. Does it post anything for me?
- Help: v1: No. It reads, suggests and drafts. You, your team or the ShopOS team ship it. Nothing is posted or published from the app. | v2: Only when you say yes. You connect an account for posting, approve each post, and can change it before it goes out. | v3: Only when you say yes, on accounts you connect. Afterwards How it went shows what each post did, from your own accounts. | v4: Posts only with your yes. Ads too, inside the budget and rules you set. Anything outside them comes to Need your yes.
- You: 12. How do I hand off to my freelancer?
- Help: Open the pick, tap Hand it off, then choose Your agency or freelancer. A numbered brief and a read only link are copied. Paste them wherever you talk to them. Nothing is sent by the app, and they need no login.

- Screen m1: Make it
- Screen m4: Versions
- Screen h1: Hand it off

## Answers

9. Change a draft. Make it, ask in the chat, New version. Versions keeps every one.
10. Cost. Some makes cost money. The price shows on a confirm sheet first. Nothing is made or paid before Make it. Who pays and how much is part of pricing, parked until after the design partnership.
11. Posting. v1: never. v2: only after your yes on each post. v3: plus How it went. v4: ads inside your rules and budget.
12. Freelancer. Hand it off, Your agency or freelancer. Brief and read only link copied, nothing sent, no login needed.

Sources: shared/product-model.md sections 0, 2 and 4; book/WRITERS.md versions; octopus/comms.html k9.

### Team, brands and notifications {#g-4.team}

User moment: Other people need in, and your phone needs to calm down.

Answer: Invite your team in Settings, track what the ShopOS team is doing in Work, and quiet anything in Settings, Notifications and sound.

- Same email domain joins on its own
- Many brands in one login is later
- Every email has a turn off link

Character line: Fetch: More people to throw for me. Yes please. | Buzz: More bees, more buzz. Quieter phone, though. | Scoop: More people on the grapevine. Fewer pings. | Ocho: More hands. I approve. I have plenty. | Seeti: More cooks, fewer whistles. Fine.

**Questions 13 to 16**
- You: 13. What happens when I choose the ShopOS team?
- Help: They get your brief by email and reply as a person. You see where it is in Work, Handed off: received, in progress, delivered. Every brief and its link sit there too.
- You: 14. How do I add my team?
- Help: Open Settings, Team, and invite them by email. Anyone who signs in with your company's email domain joins your team on their own, and you get an email when they do.
- You: 15. I run marketing for several brands.
- Help: Today each brand invites you, and you open each one on its own. One login with a brand switcher is planned for later.
- You: 16. How do I get fewer emails and notifications?
- Help: Open Settings, Notifications and sound. Each kind has its own switch. Every email has a line at the bottom to turn that email off. Sound is off until you turn it on.

- Screen w1: Work
- Screen s6: Notifications and sound

## Answers

13. The ShopOS team. They get the brief by email and reply as a person. Status in Work, Handed off.
14. Team. Settings, Team, invite by email. Same domain joins automatically and you are told.
15. Several brands. Invited per brand today. Brand switcher is Later.
16. Fewer messages. Settings, Notifications and sound, one switch per kind, a footer link in every email.

Sources: shared/product-model.md sections 0, 3 and 6; _research/product-audit.md brand switcher note; shared/surface-map.md S18; kit/screens.js s6.

### Your data, limits and price {#g-4.data}

User moment: Before you connect anything, you want straight answers.

Answer: Connections are read only, deletion is a request a person handles, and pricing is parked until after the design partnership.

- Never posts, publishes or changes a budget
- Ask us to delete your data in Settings, Account
- Reads are capped while we build

Character line: Fetch: These answers come from a person. I just sit nicely. | Buzz: A person answers these. I hover politely. | Scoop: A person answers these. My dial is zero here. | Ocho: Arms down. A person answers these. | Seeti: Lid on. A person answers these.

**Questions 17 to 20**
- You: 17. Can you post, spend or change anything on my accounts?
- Help: No. Connections are read only: we can see numbers, we cannot post, publish or change a budget. Check each one in Settings, Connections. We never touch your passwords or payments.
- You: 18. What do you keep, and how do I delete it?
- Help: We keep your read, your feed, what you hearted and dropped, your drafts and What we know about you, so next week gets better. To remove it, open Settings, Account, and tap Ask us to delete your data. A person deletes it by hand for now and tells you when it is done.
- You: 19. Why can I not get another read?
- Help: Reads are capped while we build, because each one takes real time and money. Your feed keeps working. Ask for a design partner read from the cap screen, or write to us with the store and why.
- You: 20. How much does it cost?
- Help: Right now we work with a small group of design partners and talk cost with each one. Pricing is parked until after the design partnership, and you hear about it before anything changes for you.

- Screen s5: Connections, read only
- Screen s7: Account

## Answers

17. Accounts. Read only. No posting, publishing or budget changes. Status in Settings, Connections. Never passwords or payments.
18. Keep and delete. Read, feed, hearts and drops, drafts, What we know about you. Delete by request in Settings, Account, done by hand for now.
19. Another read. Capped while we build. Ask for a design partner read or write to us.
20. Price. Parked until after the design partnership. You hear before anything changes.

## Open questions for the help centre

- How long we keep data after a deletion request is handled.
- What a shared brief link shows after its brand's data is deleted.
- The exact number of reads each design partner gets.
- The price of paid makes and who pays.

Sources: shared/product-model.md section 0; kit/screens.js s5 and s7; raccoon/comms.html k12; octopus/comms.html k12 and k18; cooker/comms.html k12.

### Your first week {#g-4.first-week}

User moment: You signed up an hour ago and are not sure what to do first.

Answer: Your first week is one heart, one make, one hand off, and every question on the way is optional and changeable later.

- Skip any question, picks still arrive
- Fix answers in What we know about you
- Your first Monday drop is the next Monday

Character line: Fetch: First week: one throw is plenty. | Buzz: First week: one flower, start to finish. | Scoop: First week: pass one note. That is the whole trick. | Ocho: First week: free one arm. That is a win. | Seeti: First week: one plate out. Then rest.

**Questions about getting set up**
- You: 21. Do I have to answer the three questions?
- Help: No. Each one has Skip, and your picks arrive either way. Answers help: which areas you handle, your next big moment, and one thing you never want to post. Change them any time in Settings, What we know about you.
- You: 22. What should I do first?
- Help: Heart one pick you like, open it and tap Make it, then tap Hand it off. That is your first win, and the bar at the top of Today shows how far you are.
- You: 23. The read got something about my store wrong.
- Help: Open Settings, What we know about you, and fix it there. New picks use what you change. Tap Not for me on any pick that came from the wrong fact.
- You: 24. I installed it from Shopify. Is anything different?
- Help: Your store is filled in for you, so you only tap Build my feed. Everything after that is the same. The connection is read only: we read your store and never change it.

- Screen f4: The questions, during the read
- Screen f1s: Inside Shopify, store filled in
- Screen t1: Today with your first picks

## Answers

21. The three questions. Optional, Skip on each, changeable in What we know about you. The questions as a game are Next.
22. First thing to do. Heart, Make it, Hand it off. The first win bar is Next.
23. Wrong fact. Fix it in What we know about you. Not for me on picks built on it.
24. Shopify install. Store filled in, Build my feed, read only.

Sources: kit/screens.js f1s, f4 and the first win bar; shared/product-model.md section 2. Full onboarding journeys live in d-5, every onboarding line in g-3.

# H. Marketing and growth

How people find us, love us and tell friends.

## H1 Go to market {#h-1}

Who first, where first, and how we reach them.

### Who first, where first {#h-1.who-first}

User moment: It is midnight, you are writing tomorrow's caption, and a funny post about {name} scrolls past.

Answer: First we reach founders who are their own marketing team, through Instagram, founder groups and warm intros, then marketers, then agencies.

- Founder first, marketer second, agency third
- Instagram for the character, LinkedIn for the founders
- One offer for everyone: a capped read

Character line: Fetch: I fetch for the busiest person in the shop first. That is the founder. | Buzz: Busiest flower first. That is you, the founder, at midnight. | Scoop: I start with the founders. They have the juiciest Mondays. | Ocho: Founders first. They have two arms and eight jobs. | Seeti: Founders eat first. Then marketers. Agencies, wait your turn.

**Three audiences, in the order we reach them**
- 1. The founder who is the marketing team: Runs a small online store. Packs orders, writes captions at midnight, has about ten minutes on Monday. [Today]
- 2. The in house marketer: First marketing hire at a growing brand. Needs ideas with a source to defend to the founder. [Today]
- 3. The agency or freelancer: Runs several small brands. Needs a Monday answer for each, and briefs clients can read. [Today]

**Where each one is**
| Audience | Where they are | Who speaks |
| --- | --- | --- |
| Founder | Instagram, founder WhatsApp groups, D2C communities, warm intros | {name} on Instagram, a founder in DMs |
| In house marketer | LinkedIn, marketing newsletters, peer Slack groups | A founder, as themselves |
| Agency or freelancer | LinkedIn, referrals, agency founder circles | A founder, by email |

Source: the m0 and m1 chapters of the raccoon, octopus and cooker marketing books agree on the order: founders first, in house marketers second, agencies third.

| Audience | Monday pain, a sample in their words | Best fit signal |
| --- | --- | --- |
| Founder | I know I should post. I do not know what. | A store with a catalog and some reviews, one or two people on marketing |
| In house marketer | I spend Monday deciding and Friday explaining why. | A brand with a first marketing hire |
| Agency or freelancer | Twelve clients, twelve Mondays. | A small agency briefing freelancers every week |

Pains are written as a Sample. Replace them with real words from design partner interviews, with permission, before anything ships.

Not first: big brands with full teams, marketplaces only sellers with no own store, and stores with no reviews yet. We say honestly when a read will not help.

Agencies get many brands from one login only Later. Today they are invited per brand.

Open questions: how many stores fit the ICP in our first market, and which founder communities convert best. Part B, b-8 Market, owns the numbers; none are sourced yet.

### How one founder finds us {#h-1.the-loop}

User moment: You saw a funny post about {name}. Now you want a read of your own store.

Answer: Every post, DM and founder note points at one honest offer: ask for a read of your store, and a person replies the same day.

- A post makes them smile
- A person replies to every ask
- Success is the first hand off, not a follow

Character line: Fetch: You throw a link. I fetch a read. We both win. Mostly me. | Buzz: One post, one ask, one read. That is the whole waggle. | Scoop: They see the gossip about a sample store. Then they want theirs. | Ocho: One post, one ask, one read. Easier than juggling. | Seeti: Smell the cooking, ask for a plate. That is the funnel.

**From a post to a first hand off**
1. A post: a weekly format with {name} and the sample candle store [Today]
2. An ask: DM, reply or the ask for a read page [Today]
3. A person replies: same day, from a founder, no character [Today]
4. The read: about 3 to 4 minutes, seven sources [Today]
5. First call: 30 minutes in week one [Today]
6. First hand off: a brief copied, or the ShopOS team gets it [Today]

**Where the ask lands**
- Screen f1: Paste your store
- Screen f4: Reading your store
- Screen f6: When reads are full

What we count, internally, every week: read requests, reads run, first hand offs, and partners who open on their second and fourth Monday. Followers and likes are noted, never targeted. Source: the measure rows of the octopus and raccoon marketing plans.

| Step | Owner | Time |
| --- | --- | --- |
| Reply to the ask | A founder | Same day |
| Run the read | The ShopOS team | Within a few days, while reads are capped |
| Read ready message | The person who ran it | When it finishes |
| First call | A founder | Week one, 30 minutes |
| Weekly notes | A founder | Friday |

Sign in: the read needs Sign in with your work email today. Never write that no sign in is needed. Showing one finding before sign in is the reveal, Next.

### How going to market changes with each version {#h-1.gtm-versions}

User moment: You like the drafts and wonder if it will ever post them for you.

Answer: v1: Today we sell drafts and hand off: ideas, already drafted, that a person ships. | v2: At v2 we can add posting and scheduling, with your OK every time. | v3: At v3 we can show what worked, with how it went on every pick that went live. | v4: At v4 we can sell ads that run inside rules and a budget you set.

- Each version adds one promise
- Never sell a version before it ships
- The capped read stays the door

Character line: Fetch: New trick each version. Same good dog. | Buzz: Each version, the hive gets one more job. | Scoop: Each version, I dig a little deeper. With permission. | Ocho: More arms free every version. Still asking first. | Seeti: One more burner each version. My kitchen rules stay.

- v1 Drafts and hand off: Message: your week's marketing, drafted. You pick, someone ships. [v1]
- v2 Posts with your OK: Message: your picks go out on your accounts, only after your yes. [v2]
- v3 Shows what worked: Message: every pick that went live comes back with how it went. [v3]
- v4 Ads within rules: Message: ads run inside a budget and rules you set. [v4]

| Version | What marketing may say | What it must never say yet |
| --- | --- | --- |
| v1, today | Reads your store, drafts ideas, hand off to your team, your agency or the ShopOS team | It posts, sends, schedules, launches or measures |
| v2 | Posts and schedules on your accounts, with approval | It measures results |
| v3 | Shows how each live pick went | It runs ads alone |
| v4 | Runs ads inside rules and a budget you set | Anything beyond the rules |

BRIEF.md bans any claim that the product posts, sends, schedules, launches or measures unless it is labelled Later. In this book Later means v2 and up.

## H2 Message house {#h-2}

The one big idea, the pillars and the proof.

### The roof, the pillars and the floor {#h-2.house}

User moment: A friend asks what this thing does. You want to answer in one line.

Answer: The roof line, Your store's marketing team, in one feed, stands on four pillars: already drafted, from your own store, you decide, easy to hand off.

- One roof line, said everywhere
- Four pillars, each with proof we can show
- A floor of true numbers only

Character line: Fetch: One line. I would carry it in my mouth all day. | Buzz: One line, buzzed the same way by every bee. | Scoop: One sentence. I wrote it on every page of my notepad. | Ocho: One line. I can hold that in one arm. | Seeti: One recipe. Nobody changes it.

**The message house**
- Roof: Your store's marketing team, in one feed
  - Already drafted: most picks arrive with a first draft
  - From your own store: every card says where it came from
  - You decide: nothing goes out on its own
  - Easy to hand off: a numbered brief and a read only link
- Floor: sources on every number, unsure numbers say confirm

**The roof in each voice**
- Fetch: This week's ideas, dropped at your feet.
- Buzz: Your store, buzzing by Monday.
- Scoop: Everything everyone says about your store.
- Ocho: Eight arms on your marketing.
- Seeti: This week's marketing, ready in a few whistles.

| Level | Message | Proof we can show | Status |
| --- | --- | --- | --- |
| Roof | Your store's marketing team, in one feed. Paste your store link. Get this week's marketing ideas, already drafted. Pick the good ones and hand them off. | The product itself | Today |
| Already drafted | Most picks come with a first draft: an image, a carousel, a six second video with voiceover, an email, a page fix | Make it keeps every version | Today |
| From your own store | Ideas come from your catalog, reviews, site, ads and what AI search says | Seven sources in a read of about 3 to 4 minutes, a source line on every card | Today |
| You decide | You pick, you make, you hand off. Need your yes holds calls only you can make | Nothing posts from the product | Today |
| Easy to hand off | A numbered brief and a read only link for your team or freelancer. Choose the ShopOS team and the ShopOS team gets your brief | The brief page | Today, one Hand it off button is Next |

The roof is shared. The character line sits next to it, never instead of it. Taglines come from each system.md: Scoop, Ocho, Seeti. Fetch and Buzz lines are working lines from their descriptions.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### Proof we can say, and proof we cannot {#h-2.proof}

User moment: A post says a read takes 3 to 4 minutes. You wonder which of these numbers are real.

Answer: We use five allowed figures, each with its exact words, and never lifts, revenue, customer counts or invented quotes.

- Five figures, always with their words
- Never a result we do not have
- Show, do not claim: the founder sees it in their own read

Character line: Fetch: I only fetch real sticks. No pretend ones. | Buzz: I count real pollen only. No imaginary flowers. | Scoop: I only repeat gossip I can source. That is my whole reputation. | Ocho: If I cannot hold the source, I do not hold the number. | Seeti: Only what I cooked goes on the menu.

**The allowed figures, from BRIEF.md**
- 3 to 4 min about how long a read takes
- 7 sources in every read
- 160 about this many cards for the prepared demo brand
- 6 s videos with voiceover
- 12 of 32 AI answers named the brand, an example finding from one brand's read

- Do: Say the figure with its words, every time
- Do: Say what a founder can check in their own read
- Do: Label every sample frame Sample
- Do: Tag anything later as later, plainly
- Never: Lifts, revenue or follower growth
- Never: Customer counts or partner logos
- Never: A claim that every store is a fit
- Never: Quotes nobody gave us in writing
- Never: Countdowns or fake spots left

Source: BRIEF.md, Claims and Allowed figures; the say and never say tables in the octopus and cooker marketing books.

| Figure | Exact words to use |
| --- | --- |
| Read time | About 3 to 4 minutes for a read |
| Sources | Seven sources: store, brand, catalog, reviews, ads, site, AI answers |
| Cards | About 160 cards for the prepared demo brand |
| Video | Six second videos with voiceover |
| Stories | 24 hour story rings |
| AI answers | The brand was named in 12 of 32 AI answers, used only as an example finding from one brand's read |

The sample candle store finding, 41 reviews mention the smell of rain, is a Sample and is always labelled so. Real partner findings appear only with their written OK.

## H3 Audiences and hooks {#h-3}

What makes each audience stop scrolling.

### One hook per audience, in your character's voice {#h-3.hooks}

User moment: You are scrolling at midnight and one line sounds exactly like your Monday.

Answer: Each audience gets one first line that names their Monday, said by {name} on Instagram and by a founder on LinkedIn.

- Founder: the week, done for you
- Marketer: ideas with receipts
- Agency: every client's Monday

Character line: Fetch: Founders get the ball. Marketers get the receipts. Agencies get a lot of balls. | Buzz: Different flowers, same honey. | Scoop: Three kinds of people. I gossip differently to each. | Ocho: Three kinds of people, one octopus. I hold different things for each. | Seeti: Three tables. Same kitchen. Different orders.

**The hook {name} uses**
*Fetch:*
| Audience | Hook | Where |
| --- | --- | --- |
| Founder | Monday's ideas, dropped at your feet. Throw one to your team. | Instagram reel opener |
| In house marketer | Every idea fetched from somewhere real. The source is on the card. | LinkedIn |
| Agency | One good dog per client. Every Monday. | Email |
*Buzz:*
| Audience | Hook | Where |
| --- | --- | --- |
| Founder | Five ideas, one waggle. Your store, buzzing by Monday. | Instagram reel opener |
| In house marketer | Every idea comes with its pollen count. Show your founder. | LinkedIn |
| Agency | A whole hive of Mondays, one per client. | Email |
*Scoop:*
| Audience | Hook | Where |
| --- | --- | --- |
| Founder | You do not have time to read every review. Scoop does. | Instagram |
| In house marketer | Your Monday planning, already drafted, with sources. | LinkedIn |
| Agency | A drafted Monday list for every client. | Email and referrals |
*Ocho:*
| Audience | Hook | Where |
| --- | --- | --- |
| Founder | You have two arms. Borrow eight. | Instagram |
| In house marketer | Ideas with receipts, drafted before standup. | LinkedIn |
| Agency | Every client's Monday, on eight arms. | LinkedIn |
*Seeti:*
| Audience | Hook | Where |
| --- | --- | --- |
| Founder | Monday, sorted in three whistles. | Reel opener |
| In house marketer | Every idea comes with its source. Show your boss. | LinkedIn |
| Agency | A brief your client can read on a phone, no login. | Email |

*Fetch:*
- Founder hook: the drop (dog/svg/pose-03.svg)
- Marketer hook: fetched from somewhere real (dog/svg/pose-02.svg)
- Agency hook: one good dog per client (dog/svg/pose-06.svg)
*Buzz:*
- Founder hook: the waggle (bee/svg/pose-drop.svg)
- Marketer hook: the pollen count (bee/svg/pose-reading.svg)
- Agency hook: a hive of Mondays (bee/svg/pose-handoff.svg)
*Scoop:*
- Founder hook: Scoop reads everything (raccoon/art/pose-02.svg)
- Marketer hook: Sample, the source on the card (shared/sample/img/monsoon.jpg)
- Agency hook: pass the note (raccoon/art/pose-07.svg)
*Ocho:*
- Founder hook: borrow eight arms (octopus/img/v/pose-02.svg)
- Marketer hook: Sample, source your reviews (shared/sample/img/ad-rain.jpg)
- Agency hook: every client's Monday (octopus/img/v/pose-06.svg)
*Seeti:*
- Founder hook: three whistles (cooker/svg/hero.svg)
- Marketer hook: Sample, show your boss (shared/sample/img/monsoon.jpg)
- Agency hook: the order ticket (cooker/svg/pose-06.svg)

| Audience | Pain, a Sample in their words | Objection | Our honest answer |
| --- | --- | --- | --- |
| Founder | I know I should post. I do not know what. | AI ideas are generic. | Every pick starts from your own reviews and pages, with the source on it, and Not for me teaches the feed. |
| In house marketer | I spend Monday deciding and Friday explaining why. | My founder will not trust a tool's ideas. | Ideas come with a source and a plan. Need your yes puts the owner's calls in one place. |
| Agency or freelancer | Twelve clients, twelve Mondays. | Will it make me look replaceable? | It drafts, you decide and ship. The brief link makes your work look sharper to clients. |

Sources: m1 in the raccoon, octopus and cooker marketing books. Fetch and Buzz hooks are new, written to the same three pains.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### Hooks to test, three per audience {#h-3.hooks-to-test}

User moment: A line about your own reviews made you stop and tap Ask for a read.

Answer: Every audience gets three hooks to test, and the winner is the one that brings read requests.

- Three hooks per audience
- Judge by read requests
- Retire a hook after two quiet weeks

Character line: Fetch: Throw three balls. See which one comes back. | Buzz: Try three flowers. Follow the busiest. | Scoop: Three rumours. Only one gets repeated. | Ocho: Three hooks, eight arms. Plenty of room. | Seeti: Three test spoons. One goes on the menu.

**Nine hooks, three per audience**
- Your reviews already wrote this week's posts.: Carousel cover [Founder]
- Your Monday, already drafted.: Reel opener [Founder]
- Ten minutes. Five ideas. One very busy {name}.: Story [Founder]
- Stop starting from a blank page on Mondays.: LinkedIn [In house marketer]
- Drafts with your real product photos, not stock.: Instagram [In house marketer]
- Ideas with receipts.: LinkedIn [In house marketer]
- Hand it off to your own team in one button.: LinkedIn [Agency]
- The same Monday ritual for every client.: Call opener [Agency]
- A brief your client can read on a phone, no login.: Email [Agency]

Source: the cooker marketing book m1 hooks to test, made shared so every character can run them. Ten minutes and five ideas describe the Monday drop, which is Next: say it as the plan while the drop is not live, or use the read and the ranked feed, which are Today.

| Rule | Detail |
| --- | --- |
| One change at a time | Same picture, new first line |
| Measure | Read requests and DMs that name the post |
| Kill | Two weeks with no ask, the hook retires |
| Keep | A hook that brings asks becomes the profile line for a month |

## H4 The website {#h-4}

The home page, page by page.

### The home page, top to bottom {#h-4.home}

User moment: You land on the site from a post. You give it eight seconds.

Answer: The home page is one paste box and one promise, then a short scroll that shows a read, the picks, Make it and the hand off, and ends on the capped read.

- Paste box above the fold
- Seven short blocks, each with a live screen
- Ends on ask for a read, never a countdown

Character line: Fetch: One box. Drop your link in. I will do the running. | Buzz: One box. Give me your link and I am off. | Scoop: One box. Paste your store and I start reading. | Ocho: One box. Paste. I will take it from there with all eight. | Seeti: One box. Link in, lid on.

**The home page blocks**
1. Hero: Your store's marketing team, in one feed. Paste box, Build my feed. {name} in the corner. [Today]
2. Watch it read: Seven sources tick by. About 3 to 4 minutes. [Today]
3. One finding: The sample reveal: 41 reviews mention the smell of rain. Sample. [Next]
4. This week's picks: Five picks for the sample candle store, each with a draft. [Next]
5. Make it: The thing on the left, the chat on the right, every version kept. [Today]
6. Hand it off: Your team, your agency or the ShopOS team. Nothing posts from the product. [Today]
7. Ask for a read: Capped while we build with design partners. A person replies. [Today]

**The live screens the page uses**
- Screen f1: Hero: Paste your store
- Screen f7: One finding, Next
- Screen t1: This week's picks
- Screen m1: Make it
- Screen h1: Hand it off

There is no website design in the sources yet. This page is the plan, built from the one product journey in shared/product-model.md and the offer pages in the marketing books. Open question for the owner: the domain, and whether the home page and the ask page are one page.

| Block | Words | Visual | Button |
| --- | --- | --- | --- |
| Hero | Your store's marketing team, in one feed. Paste your store link. Get this week's marketing ideas, already drafted. | Live f1 in the chosen character, {name} small in the corner | Build my feed |
| Watch it read | Seven sources: store, brand, catalog, reviews, ads, site, AI answers. About 3 to 4 minutes. | Live f4 | None |
| One finding | A Sample finding with its source | Live f7, labelled Next until the reveal ships | Share this finding, Next |
| Picks | Pick the good ones. Heart it and more like it appear. | Live t1 | None |
| Make it | Every version kept | Live m1 and m4 | None |
| Hand it off | A numbered brief and a read only link | Live h1 and h3 | None |
| Ask | Design partner reads are capped. Each costs real time and money. | {name} holding up a card | Ask for a read |
| Footer | Read only, public pages for the read, privacy link | The small mark | None |

Rules: the hero button is the plain word, Build my feed. The character never sits on a button. No logos of partners, no customer counts, no testimonials until we have them in writing. Today the paste leads to Sign in with your work email; the page must not say no sign in is needed.

Today to tomorrow: the paste box and read exist. The reveal and the Monday drop are Next. At v2 the hero may add posts with your OK; at v3, see what worked.

### The ask for a read page {#h-4.ask-page}

User moment: You liked the post. You want one for your store. Is there a catch?

Answer: The ask page has one field, your store link, and one button, Ask for a read, plus one plain line on why reads are capped.

- One field, one button
- The cap explained in one sentence
- Full means full, with a way to wait

Character line: Fetch: Even good dogs need a nap between fetches. That is the cap. | Buzz: Even the busiest bee visits one flower at a time. | Scoop: Notepad full means notepad full. I do not do drama about that. | Ocho: Even I run out of arms. That is the cap. | Seeti: One pot at a time. That is the cap.

**Every state of the ask page**
- Open: Paste your store link. Ask for a read.. Paste, tap the button
- Sent: Got it. A founder replies today, from a person.. Close the page
- Full: Reads are full this month. Leave your link and we will write when one opens.. Leave your link
- Not a fit yet: A person replies honestly if a read will not help yet.. Reply

- Screen f6: Reads are full, inside the product

Source: the m7 offer pages in the raccoon and octopus marketing books.

| Question | Answer |
| --- | --- |
| What does it cost? | Ask us. We talk about cost with each design partner before anything changes for them. |
| Do I need to sign up? | You paste your store link and sign in with your work email. |
| Will it post anything for me? | No. It drafts and prepares. You decide what ships and who ships it. |
| Do I have to connect my accounts? | No. The read uses public pages. If you choose to connect one later, the connection is read only. |
| Why is it capped? | Each read costs real time and money. We would rather do fewer, properly. |
| What if my store is tiny? | Tell us anyway. The best fit has a catalog and some reviews, and we will be honest if the read will not help yet. |

The raccoon offer page also has chips for Instagram, Ads and Email. Open question from that book: should they match the five areas in Which of these do you handle? Our pick: no chips, one field, fewer reasons to stop.

### Pages anyone can open without signing in {#h-4.public-pages}

User moment: Your freelancer opens the link you sent. They have never heard of us.

Answer: Two public pages carry us quietly, the brief page for whoever ships the work and your brand book for AI tools, each signed by a small {name}.

- The brief page: phone first, no login
- The brand book: yours to share
- A small sign off, never an ad

Character line: Fetch: I drop the brief at their feet and step back. | Buzz: I leave a tiny buzz at the bottom. That is all. | Scoop: I sign the note. Small. Then I vanish. | Ocho: One small arm waves at the bottom. That is it. | Seeti: A tiny steel sign off. The ticket does the talking.

- Screen h3: The brief page, read only, no login

| Page | Who opens it | What it shows | Marketing role | Status |
| --- | --- | --- | --- | --- |
| Brief page | Whoever ships the work | The numbered brief, the files, copy all | A freelancer sees good work and the 32 px sign off | Today as copied brief and link, Next as this layout |
| Brand book | AI tools, partners | What we know about your store, as a page and files | Share your brand book, in What we know about you | Today |
| The reveal finding | Friends of the founder | One shareable finding | Share this finding | Next |

Rule from product-model section 7: on the brief page the character appears only as a 32 px sign off at the bottom. No sales line on a founder's brief, ever.

## H5 Social {#h-5}

Instagram, reels, LinkedIn, meme formats and the first nine posts.

### The meme formats {name} carries every week {#h-5.formats}

User moment: You need something to post this week, and next week, and the week after.

Answer: A format is a fixed frame you refill every week in under an hour: {name} stays, the product in it changes.

- Seven formats, one per slot in the week
- Every frame labelled Sample
- The running joke pays off on Friday

Character line: Fetch: Same game every week. Still my favourite game. | Buzz: Same dance every Monday. Never gets old. | Scoop: Same gossip column. New gossip. | Ocho: Same eight arms. New things in them. | Seeti: Same recipe every Monday. New vegetables.

*Fetch:*
- The drop: Monday carousel. Fetch drops five picks for the sample candle store at your feet, one per slide.
- Ball in the picks: Wednesday. Pick six is Fetch's tennis ball. Not for me, sadly. Lesson: Not for me teaches the feed.
- Dug up: Sample. Dug up in 41 reviews: smells like the first rain. Your page never says it.
- The sniff test: Thursday. Fetch sniffs a tired habit, fifty percent off again, and walks away. One better move.
- Throw it again: Four takes of the Jasmine night photo. Every version kept. Take four is the one.
- On the leash: Honesty post. Can it post for me? Not yet. It drafts, you hand off.
- Nap on the doormat: Friday story. Fetch asleep with the ball. Handed one thing off? That counts.
*Buzz:*
- The waggle: Monday carousel. Buzz dances and the dance points at pick one, then four more picks.
- Pollen count: Sample. Pollen count: 41 reviews say the Monsoon candle smells like first rain.
- Wrong flower: Wednesday. Same ad for four months. Wrong flower. One move: new first line, same photo.
- Honey rating: Product photos rated one to three drops. Plain background, one. In use, in the rain, three.
- The flower next door: Every candle shop in October says autumn. Be the one that says rain. No rival named.
- Buzz in the window: Monthly blooper. Buzz bonks the glass drafting the sale email as a reel. Every channel wants its own shape.
- Back to the hive: Friday story. Two handed off this week. Pollen count: zero. See you Monday.
*Scoop:*
- Overheard: Sample. Overheard in 41 reviews: the Monsoon candle smells like the first rain. Your page never says it.
- The redacted: Two slides. The most loved candle is behind a bar. Slide two: the Jasmine night, never posted about.
- Spotted: Four candle ads in this category open on rain sounds. I will not say whose.
- I asked the chatbots: Best rain scented candle? Named once. Want them to say your name more? Start on your pages.
- Case board: Five pins, five picks for a sample candle store, one string.
- Psst: Psst. Your best product photo is already in your reviews. Ask before you use it.
- All dished out: Friday reel. That is all the gossip for this week. Back Monday.
*Ocho:*
- Arms full Monday: Carousel. Five arms, five things a candle store could do this week.
- Knot of the week: Wednesday. The knot: same ad for four months. One move: new first line, same photo.
- I said yes to: Text post. I said yes to everything. Delivered: drafts. The coffee, not so much.
- Take four: Four takes of the Jasmine night photo. Take four is the one.
- Wrong arm: Monthly blooper. Coffee to its ear like a phone. Every channel wants its own shape.
- Ink level: Monthly meter: calm, light puff, big puff, full ink. Where are you today?
- The ninth arm: Sunday story. One wild idea Ocho has no arm left for.
- Arms free Friday: Ocho floating in the mug. Handed one thing off? That counts. Go float.
*Seeti:*
- Three whistles: Monday carousel. Stove on, one whistle, two, three. This week's special for candle shops.
- Undercooked: Wednesday. Fifty percent off everything, again. Undercooked. Tell them why it smells like rain.
- Nobody lifts my lid: Short video. A hand reaches for the lid. No. Three whistles. Now.
- Whistle rating: Product photos in whistles. Plain background, one. In use, in the rain, at night, three.
- Order up: Thursday. Table founders, your order is up: one idea, extra specific, hold the discount.
- Next door's menu: Every candle brand in October: autumn. You may be the shop that talks about rain.
- Sunday stove: Story. Kitchen's clean. If you handed off one thing this week, that counts.

Fetch: The running joke is the tennis ball Fetch keeps sneaking into the picks. It pays off on Friday when Fetch naps on the doormat with the ball. Every format runs on the sample candle store.

| Format | Day | Size | Time to make |
| --- | --- | --- | --- |
| The drop | Monday | 4:5 carousel | 20 minutes |
| Ball in the picks | Wednesday | 4:5 | 10 minutes |
| Dug up | Every other week | 4:5 | 10 minutes |
| The sniff test | Thursday | 4:5 carousel | 15 minutes |
| Throw it again | Every other week | 4:5 carousel | 15 minutes |
| On the leash | Monthly | 4:5 | 10 minutes |
| Nap on the doormat | Friday | 9:16 story | 5 minutes |

Rules: one line on the image, under 15 words. No rival named. Sample on every frame.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist. | Buzz: The running joke is the pollen count Buzz keeps all week. It reaches zero on Friday when Buzz flies back to the hive. Every format runs on the sample candle store.

| Format | Day | Size | Time to make |
| --- | --- | --- | --- |
| The waggle | Monday | 4:5 carousel | 20 minutes |
| Pollen count | Every other week | 4:5 | 10 minutes |
| Wrong flower | Wednesday | 4:5 carousel | 15 minutes |
| Honey rating | Every other week | 4:5 | 10 minutes |
| The flower next door | Monthly | 4:5 | 10 minutes |
| Buzz in the window | Monthly | 4:5 | 10 minutes |
| Back to the hive | Friday | 9:16 story | 5 minutes |

Rules: one line on the image, under 15 words. No rival named. Sample on every frame.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### The profile and the first nine posts {#h-5.first-nine}

User moment: Someone taps the profile. The grid decides if they follow.

Answer: The first nine posts introduce {name}, show a read and its drafts, then say honestly what it does not do yet, and end on the capped read.

- Row one: meet {name}
- Row two: the read and the drafts
- Row three: honesty, then the offer

Character line: Fetch: Nine posts. Nine good boys. I mean posts. | Buzz: Nine cells in the comb. All full. | Scoop: Nine posts. Each one a little scoop. | Ocho: Nine posts. I could hold one more, technically. | Seeti: Nine plates on the pass. Order up.

**The first nine, in posting order**
*Fetch:*
| # | Format | On the image |
| --- | --- | --- |
| 1 | Reel, Meet Fetch | Fetch drops a card at your feet. Hi. I fetch this week's ideas. |
| 2 | The drop | Five picks for a sample candle store. |
| 3 | Dug up | Sample. 41 reviews: smells like the first rain. |
| 4 | Ball in the picks | Pick six is my ball. Not for me, sadly. |
| 5 | Reel, the read | Nose down, seven sources, about 3 to 4 minutes. |
| 6 | Throw it again | Take four is the one. |
| 7 | The sniff test | Fifty percent off, again. Sniff. Not this. |
| 8 | On the leash | Can it post for me? Not yet. |
| 9 | Offer | Want me to fetch yours? Reads are capped. |
*Buzz:*
| # | Format | On the image |
| --- | --- | --- |
| 1 | Reel, Meet Buzz | Hi. I make your store buzz. |
| 2 | The waggle | Five picks. The dance points at pick one. |
| 3 | Pollen count | Sample. 41 reviews: smells like the first rain. |
| 4 | Wrong flower | Same ad for four months. |
| 5 | Reel, the read | Seven flowers, one read, about 3 to 4 minutes. |
| 6 | Honey rating | Three photos, rated in drops. |
| 7 | The flower next door | Autumn, autumn, autumn. Be the rain. |
| 8 | Honesty | Can it post for me? Not yet. |
| 9 | Offer | Want me to buzz around yours? Reads are capped. |
*Scoop:*
| # | Format | On the image |
| --- | --- | --- |
| 1 | Reel | Hi. I read everything people say about your store. |
| 2 | Overheard | Sample. Overheard in 41 reviews: smells like the first rain. |
| 3 | Case board | Five pins, five picks for a sample candle store. |
| 4 | Psst | Psst. Your best product photo is in your reviews. |
| 5 | The redacted | Slide one barred, slide two: the quiet favourite. |
| 6 | Reel | The rummage, sped up. Seven sources tick by. |
| 7 | I asked the chatbots | Named once in a sample category answer. |
| 8 | Spotted | Four ads in the category open on rain sounds. |
| 9 | Offer | Want me to read yours? |
*Ocho:*
| # | Format | On the image |
| --- | --- | --- |
| 1 | Intro | Hello. I'm Ocho. |
| 2 | Modes carousel | Five arms for your store. Three for me. |
| 3 | Arms full Monday | Arms full. |
| 4 | Knot of the week | The knot: same ad for months. |
| 5 | Reel 1, the read | Eight arms reading. |
| 6 | Take four | Take four is the one. |
| 7 | I said yes to | I said yes to everything. |
| 8 | Reel 2, what it does not do | Can it post for me? Not yet. |
| 9 | Arms free Friday | Arms free. |
*Seeti:*
| # | Format | On the image |
| --- | --- | --- |
| 1 | Single image | This is Seeti. It whistles when your week is ready. |
| 2 | Carousel | What is a pressure cooker whistle? |
| 3 | Single image | Order up: our first ticket. |
| 4 | Undercooked | Free shipping banner as your only idea. |
| 5 | Whistle rating | Product photos, rated in whistles. |
| 6 | Reel 1 | Paste, cook, three whistles, specials, ticket. |
| 7 | Next door's menu | Every shop says the same thing this month. |
| 8 | Carousel | When the read boils over. |
| 9 | Single image | Ask for a capped read. |

*Fetch:*
- 1. Meet Fetch (dog/svg/pose-03.svg)
- 3. Dug up, Sample (shared/sample/img/monsoon.jpg)
- 9. Want me to fetch yours? (dog/svg/pose-09.svg)
*Buzz:*
- 2. The waggle (bee/svg/pose-drop.svg)
- 3. Pollen count, Sample (shared/sample/img/monsoon.jpg)
- 9. Want me to buzz around yours? (bee/svg/pose-celebrate.svg)
*Scoop:*
- 1. Meet Scoop (raccoon/char-read.svg)
- 2. Overheard 41, Sample (shared/sample/img/monsoon.jpg)
- 9. Want me to read yours? (raccoon/char-yes.svg)
*Ocho:*
- 1. Hello. I'm Ocho. (octopus/char.svg)
- 2. Five arms for your store (octopus/img/v/modes.svg)
- 9. Arms free. (octopus/img/v/pose-09.svg)
*Seeti:*
- 1. This is Seeti (cooker/svg/hero.svg)
- 5. Whistle rating, Sample (shared/sample/img/ad-rain.jpg)
- 9. Ask for a capped read (cooker/svg/pose-07.svg)



### Reel one, the read, in six beats {#h-5.reels}

User moment: You have 30 seconds and a thumb that wants to scroll.

Answer: Every character's first reel tells the same six beats: Monday mess, paste, the read, the picks, the hand off, rest, ending on the ask.

- Six beats, 30 seconds
- Screens show only what exists today
- Ends on the capped read

Character line: Fetch: Thirty seconds. Same as my attention span. | Buzz: Thirty seconds. I can visit a lot of flowers in that. | Scoop: Thirty seconds of gossip. Then the ask. | Ocho: Thirty seconds. Eight arms. Plenty. | Seeti: Thirty seconds. Less than one whistle.

**Reel one for {name}**
*Fetch:*
1. 0 to 3 s: Monday. A tennis ball bounces into frame, Fetch chases it. Text: Monday. No ideas.
2. 3 to 7 s: A hand pastes a store link on f1. Text: Throw me your store.
3. 7 to 13 s: Fetch nose down over a little shop, seven sources tick by. Text: About 3 to 4 minutes.
4. 13 to 19 s: Fetch drops five Sample cards at your feet, tail going. Text: Five picks, with drafts.
5. 19 to 25 s: A thumb hearts one. Fetch carries the brief to a real hand. Text: You pick. Someone ships.
6. 25 to 30 s: Fetch asleep on the ball. End card, wordmark slot. Text: Want me to fetch yours?
*Buzz:*
1. 0 to 3 s: Buzz zips around a messy desk. Text: Monday. No ideas.
2. 3 to 7 s: A hand pastes a store link on f1. Text: Show me your store.
3. 7 to 13 s: Buzz visits seven flowers, each a source. Text: About 3 to 4 minutes.
4. 13 to 19 s: The waggle dance, pointing at pick one of five Sample cards. Text: Five picks, with drafts.
5. 19 to 25 s: A thumb hearts one. Buzz carries the brief to a real hand. Text: You pick. Someone ships.
6. 25 to 30 s: Buzz back at the hive. End card, wordmark slot. Text: Want me to buzz around yours?
*Scoop:*
1. 0 to 3 s: Clippings rustle, Scoop pops out, scribbling. Text: Monday. Reading reviews.
2. 3 to 9 s: Tally marks run off the notepad. Text: Thirty nine. Forty. Forty one.
3. 9 to 14 s: The Monsoon candle product page. Text: 41 reviews say it smells like the first rain. The page never says rain.
4. 14 to 18 s: Scoop gasps. Two note gasp.
5. 18 to 25 s: A folded note reaches a real hand. Text: You pick. Your freelancer ships.
6. 25 to 30 s: All 41 crossed out, pencil down. Text: Want Scoop to read your store?
*Ocho:*
1. 0 to 3 s: Ocho jittering, arms full. Text: Me on a Monday, running a candle store.
2. 3 to 7 s: Screen f1, a store link pasted, Build my feed. Text: Paste your store.
3. 7 to 13 s: Eight arms reading, seven sources ticking. Text: About 3 to 4 minutes.
4. 13 to 19 s: Five cards fanned, a Sample design of Today labelled Next. Text: Five picks, with drafts.
5. 19 to 25 s: Clipboard handed to a real hand, Copy brief. Text: You pick. You hand it off.
6. 25 to 30 s: Ocho in the mug. End card. Text: Arms free.
*Seeti:*
1. 0 to 3 s: A blank notes app, Monday 9 am. Text: Monday. No ideas.
2. 3 to 6 s: A hand pastes a link, Seeti slides in, arms on hips. Text: Paste your store.
3. 6 to 12 s: Seeti on the flame, whistle pills filling. Text: About 3 to 4 minutes. Sped up.
4. 12 to 15 s: Steam, arms wide. Text: Three whistles.
5. 15 to 22 s: Five Sample cards fly onto the pass. Text: Five specials, already drafted.
6. 22 to 30 s: A thumb hearts one, the ticket is stamped. Text: Pick the good ones. Hand them off.

Each character has three reels in its marketing book. Reel one is the read for every character so the story matches. The other two are character jokes: Scoop the redacted and all dished out, Ocho what it does not do and take four, Seeti undercooked and nobody lifts my lid. Fetch and Buzz second reels: On the leash, what it does not do yet, and Throw it again or Honey rating.

| Rule | Detail |
| --- | --- |
| Beats | Keep the six beats and the timings |
| Screens | Only features tagged Today. Next appears only as a labelled Sample design. A Later beat is cut |
| Sound | The character's sonic logo at the end, cues from its snd folder |
| Products | The sample candle store, or a partner's own products with written permission |
| End card | Wordmark slot, the character, the ask |

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### LinkedIn: founders post as themselves {#h-5.linkedin}

User moment: You are a founder. You do not want a cartoon writing your posts.

Answer: On LinkedIn a founder is always the author, {name} is a picture at most, and every post ends on the real offer.

- A person writes, the character is a picture
- One idea per post
- Every claim is a today claim

Character line: Fetch: I sit quietly on LinkedIn. Mostly quietly. | Buzz: On LinkedIn I am a picture. A cheerful one. | Scoop: On LinkedIn I am a picture. I keep my gossip to myself. | Ocho: On LinkedIn I hold the picture frame. A person holds the pen. | Seeti: On LinkedIn I am the photo. The founder does the talking.

**Sample founder post, why our tool does not post for you yet**
- Your name, founder: Something we decided early: our tool does not post anything. It reads, ranks and drafts. A person you trust ships the work.
- Your name, founder: Founders told us the scary part of AI marketing is losing control of what goes out under their name. So the last step is a numbered brief and a read only link you hand to your team or agency.
- Your name, founder: Maybe one day it does more, with your approval on every step.

- Do: Write in first person, about the work
- Do: One idea per post
- Do: End with the capped read as the only ask
- Do: Say later plans plainly as plans
- Never: Let the character be the author
- Never: A wall of hashtags
- Never: Any number outside the allowed five
- Never: Name a partner without written OK

Six founder posts, shared across characters, from the m6 chapters:

| # | Post | Image |
| --- | --- | --- |
| 1 | What a founder's Monday looks like: eight jobs before lunch | {name} with every job |
| 2 | Why our tool does not post for you, yet | {name} with the hand off pose |
| 3 | We cap reads, here is why | Hands pouring wax, Sample |
| 4 | What a good brief looks like: five numbered parts, no login | The brief page, h3 |
| 5 | Does ChatGPT recommend small brands? The 12 of 32 example finding from one brand's read | What AI search says, y4 |
| 6 | Three questions we are testing with design partners, answers filled from real notes before posting | None |

Post 6 is not posted until its blanks are filled from real notes. Why a mascot posts are per character: why a raccoon, why an octopus, why a cooker and the whistle, why a dog, why a bee.

## H6 Launch and design partners {#h-6}

The launch plan and the partner programme.

### The design partner programme {#h-6.programme}

User moment: You are a founder thinking: what do I get, and what do they want from me?

Answer: A design partner gets a read of their store, drafted picks every week and the founders on call, and gives back honest notes and at least one hand off.

- You get a read, picks and a direct line
- We ask for six Mondays and the truth
- Reads are capped because each costs real money

Character line: Fetch: You get a loyal dog. I get to learn your tricks. | Buzz: You get a busy bee. I get to learn your garden. | Scoop: You get the gossip. We get the notes. Fair trade. | Ocho: You get eight arms. We get your honest face. | Seeti: You get the cooking. We get told when it is too salty.

| What a partner gets | What we ask |
| --- | --- |
| A read of your store from public pages, about 3 to 4 minutes | Open the feed on Mondays for six weeks |
| Your feed with drafts and a numbered brief to hand off | Tell us when an idea is wrong or generic |
| A call every week or two with the founders | Hand off at least one brief and tell us what the shipper said |
| A direct line when something feels wrong | Permission to learn from your feed, never to share your data or name |
| First say on what we build next |  |

**An ask, and the reply from a person**
- You: Saw the post. Can I get a read for my candle store? Here is our link.
- Your name, founder: Yes, thank you for asking. It takes about 3 to 4 minutes once it starts. I will book a 30 minute call to walk you through it. Reads are capped, so we start one at a time.

Source: m7 in the raccoon, octopus and cooker marketing books. Best fit: small online stores with a catalog and some reviews, where one or two people do the marketing.

| Design partner ticket | Done when |
| --- | --- |
| Store link pasted | The read starts |
| Read walked through on a call | Week one |
| First pick hearted, made and handed off | Week one or two |
| Weekly 15 minutes booked | Week two |

Why capped: each read costs real time and money while we build v0. That scarcity is real, so we say it plainly. No countdowns, no fake spots left. When full: Reads are full this month. Leave your link and we will write when one opens.

The cost question is answered person to person: we talk about cost with each design partner before anything changes for them. Pricing is parked until after the design partnership, see i-5.

### After you ask: the six weeks {#h-6.timeline}

User moment: You said yes. What happens on which day?

Answer: A founder replies the same day, the read runs within a few days, and six weeks later we ask if you want to keep going and what to change.

- Same day reply from a person
- Week one call, 30 minutes
- Week six: keep going, and what to change

Character line: Fetch: Six weeks of walks. I will be at the door every Monday. | Buzz: Six weeks. Every Monday a fresh bloom. | Scoop: Six weeks of fresh pages. I am very punctual about gossip. | Ocho: Six weeks, eight arms, one coffee. Fine, two. | Seeti: Six weeks. Every Monday, three whistles.

- Day 0: You ask. A founder replies by email the same day. No character.
- Days 1 to 4: The read. Run while reads are capped, link sent with one finding to look at first.
- Week 1: First call. 30 minutes, a walk through your read and a first hand off. (the turn)
- Weeks 2 to 5: Monday picks. A short call every week or two, your notes on every pick you drop.
- Week 6: Keep going?. What we should change, and whether you stay on. (the turn)

| When | What happens | Who |
| --- | --- | --- |
| Same day | Reply by email, from a person | A founder |
| Within a few days | Read run, link with one finding to look at first | The ShopOS team member who ran it |
| Week one | First call, 30 minutes, agenda in the communications book | A founder |
| Weeks two to six | Monday picks, short calls, notes from you | A founder |
| Fridays | The weekly founder note to every partner | A founder, the character opens and closes it |
| Week six | Keep going, and what to change | A founder |

Sources: the after you ask table in the raccoon marketing book, the call agendas in the octopus communications book.

### From design partners to launch {#h-6.launch}

User moment: You want to know when this opens to everyone. Honestly, so do we.

Answer: There is no launch date yet, so reads open in small batches as design partners tell us it works.

- No date until partners say it works
- Open reads in small batches
- Each version ships with its own small launch

Character line: Fetch: When it is ready, I bring it. Not a second sooner. | Buzz: The hive opens when the honey is ready. | Scoop: I will tell you the second I know. In a whisper, obviously. | Ocho: When all arms agree, we open the door. | Seeti: Nobody lifts my lid early. Not even for a launch.

1. Design partners: capped reads, six week cycles [Today]
2. Second cycle: new invites, the reveal and the Monday drop on [Next]
3. Open reads: more reads, the waitlist gets a link [Later]
4. Posts with your OK: v2 launch: posting and scheduling [Later]
5. Shows what worked: v3 launch: how it went [Later]

Open questions for the owner: the launch date, the product name, which channel opens first, and whether a public launch day happens at all. None of these are decided in the sources.

| Opening | What it needs before it happens |
| --- | --- |
| Second partner cycle | First cycle notes reviewed, the Next first run pieces shipped |
| Open reads | Read cost under control, the cap lifted honestly |
| v2 | Posting with approval and undo, tested with partners |
| v3 | How it went per live pick |
| v4 | Rules and budget limits set by the founder |

Each opening gets the same small kit: a reel in the character's voice, a founder post, an email to the waitlist and a note to partners first. Never call it open to all before it is.

## H7 The six week calendar {#h-7}

What goes out, when, and where.

### Six weeks, one theme a week {#h-7.six-weeks}

User moment: You follow {name} for six weeks. Each week shows you one part of what it does.

Answer: Six weeks, one theme a week: meet {name}, the read, drafts, honesty, hand offs, AI search.

- Four character posts and one founder post a week
- The offer is in every week, loudest after week three
- Partner work runs beside the posts

Character line: Fetch: Six weeks of walks. Same route, new smells. | Buzz: Six weeks. Same dance, new flowers. | Scoop: Six weeks of gossip, planned. Very unlike me. | Ocho: Six weeks. I wrote it on all eight arms. | Seeti: Six weeks on the menu. No improvising.

- Week 1: Fetch: Meet Fetch: reel, the drop, dug up | Buzz: Meet Buzz: reel, the waggle, pollen count | Scoop: Meet Scoop: reel, overheard, case board | Ocho: Meet Ocho: hello, the arms, arms full | Seeti: Meet Seeti, the whistle explained. LinkedIn: What a founder's Monday looks like. Partners: List 40 founders, ten warm intros.
- Week 2: Fetch: The read: ball in the picks, reel 1 | Buzz: The read: wrong flower, reel 1 | Scoop: Findings: psst, the redacted | Ocho: The read: knot, reel 1 | Seeti: Three whistles, undercooked. LinkedIn: Why our tool does not post for you, yet. Partners: 20 invites, read ready messages from a person.
- Week 3: Fetch: Drafts: throw it again, the sniff test | Buzz: Drafts: honey rating, the waggle | Scoop: Findings: the rummage reel, the chatbots | Ocho: Drafts: take four, I said yes to | Seeti: Reel 1, whistle rating, order up. LinkedIn: We cap reads, here is why. Partners: First calls with the agenda.
- Week 4: Fetch: Honesty: on the leash, nap on the doormat | Buzz: Honesty: what it does not do yet, back to the hive | Scoop: The offer: spotted, want me to read yours, reel 3 | Ocho: Honesty: reel 2, arms free Friday | Seeti: A festival special, reel 2 undercooked. LinkedIn: A teardown of one sample card, source to draft. Partners: Weekly founder note starts. (the turn)
- Week 5: Fetch: Hand offs: the drop, the brief explained | Buzz: Hand offs: the waggle, the brief explained | Scoop: Hand offs: case board, overheard | Ocho: Hand offs: arms full, knot, reel 3 | Seeti: Next door's menu, reel 3 the lid. LinkedIn: What a good brief looks like. Partners: Agency pitch to five agencies.
- Week 6: Fetch: AI search: the 12 of 32 example, the offer again | Buzz: AI search: the 12 of 32 example, the offer again | Scoop: AI search: the chatbots again, all dished out | Ocho: AI search: arms full, ink level, the phone arm | Seeti: Best of six weeks, boiled over. LinkedIn: Does ChatGPT recommend small brands. Partners: Second round of invites, review and plan the next six.

Source: m8 in the raccoon, octopus and cooker marketing books. The themes follow the octopus calendar, which is the most complete. Scoop lands the offer in week four after three weeks of findings. Seeti's founder posts run in its own order: why a cooker, what it does not do, the AI search finding, a design partner lesson, the offer, what we learned.

| Week | Theme | LinkedIn | Partner work |
| --- | --- | --- | --- |
| 1 | Meet the character | What a founder's Monday looks like | List 40 founders, ten warm intros |
| 2 | The read | Why our tool does not post for you, yet | 20 invites, read ready messages from a person |
| 3 | Drafts | We cap reads, here is why | First calls with the agenda |
| 4 | Honesty | A teardown of one sample card, source to draft | Weekly founder note starts |
| 5 | Hand offs | What a good brief looks like | Agency pitch to five agencies |
| 6 | AI search | Does ChatGPT recommend small brands | Second round of invites, review and plan the next six |

Colour key in the character books: one colour per channel, a dashed border for stories, grey for partner work that is never posted.

What we watch each week, internally: read requests, reads run, first hand offs, second Monday opens.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### One normal week, day by day {#h-7.one-week}

User moment: You open Instagram on a Wednesday and {name} is there again, with one new thing.

Answer: A normal week has one format a day, never two: the drop on Monday, a lesson midweek, a founder post Thursday, rest on Friday.

- One format a day
- Reply to every comment on Friday
- The week ends with the character resting

Character line: Fetch: Monday fetch. Friday nap. The rest is wagging. | Buzz: Monday dance. Friday hive. Buzzing in between. | Scoop: Monday dish. Friday nap on my notepads. | Ocho: Monday arms full. Friday arms free. Coffee throughout. | Seeti: Monday whistles. Sunday stove rests.

*Fetch:*
- Mon: The drop. Five picks at your feet, carousel
- Tue: Story. One pick, one line
- Wed: Ball in the picks. Not for me teaches the feed
- Thu: Founder post. LinkedIn, first person
- Fri: Nap on the doormat. Story, reply to comments (the turn)
*Buzz:*
- Mon: The waggle. Five picks, the dance points at one
- Tue: Story. One pick, one line
- Wed: Wrong flower. One habit, one better move
- Thu: Founder post. LinkedIn, first person
- Fri: Back to the hive. Story, reply to comments (the turn)
*Scoop:*
- Mon: The Monday dish. One finding from a sample store
- Wed: Clipping carousel. Overheard in the reviews
- Thu: I asked the chatbots. What AI answers say about a category
- Thu: Founder post. LinkedIn, first person
- Fri: All dished out. Sleepy reel, back Monday (the turn)
*Ocho:*
- Mon: Arms full. Five things a candle store could do
- Tue: I said yes to. Coffee count: two, calling it one
- Wed: Knot of the week. Same ad for four months
- Thu: Take four. Plus a founder post
- Fri: Arms free. Coffee count: zero (the turn)
*Seeti:*
- Mon: Three whistles. This week's special
- Wed: Undercooked. A habit sent back
- Thu: Order up. One idea, extra specific
- Fri: Founder post. LinkedIn, first person
- Sun: Sunday stove. Kitchen's clean (the turn)

Sources: the same week tables in m0 of each built character's marketing book. Fetch and Buzz weeks follow the octopus shape.

Rules that save time, from the cooker book: reuse poses, ten poses cover every post. One format per day, never two. If it takes longer than an hour, it is the wrong post. Same joke every Monday, done properly, becomes a ritual.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

## H8 Lifecycle {#h-8}

Onboarding emails, the Monday habit, win back.

### The four phases, and the join between each {#h-8.phases}

User moment: You signed up last week. Will you still open it next month?

Answer: People leave at the joins between phases, so each join is designed: the reveal, the first win, the Monday habit and a brand book you own.

- Discovery ends at the reveal
- Onboarding ends at the first win
- The Monday habit is the repeat loop

Character line: Fetch: First fetch, first win, then every Monday. That is a good dog life. | Buzz: First flower, first honey, then every Monday. | Scoop: First gossip, first win, then a Monday habit. | Ocho: First read, first hand off, then every Monday. Arms free by Friday. | Seeti: First taste, first plate out, then every Monday.

1. Discovery: a post, the ask, the read, the reveal [Next]
2. Onboarding: three questions, first win in ten minutes [Next]
3. Repeat loop: the Monday drop, five picks, hand off [Next]
4. Endgame: what we know about you, as a brand book you own [Later]

- Screen f7: The reveal
- Screen t5: Caught up
- Screen e1: The Monday email

Source: _research/sources.md, Octalysis four phases, source B: most people leave at the transition between phases, not in the middle of one. BRIEF.md base mechanics table.

| Phase | Mechanic | Status |
| --- | --- | --- |
| Discovery | The read as a reveal, one shareable finding | Read Today, reveal Next |
| Onboarding | Three questions: what you handle, your next big moment, one thing you never want to post | Next |
| Onboarding | First win in ten minutes: heart one, make one, hand off one | Next |
| Onboarding | Store memory meter: what we know about your store, never your results | Next |
| Repeat loop | The Monday drop: five fresh picks, finite | Next |
| Repeat loop | Weekly run: weeks with at least one hand off, one free skip a month, no guilt | Next |
| Repeat loop | One wildcard pick a week | Next |
| Endgame | House rules, exportable as a one page brand book | Later |

Rule: lead with white hat drives, meaning, progress and making. Use scarcity and loss only when real and kind.

### Onboarding and activation, day by day {#h-8.onboarding-emails}

User moment: You just pasted your store and signed in. You have no idea what happens next.

Answer: Onboarding is eight messages over four weeks, and every one before the first hand off points at it.

- Activation means the first hand off
- A person writes, {name} adds one line
- Stop the sequence the moment the job is done

Character line: Fetch: Day one I fetch your read. Day two, your first pick lands at your feet. | Buzz: Day one I visit every flower. Day two I waggle at your first pick. | Scoop: Day one I read everything. Day two I tell you the best bit. | Ocho: Day one, eight arms reading. Day two, one arm handing off. | Seeti: Day one the read cooks. Day two the first plate goes out.

**The sequence {name} signs**
- Day 0, minute 1: Fetch: Throw me your store, I am on it | Buzz: Your store, buzzing soon | Scoop: Your read has started | Ocho: Your read has started | Seeti: Your read is on the stove. Welcome, from the founder who said yes. Status Today.
- Day 0, minute 4: Fetch: Fetched. Your store is read | Buzz: Your store is read, every flower | Scoop: Your store is read | Ocho: Your store is read | Seeti: Three whistles. Your store is read. Read ready, push and email, with one finding to open first. Today.
- Day 1: Fetch: One pick, dropped at your feet | Buzz: The waggle points here first | Scoop: Start with this one | Ocho: Start with this arm | Seeti: Taste this one first. One pick with its draft, one button: Make it. Only if nothing is handed off. Next.
- Day 2: Fetch: Three quick questions, one treat each | Buzz: Three quick questions for the hive | Scoop: Three questions, then better gossip | Ocho: Three questions, sharper picks | Seeti: Three questions, better seasoning. The three questions, if skipped during the read. Next.
- Activation: Fetch: Good dog. You handed one off | Buzz: First honey. You handed one off | Scoop: Note passed. Your first hand off | Ocho: One arm free. Your first hand off | Seeti: First plate out. Your first hand off. First win, the day of a first hand off. Ends the onboarding nudges. Next. (the turn)
- Day 7: Fetch: Your first Monday, five at your feet | Buzz: Your first Monday waggle | Scoop: Your first Monday dish | Ocho: Your first arms full Monday | Seeti: Your first three whistles. The first Monday drop, five picks. Next.
- Day 14: Fetch: Second Monday. Same ball, new picks | Buzz: Second Monday. New flowers | Scoop: Second Monday. Fresh pages | Ocho: Second Monday. Arms full again | Seeti: Second Monday. Stove on. Second Monday, the habit check. Next.
- Day 28: Fetch: Four weeks of fetching. How is it going? | Buzz: Four weeks of buzzing. How is it going? | Scoop: Four weeks of gossip. How is it going? | Ocho: Four weeks of arms. How is it going? | Seeti: Four weeks of cooking. How is it going?. A founder asks what to change, by email. Today for design partners.

Sources: the welcome, read ready and first win emails and the who sends what table in the octopus communications book; the read ready from a person rule in the raccoon communications book; the onboarding phase and first win in ten minutes in BRIEF.md. Day 1, Day 2, Day 14 and Day 28 timing is new in this book and needs the owner's OK.

Activation, the number under the north star: a new store hands off its first pick. Target: inside the first ten minutes when the first win bar ships, Next. Until then we count the days from read to first hand off. Who onboards: the founder after paste, a teammate by invite, an agency per brand, and a Shopify install, all get the same sequence, with the invited teammate skipping Day 2.

| Day | Message | From | Channel | Job | Stops when |
| --- | --- | --- | --- | --- | --- |
| 0, minute 1 | Welcome | The founder who said yes | Email | Say what happens, about 3 to 4 minutes | Never skipped |
| 0, minute 4 | Read ready | The person who ran it, plus in app push | Email and push | Open one finding first | Read failed: send the plain error instead |
| 1 | First pick | The product | Email | Open one pick in Make it | A hand off happened |
| 2 | Three questions | The product | Email | Answer what you handle, your next big moment, one thing you never want to post | Answered during the read |
| Activation | First win | A founder | Email | Say well done, show where the brief went | Sent once |
| 7 | First Monday | The product | Push and email | Five picks, one named | Turned off |
| 14 | Second Monday | The product | Push and email | The habit | Turned off |
| 28 | How is it going | A founder | Email | What should change | Never skipped for partners |

Every onboarding message counts toward the two pushes a week ceiling. Emails about a failed read, money or privacy carry no character.

Bodies, shared, with the character line in the sign off. Meera and the candle store are Sample.

Welcome. Hi Meera, your read has started. It takes about 3 to 4 minutes and looks at seven things: your store, brand, catalog, reviews, ads, site and what AI search says. When it is done you will see this week's picks, most with a draft. Nothing is posted from the product. Reply to this email any time, it reaches me. Your name.

Read ready. Your store is read. Start with this: 41 reviews mention the smell of rain, and your Monsoon candle page never does. Open my picks. Your name, ShopOS team.

Day 1, first pick. Pick one is a rain reel for the Monsoon candle, already drafted. Open it, make it yours, then tap Hand it off and choose who ships it.

Day 2, three questions. Three quick questions make next Monday sharper: which of these do you handle, what is your next big moment, and one thing you never want to post. About a minute.

First win. You handed off your first pick. If you chose your team or a freelancer, the brief is copied and nothing was sent. If you chose the ShopOS team, the ShopOS team has your brief. Next Monday, five fresh picks.

Day 28. Four Mondays in. What is one pick that was wrong for your store, and one you would like more of? Reply with two lines, I read every one. Your name.

Character sign off lines, one per email, one sentence:

| Email | Fetch | Buzz | Scoop | Ocho | Seeti |
| --- | --- | --- | --- | --- | --- |
| Welcome | Nose down, tail up. | Off to the flowers. | Rummaging now. | Eight arms reading. | Lid on. Do not lift it. |
| Read ready | Fetched. | Every flower visited. | All read. Psst, the good bit is first. | Arms full. | Three whistles. |
| First pick | Dropped at your feet. | Waggling at this one. | Start here. This one is juicy. | One arm out to you. | Taste this one. |
| Three questions | One treat per answer. | Tell the hive. | Tell me more. I love details. | Three questions, three free arms. | Season to taste. |
| First win | Good throw. | First honey. | Note passed. I crossed one off. | One arm free. | First plate out. |

Today to tomorrow: today a founder sends the welcome and read ready by hand. The automatic Day 1, Day 2, first win and Monday emails are Next.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### Every lifecycle message {#h-8.messages}

User moment: You do not want another app shouting at you.

Answer: The product sends two pushes a week at most, nothing before 9 or after 8, and a person writes every email that matters.

- Two pushes a week, the ceiling
- Money, privacy and mistakes: a person, no character
- Every message opens exactly one thing

Character line: Fetch: I bark twice a week. Tops. | Buzz: Two buzzes a week. Then I am quiet. | Scoop: Two whispers a week. More is just noise. | Ocho: Two taps on the shoulder a week. With one arm. | Seeti: Two whistles a week, maximum. I am loud enough.

**Who writes, and when**
- Welcome: The founder who said yes. Within an hour of the yes. [Today]
- Read ready: The person who ran the read, and an in app push. When the read finishes. [Today]
- First win: A founder. The day of a first hand off. [Next]
- Monday drop: The product, push and email. Monday 9:30. [Next]
- Midweek nudge: The product, push. Wednesday 11:00, only if nothing was handed off. [Next]
- Need your yes: The product, push. Only for calls only the owner can make. [Today]
- Weekly note: A founder to every partner. Friday afternoon. [Today]
- Quiet week: The product, Monday email. When there was little new to read. [Next]
- Come back note: A founder, by email. After two Mondays unopened. [Next]

| Message | From | When | Status |
| --- | --- | --- | --- |
| Welcome | The founder who said yes | Within an hour of the yes | Today |
| Read ready | The person who ran the read, and an in app push | When the read finishes | Today |
| First win | A founder | The day of a first hand off | Next |
| Monday drop | The product, push and email | Monday 9:30 | Next |
| Midweek nudge | The product, push | Wednesday 11:00, only if nothing was handed off | Next |
| Need your yes | The product, push | Only for calls only the owner can make | Today |
| Weekly note | A founder to every partner | Friday afternoon | Today |
| Quiet week | The product, Monday email | When there was little new to read | Next |
| Come back note | A founder, by email | After two Mondays unopened | Next |

Source: the who sends what table and notification rules in the octopus communications book; the quiet week email in the raccoon communications book. The come back note is new in this book and needs the owner's OK.

| Rule | Detail |
| --- | --- |
| Two a week, at most | The Monday drop and one midweek nudge. Need your yes pushes count toward the limit |
| Never guilt | No missed weeks, no broken runs, no sad character |
| Useful on its own | Every message names a real pick for the real store |
| Quiet hours | Nothing before 9 or after 8 in the founder's time zone |
| One tap off | Every notification can be turned off from itself |

Why: Duolingo treated notifications as a channel to protect, better timing and copy, never more volume without a strong case. Source: Jorge Mazal on Lenny's Newsletter, 28 February 2023.

The come back note, Sample, from a founder, no character:

> Subject: Your picks are still here
>
> Hi Meera. Your last two Mondays went unopened, which is completely fine. This week's pick one is a rain reel for the Monsoon candle, already drafted. If the picks are off, reply and tell me why. If now is a busy season, reply pause and I will stop the Monday email until you say go.

After the come back note, nothing else is sent until the founder opens the product or replies.

### The Monday habit (from v2) {#h-8.monday}

User moment: It is Monday, 9:30. Your phone buzzes once.

Answer: The Monday drop is one message with one real pick in it, opening straight onto Today with five picks.

- One push, one real pick named
- Opens on Today, five picks
- Caught up ends the week, no guilt

Character line: Fetch: Monday. Ball at your feet. Five ideas behind it. | Buzz: Monday. The waggle points at pick one. | Scoop: Psst. Fresh pages. Five picks. | Ocho: Arms full. Five picks today. | Seeti: Three whistles. Five specials. Lift the lid.

- Character: Fetch: Five picks at your feet. First up: a rain reel for the Monsoon candle. | Buzz: Five picks, buzzing. First up: a rain reel for the Monsoon candle. | Scoop: Psst. Five picks. First up: a rain reel for the Monsoon candle. | Ocho: Arms full now. Five picks, drafted. First up: a rain reel for the Monsoon candle. | Seeti: Three whistles. Five specials. First up: a rain reel for the Monsoon candle.

- Screen t1: Today on Monday
- Screen t5: Caught up

The Monday drop is Next for v0 and needs the weekly run. The page is marked v2 here because the reader may switch versions; in the product model it is an Add on behind its own switch, Next.

| Part | Rule |
| --- | --- |
| Push | 60 characters at most, one real pick named |
| Email | e1, the five picks with one picture each |
| Opens | Today, Need your yes on top |
| Caught up | The character signs off until next Monday |
| Skip | One free skip a month, no streak shaming |

Quiet week, from the raccoon communications book: when little changed, the Monday email says so and leans on what you already have, and suggests two minutes in What we know about you.

## H9 Word of mouth {#h-9}

Referrals, community, partnerships and PR.

### What people share without being asked {#h-9.share-loops}

User moment: You found something true about your store. You want to show your cofounder.

Answer: We grow by word of mouth through things worth showing: the one finding from the reveal, the brief page your freelancer opens, and a draft that looks like your brand.

- A true finding gets screenshotted
- A good brief impresses the person who ships it
- No referral bribes

Character line: Fetch: A good find gets carried around the whole park. | Buzz: Good news spreads hive to hive. | Scoop: Good gossip travels on its own. I just start it. | Ocho: A good find gets passed arm to arm. | Seeti: Good food gets talked about. That is my whole plan.

- Share this finding: The reveal card, one finding with its source, made to screenshot. [Next]
- The brief page: Your freelancer sees clean work and a 32 px sign off. [Today]
- Your brand book: Share your brand book from What we know about you. [Today]
- How it went: A live pick with its result, if the founder chooses to share. [v3]

- Screen f7: Share this finding
- Screen h3: The brief page

Why we do not lead with a referral reward: at Duolingo a referral reward lifted new users only 3 percent, while retention of current users had five times the impact of the next best metric. Source: Jorge Mazal on Lenny's Newsletter, 28 February 2023, in _research/sources.md. So we put the effort into the Monday habit and into things people want to show.

| Loop | Who sees it | What they think | Status |
| --- | --- | --- | --- |
| The reveal finding | The founder's friends and team | I want to know mine | Next |
| The brief page | Freelancers and agencies | I want my clients to brief me like this | Today |
| The brand book | AI tools and partners | A clear page about the brand | Today |
| How it went | Other founders | It works for stores like mine | v3 |

Shared findings show only the founder's own data, with their tap. Nothing is shared by the product on its own.

### Communities, partners and agencies {#h-9.community}

User moment: You trust the founders in your WhatsApp group more than any ad.

Answer: Founders hear about us from other founders, their freelancers and their agencies, so we show up there as people with something useful.

- Founder groups: help first, offer when asked
- Agencies: one pitch to five agencies a cycle
- Freelancers meet us through the brief

Character line: Fetch: I go where the other dogs are. I bring a ball, not a sales pitch. | Buzz: I visit every hive in the neighbourhood. Politely. | Scoop: I hang around where founders talk. Quietly. Mostly. | Ocho: I shake hands in every group. Eight at a time. | Seeti: I bring a dish to every potluck. Never a menu.

**Where we show up**
- Founder WhatsApp groups and D2C communities: Answer questions, share one sample finding, offer a read only when asked. [A founder]
- Agencies: The agency pitch: a drafted Monday list per client and a brief clients can read. [A founder, by email]
- Freelancers: They meet us on the brief page, then ask their other clients. [The product, quietly]
- Design partners: Ask, after week four, who else should get a read. [A founder]
- Events: A short talk with the speaker bio, the character on the slide behind. [A founder]

| Where | What we do | Who |
| --- | --- | --- |
| Founder WhatsApp groups and D2C communities | Answer questions, share one sample finding, offer a read only when asked | A founder |
| Agencies | The agency pitch: a drafted Monday list per client and a brief clients can read | A founder, by email |
| Freelancers | They meet us on the brief page, then ask their other clients | The product, quietly |
| Design partners | Ask, after week four, who else should get a read | A founder |
| Events | A short talk with the speaker bio, the character on the slide behind | A founder |

Sources: the agency partner pitch, speaker bio and event intro in the raccoon and octopus communications books; the agency pitch in week five of the octopus calendar.

Rules:
- People speak in communities, the character does not.
- Never post a partner's finding in a group without their written OK.
- One offer, the capped read. No discounts, no countdowns.
- When asked for a read and reads are full, say so and take the link.

Agency note: many brands from one login is Later. Today an agency is invited per brand.

Open question: which founder communities to join first. Not in the sources.

### PR and the press paragraph {#h-9.pr}

User moment: You hear about it on a podcast and want the short version.

Answer: PR runs on one press paragraph, one true story and the character as the picture, with a founder doing all the talking.

- One paragraph, in plain words
- A founder is the voice
- The character is the image only

Character line: Fetch: I am in the photo. The founder does the interview. I fetch the coffee. | Buzz: I am in the photo. I let the founder do the buzzing. | Scoop: I am the picture. The founder talks. I listen. Closely. | Ocho: I am the picture. The founder holds the microphone. With two arms. | Seeti: I am in the photo, looking proud. The founder talks.

Press paragraph, shared. We are building a marketing team in a feed for small online stores. A founder pastes a store link, we read its public pages for about 3 to 4 minutes, and come back with this week's marketing ideas, already drafted. The founder picks the good ones and hands them off to their own team, a freelancer or the ShopOS team. We are working closely with a small group of design partners while we build.

**Story angles we can prove**
- Small stores sit on their best copy, in their reviews: The sample finding, labelled Sample, or a partner's with written OK
- Does AI search recommend small brands?: The 12 of 32 example finding from one brand's read
- A marketing tool that does not post for you, on purpose: The product itself
- Why the mascot: The character book

Sources: the press paragraph in the raccoon and octopus communications books, rewritten to the shared roof line. The product name is a wordmark slot until the owner decides it, see f-9.

| Story angle | Proof we can give |
| --- | --- |
| Small stores sit on their best copy, in their reviews | The sample finding, labelled Sample, or a partner's with written OK |
| Does AI search recommend small brands? | The 12 of 32 example finding from one brand's read |
| A marketing tool that does not post for you, on purpose | The product itself |
| Why the mascot | The character book |

Never in PR: customer counts, results, partner names without OK, or any claim the product posts or measures.

## H10 Making it on no budget {#h-10}

How we produce all of this with a tiny team.

### Four hours a week, two founders {#h-10.four-hours}

User moment: {name} posts every week. You picture a big team behind it. It is two founders and four hours.

Answer: All of part H runs on about four hours a week: templates made once, {name}'s ready poses and voice, and the product drafting our own posts.

- Templates made once, refilled weekly
- Ten poses cover every post
- Our own product drafts our marketing

Character line: Fetch: Four hours of work. The rest of the week, I nap. Fair. | Buzz: Four hours a week. A bee could do it in three. | Scoop: Four hours. I spend the rest reading. Obviously. | Ocho: Four hours a week. I cover the other 164 with coffee. | Seeti: If it takes more than an hour, it is the wrong post.

**Four hours, one a day**
- Mon: Founder A, 1 hour. Pick one finding from the sample read, fill the Monday template
- Wed: Founder B, 1 hour. The midweek format, or one new pose if needed
- Thu: Both, 1 hour. One LinkedIn post each, in your own words
- Fri: Founder A, 1 hour. The Friday post, the weekly note, reply to every comment (the turn)

| When | Job | Who | Time |
| --- | --- | --- | --- |
| Monday | Pick one finding from the sample read, fill the Monday template | Founder A | 1 hour |
| Wednesday | The midweek format, or one new pose if needed | Founder B | 1 hour |
| Thursday | One LinkedIn post each, in your own words | Both | 1 hour |
| Friday | The Friday post, the weekly note, reply to every comment | Founder A | 1 hour |

Sources: m9 in the raccoon, octopus and cooker marketing books. The cooker book splits the week into six jobs that also add to about four hours.

Our own product suggests these posts. We just hand them off to ourselves: the sample candle store read gives the finding, Make it gives the draft, and the brief is the checklist.

Rules that save time:
- Reuse poses. Ten poses cover every post.
- One format per day, never two.
- Same joke every week.
- If a post needs a Later feature to make sense, cut it.

### The kit {name} already has {#h-10.kit}

User moment: You like the {name} posts and wonder how two people keep them coming.

Answer: Each character has a master drawing, ten poses, expressions and a voice with cues, enough for every format in this part without new art.

- Poses and expressions are made
- Voice lines and cues are made for three characters
- Templates are the one thing to build

Character line: Fetch: Ten poses. All of them good boy poses. | Buzz: Ten poses. Each one a different kind of busy. | Scoop: Ten poses, eight faces. Rummaged and ready. | Ocho: Ten poses, thirty pieces. I am very organised for an octopus. | Seeti: Ten poses. Hips, ladle, ticket. Ready.

- Paste (Fetch: dog/svg/pose-01.svg | Buzz: bee/svg/pose-paste.svg | Scoop: raccoon/art/pose-01.svg | Ocho: octopus/img/v/pose-01.svg | Seeti: cooker/svg/pose-01.svg)
- Read (Fetch: dog/svg/pose-02.svg | Buzz: bee/svg/pose-reading.svg | Scoop: raccoon/art/pose-02.svg | Ocho: octopus/img/v/pose-02.svg | Seeti: cooker/svg/pose-02.svg)
- The drop (Fetch: dog/svg/pose-03.svg | Buzz: bee/svg/pose-drop.svg | Scoop: raccoon/art/pose-04.svg | Ocho: octopus/img/v/pose-03.svg | Seeti: cooker/svg/pose-03.svg)
- Heart (Fetch: dog/svg/pose-04.svg | Buzz: bee/svg/pose-heart.svg | Scoop: raccoon/art/pose-05.svg | Ocho: octopus/img/v/pose-04.svg | Seeti: cooker/svg/pose-04.svg)
- Make (Fetch: dog/svg/pose-05.svg | Buzz: bee/svg/pose-make.svg | Scoop: raccoon/art/pose-06.svg | Ocho: octopus/img/v/pose-05.svg | Seeti: cooker/svg/pose-05.svg)
- Hand off (Fetch: dog/svg/pose-06.svg | Buzz: bee/svg/pose-handoff.svg | Scoop: raccoon/art/pose-07.svg | Ocho: octopus/img/v/pose-07.svg | Seeti: cooker/svg/pose-06.svg)
- Caught up (Fetch: dog/svg/pose-07.svg | Buzz: bee/svg/pose-caught.svg | Scoop: raccoon/art/pose-09.svg | Ocho: octopus/img/v/pose-09.svg | Seeti: cooker/svg/pose-08.svg)
- Oops (Fetch: dog/svg/pose-08.svg | Buzz: bee/svg/pose-error.svg | Scoop: raccoon/art/pose-10.svg | Ocho: octopus/img/v/pose-10.svg | Seeti: cooker/svg/pose-09.svg)

| Character | Art | Voice and sound | Still to do |
| --- | --- | --- | --- |
| Scoop | raccoon/art: master, ten poses, eight expressions, modes, four scenes | raccoon/snd: tagline, moment lines, sonic logo, five cues | Clipping, whisper and case board templates, one afternoon |
| Ocho | octopus/img/v: ten poses, celebrate, expressions, modes | octopus/snd: eight lines, six cues | Arms full and knot templates |
| Seeti | cooker/svg: hero, ten poses, nine faces, five modes, scenes | cooker/snd: tagline, lines, sonic logo, five cues | Five templates on the shelf: three whistles, undercooked, whistle rating, order ticket, Sunday stove |
| Fetch | dog/svg: ten poses, eight expressions, five modes | dog/snd: to come, same file names | Voice, sound, templates |
| Buzz | bee/svg: poses from paste to celebrate, eight expressions, model sheet | bee/snd: to come, same file names | Voice, sound, templates |

Shared: sample photos in shared/sample/img, the live product screens in kit/screens.js, and the product's own Make it for sample drafts.

New art follows each character's art pipeline. Look at every result, and regenerate any image with letters in it.

Fetch and Buzz: dog/ and bee/ have no marketing book yet. Their rows here are written from their descriptions in book/WRITERS.md, on the same shared plan. Replace them when dog/marketing.html and bee/marketing.html exist.

### Two checks before anything goes out {#h-10.checks}

User moment: You see a {name} post with a number on it. You should be able to trust it.

Answer: Every post passes a two minute truth check and a two minute craft check, and a line that fails gets fixed or cut.

- Truth: no posting claims, Sample labels, allowed numbers
- Craft: face and one prop, one line, no stray letters
- Four minutes, every time

Character line: Fetch: Sniff it twice before you drop it. | Buzz: Check the honey twice. Then serve it. | Scoop: I check my sources twice. Then I gossip. | Ocho: Two checks. Two arms. Easy. | Seeti: Taste twice. Serve once.

- Do: Sample on every sample frame
- Do: Numbers only from the allowed five, with their words
- Do: Real people only as themselves
- Do: One line on screen, six words or fewer when you can
- Do: The character's face and one prop fill the first frame
- Never: Any line saying the product posts, sends, schedules or measures, unless tagged later
- Never: A rival's name, logo or screenshot
- Never: A partner's store without written OK
- Never: Any letters inside generated art
- Never: Disclaimers or fine print on the creative

Source: the before anything goes out table in the octopus marketing book.

| Truth check | Craft check |
| --- | --- |
| Does any line say the product posts, sends, schedules or measures? Tag it later or cut it | Does the character's face and one prop fill the first frame? |
| Is every example the candle store, with Sample on the frame? | Is there one clear line on screen? |
| Any number? It must be one of the allowed figures, with its words | Run the writing checker on the caption |
| Any person? Real people only as themselves, never implied to be ours | Zoom every image: any letter at all, regenerate it |

## H11 Gifts for partner brands {#h-11}

Free delights we can hand any partner brand in minutes, because the product already makes them. Starting with the brand book.

### The gift shelf {#h-11.shelf}

User moment: You said yes to being a design partner. You wonder what you get beyond a feed of ideas.

Answer: Every partner brand gets a shelf of free gifts the product already makes from their read: six built today, five more as ideas.

- Six gifts built, five ideas marked as ideas
- Each one comes from the read we already did
- One gift a week, each one pulls you back on Monday

Character line: Fetch: I fetch gifts too. Mostly yours. One tennis ball is mine. | Buzz: Every flower I visit leaves a little honey for you. | Scoop: Psst. I kept copies of the good stuff. Here, they are yours. | Ocho: Eight arms, eleven gifts. I am counting the ideas twice. | Seeti: Six specials on the pass. Five more on the back burner.

**On the shelf today**
- Your brand book: Your whole brand on one public page, plus files for any AI tool. [Today]
- Your plan as PDFs: Every step of your plan, drawn as a PDF when you tap. [Today]
- Your store, read: One finding to share, what customers say, rivals, AI search. [Today]
- Rival ad teardowns: The longest running rival ads, taken apart beat by beat. [Today]
- Community finds: Threads asking about your kind of product, with Copy and open. [Today]
- Viral references: Videos far above their usual views, with the hook spelled out. [Today]

**Ideas the same data could make**
- One page AI search report: Idea, not built. Which questions name you, and the biggest gap.
- Review highlights wall: Idea, not built. Your best customer lines, grouped with counts.
- Brand sticker pack: Idea, not built. The brand book sticker sheet as story files.
- Launch day checklist: Idea, not built. Your next big moment, step by step.
- Monthly recap card: Idea, not built. Your month in one card to share.

**Why gifts cost us almost nothing**
1. One read: public pages, about 3 to 4 minutes [Today]
2. Saved once: facts, reviews, ads, pictures [Today]
3. Many gifts: each a new layout of the same data [Today]
4. Weekly: every gift refreshes as the read does [Today]

The gift shelf is part of the [design partner programme, h-6](#h-6). A partner gives us six Mondays of honest notes. We give back a read, weekly picks, and this shelf.

#### The rule for a gift
A gift must pass four checks before it goes on the shelf:
| Check | Why |
| --- | --- |
| Made from data the read already holds | So it costs us almost nothing and needs no new reading |
| Useful to someone on the brand's team who never opens the app | So it travels inside their company |
| Refreshes when the read refreshes | So it gives a reason to come back on Monday |
| Carries our character only as a small sign off | A gift is theirs, never an ad for us |

#### The shelf
| Gift | Status | Page |
| --- | --- | --- |
| Your brand book | Built, 23 Oct | brand-book |
| Your plan as PDFs | Built | plan-pdfs |
| Your store, read | Built, the reveal is Next | the-read |
| Rival ad teardowns | Built | rival-teardowns |
| Community finds with Copy and open | Built, 20 Oct | community-finds |
| Viral video references | Built | viral-references |
| One page AI search report | Idea, not built | ai-report |
| Review highlights wall | Idea, not built | review-wall |
| Brand sticker pack | Idea, not built | sticker-pack |
| Launch day checklist | Idea, not built | launch-checklist |
| Monthly recap card | Idea, not built | monthly-recap |

How and when each one is handed over: the last two pages of this section. Where they sit in the product: [c-6](#c-6). How to say it in a pitch: [i-1](#i-1).

### Your brand book {#h-11.brand-book}

User moment: Your designer keeps asking for your colours and your freelancer keeps getting your tone wrong.

Answer: Every read makes a brand book you can share with anyone and any AI tool: your story, voice, look, products, best work and the words you never say.

- Built 23 Oct, made by every read
- A public page plus five files
- Every draft follows its never say list

Character line: Fetch: I fetched your whole brand. It did not fit in my mouth, so it is a book now. | Buzz: Every petal of your brand, pressed into one book. | Scoop: Between us, I wrote down everything your store says about itself. | Ocho: One arm wrote your brand book. The other seven are still admiring the cover. | Seeti: Your whole brand, one pot. Served as a book.

**The gift at a glance**
- What you get: Your story, voice, words, claims, look, products and price steps, offers, ratings, channels, rivals, your best ads and posts, playbooks, rules for claims, people and AI, and a never say list. As a public page /<slug>/brand plus brand.md, brand.json, llms.txt, brand.pdf and brand-kit.zip. [Today]
- Who on your team loves it: The founder shows it off. The designer and any freelancer brief from it. Whoever uses ChatGPT or Claude pastes llms.txt and gets drafts in your voice.
- Why it costs us almost nothing: The read already gathers every input. The book adds one AI call that reads your pictures, and rebuilds at most once a week.
- When it arrives: Right after the read, on the week one call.
- Version: v1, built 23 Oct. v2 uses it for every post you approve. v3 marks which of your best work did best.
- Why you open it every week: Every read, upload and team edit lands in it, and every draft in Make it follows it. Monday shows what changed.

**What is inside, chapter by chapter**
- The cover
  - A collage of your best work
- Story, voice and words
  - Claims you can make, with rules
  - The never say list, as a rubber stamp
- Look
  - A paint chip fan of your colours
  - A sticker sheet
- Products
  - A product shelf
  - Price steps and offers
- People
  - Trading card personas
  - Ratings and what customers say
- Your best ads and posts
  - Playbooks for each kind of post
- Rivals and channels
- Files to take away
  - brand.md and brand.json
  - llms.txt for AI tools
  - brand.pdf and brand-kit.zip

**Where it lives**
- Screen s2:know: What we know about you, with Share your brand book
- Screen y4:answers: The brand book as the fix for AI search gaps

**The hand over**
- Character: Fetch: I fetched your whole brand and dropped it here. Yours to keep. I only kept the tennis ball. | Buzz: I visited every page of your store and pressed it into a brand book. Your colours, your words. Share it with anyone. | Scoop: Psst. I wrote down everything your store says about itself. It is a brand book now, and it is yours. | Ocho: One arm made you a brand book while seven read. Your colours, your words, yours to share. | Seeti: Your brand book. Fresh off the stove. Share it with anyone.
- You: Can my designer use this without an account?
- A founder at ShopOS: Yes. The public link needs no login. Your designer can take the kit zip, and your AI tools can read llms.txt.

**From gift to a weekly habit**
1. Read: builds the book [Today]
2. Share: designer, agency, AI tools [Today]
3. Tell us something: the book changes with it [Today]
4. Monday: what changed this week [Today]
5. Every draft: follows your never say list [Today]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | Your story, voice, words, claims, look, products and price steps, offers, ratings, channels, rivals, your best ads and posts, playbooks, rules for claims, people and AI, and a never say list. As a public page /<slug>/brand plus brand.md, brand.json, llms.txt, brand.pdf and brand-kit.zip. |
| Who on your team loves it | The founder shows it off. The designer and any freelancer brief from it. Whoever uses ChatGPT or Claude pastes llms.txt and gets drafts in your voice. |
| Why it costs us almost nothing | The read already gathers every input. The book adds one AI call that reads your pictures, and rebuilds at most once a week. |
| When it arrives | Right after the read, on the week one call. |
| Version | v1, built 23 Oct. v2 uses it for every post you approve. v3 marks which of your best work did best. |
| Why you open it every week | Every read, upload and team edit lands in it, and every draft in Make it follows it. Monday shows what changed. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | I fetched your whole brand and dropped it here. Yours to keep. I only kept the tennis ball. |
| Buzz | I visited every page of your store and pressed it into a brand book. Your colours, your words. Share it with anyone. |
| Scoop | Psst. I wrote down everything your store says about itself. It is a brand book now, and it is yours. |
| Ocho | One arm made you a brand book while seven read. Your colours, your words, yours to share. |
| Seeti | Your brand book. Fresh off the stove. Share it with anyone. |
| You | Can my designer use this without an account? |
| A founder at ShopOS | Yes. The public link needs no login. Your designer can take the kit zip, and your AI tools can read llms.txt. |

#### The weekly loop
1. Read: builds the book, today.
2. Share: designer, agency, AI tools, today.
3. Tell us something: the book changes with it, today.
4. Monday: what changed this week, today.
5. Every draft: follows your never say list, today.

#### Where it lives
In the new product the book opens from Share your brand book in What we know about you, and What AI search says links to it as the fix for answer gaps. Source: shared/ia.md, the public brand book row.

#### Files and routes
| File | Route | Who reads it |
| --- | --- | --- |
| Public page | /<slug>/brand | Anyone with the link, no login |
| Markdown | /<slug>/brand.md | AI tools and people who paste |
| Data | /<slug>/brand.json | Other software |
| AI guide | /<slug>/llms.txt | AI tools that look for it |
| PDF | /<slug>/brand.pdf | Print, email, decks |
| Kit | /<slug>/brand-kit.zip | Designers |

#### Privacy
The public view shows the read plus team edits that are not private. Uploads and private edits never leave the team. A closed store has no public book. If the PDF fails, the page says: The PDF couldn't be made just now. Try again in a minute.

#### The design
Chapters are spreads in the brand's own colours. The cover is a collage of their best work. Look is a paint chip fan. Never say is a rubber stamp. People are trading cards. Products sit on a shelf with price steps. A sticker sheet comes with it.

Sources: owner's build notes, 23 Oct; shared/surface-map.md S36 to S38; _research/product-audit.md rows 10 and 54.

Open question: can a brand switch its public page off by itself, or does it ask us. The sources do not say.

### Your plan as PDFs {#h-11.plan-pdfs}

User moment: Your cofounder will not open another app. They will read a PDF on the train.

Answer: Each step of your plan comes as a PDF drawn the moment you tap Download as PDF, with what we found, the plan, week by week and the sources.

- One PDF per step of the plan
- Drawn only when someone taps
- Only your team can open them

Character line: Fetch: A PDF for every step. I carried them gently. Only a little slobber. | Buzz: Each step of the plan, folded neat as a honeycomb. | Scoop: The whole case file, printed. Do not lose it. | Ocho: Printed. Stapled. All eight arms, zero paper cuts. | Seeti: The recipe, printed. Stick it on the fridge.

**The gift at a glance**
- What you get: Every step of your plan as its own PDF: what we found, the plan, week by week, and the sources. In the kit style, sentence case. [Today]
- Who on your team loves it: The founder forwards it to a cofounder or an investor. An agency lead prints it for a kickoff.
- Why it costs us almost nothing: Drawn only when someone taps Download as PDF. A PDF nobody opens costs nothing.
- When it arrives: Week one call, right after you walk through The plan in Your store.
- Version: v1 today. v3 adds how it went to each step.
- Why you open it every week: A step that goes out of date is rewritten with the latest, so the PDF redraws. Monday tells you which ones changed.

**Where it lives**
- Screen y5:plan: The plan, with Download as PDF
- Screen p2:plan: One step, its sources, Download as PDF

**The hand over**
- Character: Fetch: Your plan, one PDF per step. Fetch them whenever you like. They do not run away. | Buzz: Every step of your plan, one PDF each. Pass them round the hive. | Scoop: Between us, your cofounder will read the PDF. Here is one for every step. | Ocho: Nine steps, nine PDFs. I printed them with one arm, no ink spilled. | Seeti: Your plan. One PDF per step. Tap and it cooks.
- You: Can I forward these to my investor?
- A founder at ShopOS: You can download and forward the file. The link itself only opens for your team.

**From gift to a weekly habit**
1. The plan: in Your store [Today]
2. Tap: Download as PDF [Today]
3. Forward: cofounder, agency, investor [Today]
4. Out of date: rewritten with the latest [Today]
5. Monday: see which steps changed [Today]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | Every step of your plan as its own PDF: what we found, the plan, week by week, and the sources. In the kit style, sentence case. |
| Who on your team loves it | The founder forwards it to a cofounder or an investor. An agency lead prints it for a kickoff. |
| Why it costs us almost nothing | Drawn only when someone taps Download as PDF. A PDF nobody opens costs nothing. |
| When it arrives | Week one call, right after you walk through The plan in Your store. |
| Version | v1 today. v3 adds how it went to each step. |
| Why you open it every week | A step that goes out of date is rewritten with the latest, so the PDF redraws. Monday tells you which ones changed. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Your plan, one PDF per step. Fetch them whenever you like. They do not run away. |
| Buzz | Every step of your plan, one PDF each. Pass them round the hive. |
| Scoop | Between us, your cofounder will read the PDF. Here is one for every step. |
| Ocho | Nine steps, nine PDFs. I printed them with one arm, no ink spilled. |
| Seeti | Your plan. One PDF per step. Tap and it cooks. |
| You | Can I forward these to my investor? |
| A founder at ShopOS | You can download and forward the file. The link itself only opens for your team. |

#### The weekly loop
1. The plan: in Your store, today.
2. Tap: Download as PDF, today.
3. Forward: cofounder, agency, investor, today.
4. Out of date: rewritten with the latest, today.
5. Monday: see which steps changed, today.

#### Rules
- A PDF link opened outside the brand's team is refused: These moves are for the brand's team. Sign in or ask them to invite you. The new copy should say plan steps.
- If drawing fails: The PDF could not be drawn just now. Try again in a minute.
- Restyle: the old PDFs used capitals in headings and the old lockup. The new ones use the kit and sentence case. Source: shared/ia.md.

The nine steps on the sample plan screen are kit sample data, not a promise of how many steps a brand gets.

Sources: _research/product-audit.md rows 14 and 60; shared/surface-map.md S34, S35, A81; owner's build notes on PDFs drawn on download.

### Your store, read {#h-11.the-read}

User moment: You just watched it read your store for four minutes. You want to show someone what it found.

Answer: The read itself is a gift: one finding worth sharing, what customers say with counts, what rivals run, what AI search says about you and what changed.

- One finding to share first
- Counts from real reviews, sources on every line
- It keeps reading after day one

Character line: Fetch: I sniffed every page. Here is the best smell. | Buzz: I visited every flower. One of them is a real find. | Scoop: Psst. The first scoop. You will want to tell someone. | Ocho: Eight arms read your store. One found something good. | Seeti: First taste is ready. Try this one.

**The gift at a glance**
- What you get: The reveal with one shareable finding, What customers say with counts, What rivals run, What AI search says and What changed. [Today]
- Who on your team loves it: The founder first. Then whoever answers customers, because the counts come from their reviews.
- Why it costs us almost nothing: The read is the cost we already carry for every partner. Sharing it adds nothing.
- When it arrives: Days 1 to 4 of the partnership, with one finding to look at first.
- Version: v1: v1 read today. The reveal with Share this finding is Next. | v3: v1 read today, reveal Next. v3 adds what your changes did.
- Why you open it every week: Your store keeps being read. What changed fills up, and Monday picks start from it.

**Where it lives**
- Screen f7:reveal: The reveal, Share this finding, Next
- Screen y1:store: Your store
- Screen y2:themes: What customers say

**The hand over**
- Character: Fetch: Read it all. Look at this one first: 41 reviews mention the smell of rain, and your ads never do. | Buzz: Done. Start with this flower: 41 reviews mention the smell of rain, and your ads never do. | Scoop: Psst. Overheard in 41 reviews: the smell of rain. Your ads never mention it. | Ocho: All eight arms done. Look at this first: 41 reviews mention the smell of rain, your ads never do. | Seeti: Three whistles. Taste this first: 41 reviews say rain. Your ads never do.
- You: Can I share just that finding with my team?
- A founder at ShopOS: Yes. Share this finding makes a card with the count and its source. The rest of the read stays with your team.

**From gift to a weekly habit**
1. Read: about 3 to 4 minutes [Today]
2. One finding: shared with the team [Next]
3. What changed: fills up each week [Today]
4. Monday picks: start from the read [Today]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | The reveal with one shareable finding, What customers say with counts, What rivals run, What AI search says and What changed. |
| Who on your team loves it | The founder first. Then whoever answers customers, because the counts come from their reviews. |
| Why it costs us almost nothing | The read is the cost we already carry for every partner. Sharing it adds nothing. |
| When it arrives | Days 1 to 4 of the partnership, with one finding to look at first. |
| Version | v1 read today. The reveal with Share this finding is Next. |
| Why you open it every week | Your store keeps being read. What changed fills up, and Monday picks start from it. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Read it all. Look at this one first: 41 reviews mention the smell of rain, and your ads never do. |
| Buzz | Done. Start with this flower: 41 reviews mention the smell of rain, and your ads never do. |
| Scoop | Psst. Overheard in 41 reviews: the smell of rain. Your ads never mention it. |
| Ocho | All eight arms done. Look at this first: 41 reviews mention the smell of rain, your ads never do. |
| Seeti | Three whistles. Taste this first: 41 reviews say rain. Your ads never do. |
| You | Can I share just that finding with my team? |
| A founder at ShopOS | Yes. Share this finding makes a card with the count and its source. The rest of the read stays with your team. |

#### The weekly loop
1. Read: about 3 to 4 minutes, today.
2. One finding: shared with the team, next.
3. What changed: fills up each week, today.
4. Monday picks: start from the read, today.

The 41 reviews line is the kit's sample brand, Sample candles. Every real hand over quotes the brand's own count with its source.

#### What the read holds
| Part | Screen | Status |
| --- | --- | --- |
| One finding to share | Here's your store | Next |
| What customers say, with counts and mood | What customers say | Today |
| What rivals run, public ad libraries only | What rivals run | Today |
| What AI search says, ChatGPT, Gemini, Perplexity and Claude | What AI search says | Today |
| What changed | Your store | Today |

Sources: kit/screens.js f7 and y1 to y4; book/content/h.js h-6 timeline; shared/ia.md.

### Rival ad teardowns {#h-11.rival-teardowns}

User moment: You keep seeing the same rival ad in your feed and wonder why it works.

Answer: The rival ads that have run the longest, taken apart: the hook, why it works, the beats, and how long it has run.

- Public ad libraries only
- A long run usually means the ad pays for itself
- Each teardown can become your own draft

Character line: Fetch: I dug up the ads next door. Still a bit muddy. | Buzz: I peeked at the next garden. Here is what is blooming. | Scoop: Spotted on public pages. I never name names in the group chat. | Ocho: Two arms took their ad apart. Six arms are drafting yours. | Seeti: Next door's menu. Tasted, not copied.

**The gift at a glance**
- What you get: The longest running ads in your category from public ad libraries, each with hook, why it works, beats, views against their usual, how long it has run, and a link to the ad library. [Today]
- Who on your team loves it: Whoever runs your ads, and the designer who has to beat them.
- Why it costs us almost nothing: The read already pulls public ad libraries. The references sheet only lays out what is saved.
- When it arrives: Week two, on the first short call.
- Version: v1 today. v4 can run your answer inside a budget you set.
- Why you open it every week: The Rival ads story lasts 24 hours and refreshes, and a new long runner turns up as a pick.

**Where it lives**
- Screen y3:rivals: What rivals run
- Screen t3:frame: A story, one fact, one button

**The hand over**
- Character: Fetch: Dug up the rival ads that have run longest. I chewed them apart so you can see the bones. | Buzz: I found the ads in the next garden that bloom the longest. Here is why they work. | Scoop: Between us, two ads next door have run for weeks. Here is how they are built. | Ocho: I pulled apart the longest running rival ads. Hook, beats, why. One arm each. | Seeti: Next door's menu. Two dishes ran for weeks. Here is the recipe.
- You: Can we make our own version?
- A founder at ShopOS: Yes. Open it in Make it and you get a draft in your voice, built from your brand book.

**From gift to a weekly habit**
1. Story: Rival ads, 24 hours [Today]
2. Teardown: hook, beats, why it works [Today]
3. Your version: drafted in Make it [Today]
4. Hand it off: to whoever runs ads [Next]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | The longest running ads in your category from public ad libraries, each with hook, why it works, beats, views against their usual, how long it has run, and a link to the ad library. |
| Who on your team loves it | Whoever runs your ads, and the designer who has to beat them. |
| Why it costs us almost nothing | The read already pulls public ad libraries. The references sheet only lays out what is saved. |
| When it arrives | Week two, on the first short call. |
| Version | v1 today. v4 can run your answer inside a budget you set. |
| Why you open it every week | The Rival ads story lasts 24 hours and refreshes, and a new long runner turns up as a pick. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Dug up the rival ads that have run longest. I chewed them apart so you can see the bones. |
| Buzz | I found the ads in the next garden that bloom the longest. Here is why they work. |
| Scoop | Between us, two ads next door have run for weeks. Here is how they are built. |
| Ocho | I pulled apart the longest running rival ads. Hook, beats, why. One arm each. |
| Seeti | Next door's menu. Two dishes ran for weeks. Here is the recipe. |
| You | Can we make our own version? |
| A founder at ShopOS | Yes. Open it in Make it and you get a draft in your voice, built from your brand book. |

#### The weekly loop
1. Story: Rival ads, 24 hours, today.
2. Teardown: hook, beats, why it works, today.
3. Your version: drafted in Make it, today.
4. Hand it off: to whoever runs ads, next.

#### Rules
- Public ad libraries and public pages only.
- Scoop never names a rival in its own lines. The teardown card shows the advertiser because the ad library does.
- A rival poster is labelled as theirs, never shown as yours.
- Views against their usual is the measure, never a guessed number.

The references sheet already exists with View references, Hook, Why it works, Beats, Views, Their usual, Posted, Running and See it in the Ad Library. Source: shared/surface-map.md A97, kit/screens.js y3.

### Community finds {#h-11.community-finds}

User moment: People are asking about products like yours on Reddit and you never see it in time.

Answer: Threads where people ask about your kind of product, each with a drafted reply and Copy and open, which copies the words and opens the exact thread.

- Reddit, Quora, X, LinkedIn, Pinterest and groups
- The community rule shows before you post
- You post it yourself in v1

Character line: Fetch: People were barking about your kind of product. I brought you the thread. | Buzz: Somebody asked a question in your meadow. I found it. | Scoop: Overheard in a thread. They asked, you can answer. | Ocho: One arm found the thread. One drafted the reply. You press the button. | Seeti: Somebody asked at the next table. Answer is ready.

**The gift at a glance**
- What you get: Live threads asking about your kind of product, each with a drafted reply in your voice, the community rule, and Copy and open. [Today]
- Who on your team loves it: The founder who likes answering customers personally, or a community manager.
- Why it costs us almost nothing: Listening is part of every read. Copy and open is one button that copies the words and opens the exact place.
- When it arrives: Week three.
- Version: v1: you post it yourself. v2 posts with your OK.
- Why you open it every week: New threads arrive with the Monday picks, and an old one gets new replies to answer.

**Where it lives**
- Screen p1:open: A pick, open, with Where to post
- Screen h1:who: Hand it off, Me

**The hand over**
- Character: Fetch: Somebody asked about your kind of product. I wrote a reply. Tap Copy and open and it is your turn to bark. | Buzz: A question is buzzing in a group. Your reply is drafted. Copy and open takes you right there. | Scoop: Psst. Someone asked about your kind of product. Reply drafted. Copy and open, then it is all you. | Ocho: Thread found. Reply inked. Copy and open, and my arm hands you the keyboard. | Seeti: Someone asked. Reply is plated. Copy and open, boss.
- You: Will it post for me?
- A founder at ShopOS: No. It copies your reply and opens the thread. You read the rule, paste and post.

**From gift to a weekly habit**
1. Listening: threads about your kind of product [Today]
2. Reply: drafted in your voice [Today]
3. Copy and open: the exact thread [Today]
4. Monday: new threads with the picks [Today]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | Live threads asking about your kind of product, each with a drafted reply in your voice, the community rule, and Copy and open. |
| Who on your team loves it | The founder who likes answering customers personally, or a community manager. |
| Why it costs us almost nothing | Listening is part of every read. Copy and open is one button that copies the words and opens the exact place. |
| When it arrives | Week three. |
| Version | v1: you post it yourself. v2 posts with your OK. |
| Why you open it every week | New threads arrive with the Monday picks, and an old one gets new replies to answer. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Somebody asked about your kind of product. I wrote a reply. Tap Copy and open and it is your turn to bark. |
| Buzz | A question is buzzing in a group. Your reply is drafted. Copy and open takes you right there. |
| Scoop | Psst. Someone asked about your kind of product. Reply drafted. Copy and open, then it is all you. |
| Ocho | Thread found. Reply inked. Copy and open, and my arm hands you the keyboard. |
| Seeti | Someone asked. Reply is plated. Copy and open, boss. |
| You | Will it post for me? |
| A founder at ShopOS | No. It copies your reply and opens the thread. You read the rule, paste and post. |

#### The weekly loop
1. Listening: threads about your kind of product, today.
2. Reply: drafted in your voice, today.
3. Copy and open: the exact thread, today.
4. Monday: new threads with the picks, today.

#### Where it opens
| Place | How |
| --- | --- |
| New Reddit post, X, LinkedIn, Pinterest | Opens with the words filled in |
| Reddit replies, Quora, Facebook groups | Opens the exact page, you paste |

The community rule shows in the toast. Paid posts marked as ads and repeats are dropped from listening.

Sources: owner's build notes, Copy and open, 20 Oct; shared/surface-map.md P94; shared/ia.md, Copy and open becomes Hand it off, Me.

### Viral video references {#h-11.viral-references}

User moment: You want to film a reel this week and have no idea what is working in your category.

Answer: Videos in your category running at 10 times their usual views or more, with the hook, the beats and why it works, as references for your own version.

- Measured against each account's own usual
- Hook, beats and why, written down
- Your version starts in Make it

Character line: Fetch: This video got way more pats than usual. I fetched it for you. | Buzz: This one has ten times its usual buzz. Here is why. | Scoop: Psst. This video is getting talked about far more than usual. | Ocho: Ten times its usual views. I watched it with all eight eyes. I have two. | Seeti: This one boiled over. Ten times its usual.

**The gift at a glance**
- What you get: Videos far above their usual views, each with hook, beats, why it works, views against their usual, and the clip saved as a reference. [Today]
- Who on your team loves it: Whoever films your reels, and any creator you brief.
- Why it costs us almost nothing: The finder runs on what the read already pulls. The references sheet shows saved files.
- When it arrives: Week four.
- Version: v1: references and a written breakdown. Making a finished video is a paid make, always with the price shown first.
- Why you open it every week: When something breaks out, it arrives with the picks, so Monday is when you find out.

**Where it lives**
- Screen m1:studio: Make it, where a reference becomes your draft
- Screen m3:confirm: A paid make always shows its price first

**The hand over**
- Character: Fetch: Fetched a video doing ten times its usual. Here is the hook. Want to film your own? | Buzz: This video is buzzing at ten times its usual. The hook is in the first line. Your version is one tap away. | Scoop: Between us, this video is doing ten times its usual. I wrote down the hook and the beats. | Ocho: Ten times its usual views. Hook, beats and why, inked. Your version is next. | Seeti: Ten times its usual. Hook, beats, why. Your batch is next.
- You: Does making our version cost anything?
- A founder at ShopOS: The references and the written breakdown are free. A finished video is a paid make, and you see the price before you say yes.

**From gift to a weekly habit**
1. Finder: 10 times their usual or more [Today]
2. References: hook, beats, why [Today]
3. Your version: drafted in Make it [Today]
4. Monday: new break outs with the picks [Today]

| Question | Answer |
| --- | --- |
| Status | Built, live today |
| What you get | Videos far above their usual views, each with hook, beats, why it works, views against their usual, and the clip saved as a reference. |
| Who on your team loves it | Whoever films your reels, and any creator you brief. |
| Why it costs us almost nothing | The finder runs on what the read already pulls. The references sheet shows saved files. |
| When it arrives | Week four. |
| Version | v1: references and a written breakdown. Making a finished video is a paid make, always with the price shown first. |
| Why you open it every week | When something breaks out, it arrives with the picks, so Monday is when you find out. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Fetched a video doing ten times its usual. Here is the hook. Want to film your own? |
| Buzz | This video is buzzing at ten times its usual. The hook is in the first line. Your version is one tap away. |
| Scoop | Between us, this video is doing ten times its usual. I wrote down the hook and the beats. |
| Ocho | Ten times its usual views. Hook, beats and why, inked. Your version is next. |
| Seeti | Ten times its usual. Hook, beats, why. Your batch is next. |
| You | Does making our version cost anything? |
| A founder at ShopOS | The references and the written breakdown are free. A finished video is a paid make, and you see the price before you say yes. |

#### The weekly loop
1. Finder: 10 times their usual or more, today.
2. References: hook, beats, why, today.
3. Your version: drafted in Make it, today.
4. Monday: new break outs with the picks, today.

#### Rules
- A reference is someone else's video. It is labelled as theirs and never shown as yours.
- The written breakdown is part of the gift. A paid make is never part of a gift and never promised in a hand over.
- The 10 times rule is from the viral finder in the owner's build notes. A smaller account can qualify, because it is measured against that account's own usual.

Sources: owner's build notes, viral finder; shared/surface-map.md A97; kit/screens.js m1 and m3.

### One page AI search report {#h-11.ai-report}

User moment: Your investor asked whether ChatGPT recommends you. You want one page to answer.

Answer: Idea, not built. One page from the weekly AI check: which questions name you, which name nobody, the biggest gap and the fix.

- Idea, not built
- Four AI tools, the questions your customers ask
- The brand book is the fix it points to

Character line: Fetch: I asked the chatbots about you. Wrote the answers on one page. | Buzz: I asked four flowers about you. One page of what they said. | Scoop: Psst. I asked the chatbots about you. One page, all the gossip. | Ocho: One arm holds the phone, one holds the page. AI search, summed up. | Seeti: Four tools tasted. One page. Here is the verdict.

**The idea at a glance**
- Idea, not built: Nothing here exists yet. Every input it needs is already in the read.
- What you get: One printable page: answers that name you, gaps, the biggest gap and Share your brand book as the fix.
- Who on your team loves it: The founder for investors, and whoever writes your website.
- Why it costs us almost nothing: The AI check already runs weekly. The page is a new layout of its answers.
- When it arrives: Week five.
- Version: Could ship in v1, it only reads. v3 shows the change since the last page.
- Why you open it every week: The check reruns each week, so the page shows whether you are named more often.

**Where its data already lives**
- Screen y4:answers: What AI search says
- Screen s2:know: Share your brand book

**The hand over**
- Character: Fetch: Asked four AI tools the questions your customers ask. Your page is here. The biggest gap is circled. | Buzz: I asked four AI tools about you. One page, biggest gap on top. | Scoop: Between us, the chatbots skip you on a few questions. One page, gaps first. | Ocho: Four tools, one page, the biggest gap circled with my pink arm. | Seeti: Four tools tasted you. One page. Biggest gap first.
- You: How do we close the gap?
- A founder at ShopOS: Share your brand book. AI tools can read it, and the page lists the questions to write for.

**From gift to a weekly habit**
1. Weekly check: four AI tools [Today]
2. One page: gaps first [Idea]
3. Fix: share the brand book [Today]
4. Next week: see if you are named more [Idea]

| Question | Answer |
| --- | --- |
| Status | Idea, not built. It uses only data the read already holds, and promises no spend |
| What you get | One printable page: answers that name you, gaps, the biggest gap and Share your brand book as the fix. |
| Who on your team loves it | The founder for investors, and whoever writes your website. |
| Why it costs us almost nothing | The AI check already runs weekly. The page is a new layout of its answers. |
| When it arrives | Week five. |
| Version | Could ship in v1, it only reads. v3 shows the change since the last page. |
| Why you open it every week | The check reruns each week, so the page shows whether you are named more often. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Asked four AI tools the questions your customers ask. Your page is here. The biggest gap is circled. |
| Buzz | I asked four AI tools about you. One page, biggest gap on top. |
| Scoop | Between us, the chatbots skip you on a few questions. One page, gaps first. |
| Ocho | Four tools, one page, the biggest gap circled with my pink arm. |
| Seeti | Four tools tasted you. One page. Biggest gap first. |
| You | How do we close the gap? |
| A founder at ShopOS | Share your brand book. AI tools can read it, and the page lists the questions to write for. |

#### The weekly loop
1. Weekly check: four AI tools, today.
2. One page: gaps first, idea.
3. Fix: share the brand book, today.
4. Next week: see if you are named more, idea.

Inputs that exist today: the questions sourced from what customers search, the weekly check across ChatGPT, Gemini, Perplexity and Claude, the score, the biggest gap callout and the brand book fix.

To decide before building: whether the page is a PDF drawn on download, like plan PDFs, or a public page like the brand book.

The 12 of 32 figure in the kit is one example brand, never a benchmark. Sources: kit/screens.js y4, owner's build notes 19 Oct on AI answers.

### Review highlights wall {#h-11.review-wall}

User moment: Your support lead reads angry emails all day and never sees the nice ones.

Answer: Idea, not built. A printable wall of your best customer lines, grouped by theme with counts, from public reviews only.

- Idea, not built
- Themes and counts you already have
- Public reviews only, never private messages

Character line: Fetch: All the nice things people said, pinned up. My tail is wagging. | Buzz: Every sweet word, pinned in one comb. | Scoop: Overheard, the nice bits only. Pin it up. | Ocho: Sticky notes everywhere. Eight arms to hold them up. | Seeti: Compliments to the chef. Pinned on the wall.

**The idea at a glance**
- Idea, not built: Nothing here exists yet. Every input it needs is already in the read.
- What you get: A wall of sticky notes with your best customer lines, grouped by theme with counts, as a page and a printable PDF.
- Who on your team loves it: The whole team. Support pins it up, and the designer pulls lines for ads.
- Why it costs us almost nothing: Themes, counts and quotes already sit in What customers say. The wall is a layout.
- When it arrives: Week six, at the keep going call.
- Version: Could ship in v1.
- Why you open it every week: New reviews add new notes, so there is something new each Monday.

**Where its data already lives**
- Screen y2:themes: What customers say, themes with counts

**The hand over**
- Character: Fetch: I fetched every nice thing your customers said and pinned it up. Good dogs, all of them. | Buzz: Your customers left a lot of honey. Here it is on one wall. | Scoop: Psst. I clipped the nicest things people said about you. One wall. | Ocho: Sticky notes, one per happy customer line. I ran out of arms, not notes. | Seeti: Compliments, one wall. Pin it up.
- You: Can we use these lines in ads?
- A founder at ShopOS: Each note links to its public review. Check your rules for testimonials in the brand book before you use one.

**From gift to a weekly habit**
1. Reviews: read each week [Today]
2. Themes: with counts [Today]
3. Wall: new notes each Monday [Idea]
4. Ads: lines become drafts [Today]

| Question | Answer |
| --- | --- |
| Status | Idea, not built. It uses only data the read already holds, and promises no spend |
| What you get | A wall of sticky notes with your best customer lines, grouped by theme with counts, as a page and a printable PDF. |
| Who on your team loves it | The whole team. Support pins it up, and the designer pulls lines for ads. |
| Why it costs us almost nothing | Themes, counts and quotes already sit in What customers say. The wall is a layout. |
| When it arrives | Week six, at the keep going call. |
| Version | Could ship in v1. |
| Why you open it every week | New reviews add new notes, so there is something new each Monday. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | I fetched every nice thing your customers said and pinned it up. Good dogs, all of them. |
| Buzz | Your customers left a lot of honey. Here it is on one wall. |
| Scoop | Psst. I clipped the nicest things people said about you. One wall. |
| Ocho | Sticky notes, one per happy customer line. I ran out of arms, not notes. |
| Seeti | Compliments, one wall. Pin it up. |
| You | Can we use these lines in ads? |
| A founder at ShopOS | Each note links to its public review. Check your rules for testimonials in the brand book before you use one. |

#### The weekly loop
1. Reviews: read each week, today.
2. Themes: with counts, today.
3. Wall: new notes each Monday, idea.
4. Ads: lines become drafts, today.

Rules: quote only public posts, never a private message. Each note shows its source. Rules for testimonials come from the brand book's rules for people. Source: kit/screens.js y2, which says counts are mentions and quotes come only from public posts.

### Brand sticker pack {#h-11.sticker-pack}

User moment: Your social lead wants on brand stickers for stories and has no time to draw them.

Answer: Idea, not built. The sticker sheet from your brand book, cut into files for Instagram stories and WhatsApp, in your own palette.

- Idea, not built
- The sticker sheet is already drawn
- Your colours, your words, your never say list

Character line: Fetch: Stickers in your colours. I tried to lick one. | Buzz: Little stickers in your colours, sweet as honey. | Scoop: Psst. I peeled the stickers off your brand book for you. | Ocho: Eight arms, eight stickers stuck. Mostly on me. | Seeti: Stickers, your colours. Garnish for your stories.

**The idea at a glance**
- Idea, not built: Nothing here exists yet. Every input it needs is already in the read.
- What you get: Story and chat stickers from your brand book sticker sheet: your palette, your logo and your own short words.
- Who on your team loves it: Your social lead, and anyone who posts stories.
- Why it costs us almost nothing: The brand book already draws the sticker sheet from your look. The pack is the same art saved as files.
- When it arrives: Week six, with the review wall.
- Version: Could ship in v1.
- Why you open it every week: Story picks in Make it can use them, and new words on your book make new stickers.

**Where its data already lives**
- Screen s2:know: What we know about you, where the brand book opens
- Screen m1:studio: Make it, where stickers would go into a story

**The hand over**
- Character: Fetch: Made stickers in your colours. Stick them on your stories. Not on me. | Buzz: Your colours, cut into stickers. Sweet on any story. | Scoop: Between us, I already stuck one on my notepad. | Ocho: Stickers in your palette. Two are still stuck to my arm. | Seeti: Your colours, stickers ready. Garnish anything.
- You: Will these match our brand rules?
- A founder at ShopOS: They use only your palette, your logo and words from your brand book. Nothing from the never say list.

**From gift to a weekly habit**
1. Brand book: sticker sheet drawn [Today]
2. Pack: files for stories and chats [Idea]
3. Stories: used in Make it [Idea]
4. Book changes: new stickers [Idea]

| Question | Answer |
| --- | --- |
| Status | Idea, not built. It uses only data the read already holds, and promises no spend |
| What you get | Story and chat stickers from your brand book sticker sheet: your palette, your logo and your own short words. |
| Who on your team loves it | Your social lead, and anyone who posts stories. |
| Why it costs us almost nothing | The brand book already draws the sticker sheet from your look. The pack is the same art saved as files. |
| When it arrives | Week six, with the review wall. |
| Version | Could ship in v1. |
| Why you open it every week | Story picks in Make it can use them, and new words on your book make new stickers. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Made stickers in your colours. Stick them on your stories. Not on me. |
| Buzz | Your colours, cut into stickers. Sweet on any story. |
| Scoop | Between us, I already stuck one on my notepad. |
| Ocho | Stickers in your palette. Two are still stuck to my arm. |
| Seeti | Your colours, stickers ready. Garnish anything. |
| You | Will these match our brand rules? |
| A founder at ShopOS | They use only your palette, your logo and words from your brand book. Nothing from the never say list. |

#### The weekly loop
1. Brand book: sticker sheet drawn, today.
2. Pack: files for stories and chats, idea.
3. Stories: used in Make it, idea.
4. Book changes: new stickers, idea.

Inputs that exist today: the brand book look chapter with the palette and a sticker sheet. The idea adds only exported files. Old logo stickers in the gutter of today's app are a different thing and are not part of v0. Source: owner's build notes 23 Oct; shared/surface-map.md A49.

### Launch day checklist {#h-11.launch-checklist}

User moment: Your festival sale is in three weeks and the plan lives in your head.

Answer: Idea, not built. A dated checklist for your next big moment: page facts, the words, the claims rules, and which picks to make first.

- Idea, not built
- Starts when you name your next big moment
- Built from your plan and your brand book

Character line: Fetch: A list for the big day. I will fetch each thing in order. | Buzz: A list for the big bloom. One flower at a time. | Scoop: Psst. I made you a list before the big day. Shh. | Ocho: A checklist. One arm per item. I have enough. | Seeti: Big day. Prep list. Every station ready.

**The idea at a glance**
- Idea, not built: Nothing here exists yet. Every input it needs is already in the read.
- What you get: A dated checklist for a launch or sale: product page facts to fix, the words, the rules for claims, and which picks to make first.
- Who on your team loves it: The founder and whoever runs operations.
- Why it costs us almost nothing: The plan, the page facts and the claims rules already exist. Checklist files already exist for some picks.
- When it arrives: When you name your next big moment, one of the three questions.
- Version: Could ship in v1. The three questions are Next.
- Why you open it every week: Each week before the date, items tick off and the picks lean toward the launch.

**Where its data already lives**
- Screen y5:plan: The plan, grouped by goal
- Screen h3:brief: A brief page, the shape a checklist would take

**The hand over**
- Character: Fetch: Your big day is coming. Here is the list. I will drop one item at your feet each week. | Buzz: Big bloom ahead. Here is your list, one flower a week. | Scoop: Between us, your big day needs a list. Here it is, in order. | Ocho: Launch list, dated. One arm on each item until the day. | Seeti: Big day ahead. Prep list on the pass. One station a week.
- You: Can my agency see it?
- A founder at ShopOS: Yes. Hand it off like a brief, and they get a read only page with no login.

**From gift to a weekly habit**
1. Big moment: you name it [Next]
2. Checklist: dated, from your plan [Idea]
3. Each Monday: items tick off [Idea]
4. Picks: lean to the launch [Today]

| Question | Answer |
| --- | --- |
| Status | Idea, not built. It uses only data the read already holds, and promises no spend |
| What you get | A dated checklist for a launch or sale: product page facts to fix, the words, the rules for claims, and which picks to make first. |
| Who on your team loves it | The founder and whoever runs operations. |
| Why it costs us almost nothing | The plan, the page facts and the claims rules already exist. Checklist files already exist for some picks. |
| When it arrives | When you name your next big moment, one of the three questions. |
| Version | Could ship in v1. The three questions are Next. |
| Why you open it every week | Each week before the date, items tick off and the picks lean toward the launch. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Your big day is coming. Here is the list. I will drop one item at your feet each week. |
| Buzz | Big bloom ahead. Here is your list, one flower a week. |
| Scoop | Between us, your big day needs a list. Here it is, in order. |
| Ocho | Launch list, dated. One arm on each item until the day. |
| Seeti | Big day ahead. Prep list on the pass. One station a week. |
| You | Can my agency see it? |
| A founder at ShopOS | Yes. Hand it off like a brief, and they get a read only page with no login. |

#### The weekly loop
1. Big moment: you name it, next.
2. Checklist: dated, from your plan, idea.
3. Each Monday: items tick off, idea.
4. Picks: lean to the launch, today.

Inputs that exist today: The plan, product page facts from the read, the brand book rules for claims, and file packs such as Get the checklist on some picks. Missing: the next big moment question, which is Next. Sources: kit/screens.js y5 and h3; shared/surface-map.md A99; onboarding three questions in d-5.

### Monthly recap card {#h-11.monthly-recap}

User moment: It is the end of the month. You want to show your team what marketing actually got done.

Answer: Idea, not built. One card at month end: picks hearted, things made, briefs handed off and what changed in your store.

- Idea, not built
- The Your week story already counts it
- v3 adds how it went

Character line: Fetch: A whole month of fetching on one card. Good boy, me. | Buzz: A month of honey, counted in one card. | Scoop: Psst. Your month, on one card. Very shareable gossip. | Ocho: One month, one card, eight arms tired. | Seeti: Month done. One card. Kitchen's clean.

**The idea at a glance**
- Idea, not built: Nothing here exists yet. Every input it needs is already in the read.
- What you get: v1: A card at month end: picks hearted, things made, briefs handed off and where each is now, plus what changed in your store. | v3: A card at month end: what you made and handed off, what changed, and how each live pick went.
- Who on your team loves it: The founder shares it with the team, a cofounder or investors.
- Why it costs us almost nothing: The Your week story already counts these every Monday. The card adds four weeks together.
- When it arrives: End of each month, first at week four.
- Version: v1: Could ship in v1 with counts only. | v3: v1 counts. v3 adds how it went for each live pick.
- Why you open it every week: The card fills up week by week, so Monday shows how far the month has got.

**Where its data already lives**
- Screen t1:monday: Today, with the Your week story
- Screen w1:board: Work, where the counts come from

**The hand over**
- Character: Fetch: Here is your month on one card. Look how many things we fetched together. | Buzz: Your month in one card. A busy hive. | Scoop: Between us, you got a lot done this month. Here is the card. | Ocho: Your month, one card. I counted on all eight arms. | Seeti: Month on one plate. Share it.
- You: Does it show sales?
- A founder at ShopOS: v1: Not yet. It counts what you made and handed off. Results come in a later version. | v3: It shows how each live pick went, from your connected accounts.

**From gift to a weekly habit**
1. Monday: Your week story [Today]
2. Four Mondays: added up [Idea]
3. Month end: one card to share [Idea]
4. Next month: starts on Monday [Today]

| Question | Answer |
| --- | --- |
| Status | Idea, not built. It uses only data the read already holds, and promises no spend |
| What you get | A card at month end: picks hearted, things made, briefs handed off and where each is now, plus what changed in your store. |
| Who on your team loves it | The founder shares it with the team, a cofounder or investors. |
| Why it costs us almost nothing | The Your week story already counts these every Monday. The card adds four weeks together. |
| When it arrives | End of each month, first at week four. |
| Version | Could ship in v1 with counts only. |
| Why you open it every week | The card fills up week by week, so Monday shows how far the month has got. |

#### The hand over, word for word
| Who | Line |
| --- | --- |
| Fetch | Here is your month on one card. Look how many things we fetched together. |
| Buzz | Your month in one card. A busy hive. |
| Scoop | Between us, you got a lot done this month. Here is the card. |
| Ocho | Your month, one card. I counted on all eight arms. |
| Seeti | Month on one plate. Share it. |
| You | Does it show sales? |
| A founder at ShopOS, v1 | Not yet. It counts what you made and handed off. Results come in a later version. |
| A founder at ShopOS, v3 | It shows how each live pick went, from your connected accounts. |

#### The weekly loop
1. Monday: Your week story, today.
2. Four Mondays: added up, idea.
3. Month end: one card to share, idea.
4. Next month: starts on Monday, today.

Inputs that exist today: the recap slides Since you were last here, With the ShopOS team, New in your feed, and the brief statuses Received, In progress, Needs something from you, Delivered. Source: shared/surface-map.md S41 and L18; shared/ia.md, the recap becomes the Your week story.

### When each gift arrives {#h-11.when}

User moment: You are six weeks into the partnership. Something new should show up each week.

Answer: Gifts follow the six weeks of the design partner programme, one gift a week, never two, each on a call or in the Friday founder note.

- The read and brand book come first
- One gift a week so each gets opened
- Ideas slot in only once built

Character line: Fetch: One gift a walk. Never two. My mouth is only so big. | Buzz: One flower a week. The hive likes a rhythm. | Scoop: One scoop a week. Gossip is best in small bites. | Ocho: One gift per week. I tried two. Knot. | Seeti: One special a week. Never two on one plate.

**The partner journey, gift by gift**
- Days 1 to 4: Your store, read. One finding to look at first.
- Week 1: Brand book and plan PDFs. On the first call, after the walk through. (the turn)
- Week 2: Rival ad teardowns. On the first short call.
- Week 3: Community finds. In the Friday founder note.
- Week 4: Viral references. Plus the monthly recap card, once built.
- Week 5: AI search report. Idea, not built. Until then, a walk through What AI search says.
- Week 6: Review wall and stickers. Ideas, not built. Handed over at the keep going call. (the turn)

**Any week, a big moment**
1. You name a launch or sale: one of the three questions [Next]
2. Launch day checklist: idea, not built
3. Each Monday: the list ticks and picks lean to it

#### The calendar
| When | Gift | Where it is handed over | Status |
| --- | --- | --- | --- |
| Days 1 to 4 | Your store, read | The read ready link with one finding | Built |
| Week 1 | Your brand book, your plan as PDFs | First call, 30 minutes | Built |
| Week 2 | Rival ad teardowns | Short call | Built |
| Week 3 | Community finds | Friday founder note | Built |
| Week 4 | Viral references, monthly recap card | Friday founder note | Built, recap is an idea |
| Week 5 | AI search report | Short call | Idea |
| Week 6 | Review wall, sticker pack | Keep going call | Ideas |
| Any week | Launch day checklist | When a big moment is named | Idea |

Until an idea is built, its week falls back to walking through the screen where its data lives. A gift that does not exist is never promised on a call.

The weeks follow the timeline in [h-6](#h-6): same day reply, the read within a few days, a week one call, Monday picks and short calls in weeks two to five, keep going at week six.

### How we hand a gift over {#h-11.how}

User moment: You got a gift. You want it to feel like a present, not a sales trick.

Answer: A founder hands it over by name, {name} adds one line, and the gift stays the brand's to keep and share, with no strings and no price on it.

- A person hands it over, {name} signs off
- No price, no upsell, no paid make inside
- Theirs to keep, even if they stop

Character line: Fetch: I drop it at your feet and step back. No tricks. | Buzz: I leave the honey and fly off. No sting attached. | Scoop: I hand it over and say nothing else. Very unlike me. | Ocho: One arm hands it over. The other seven stay politely behind my back. | Seeti: Plate down. No bill. Enjoy.

**The hand over, every time**
1. Say what it is: One line: what it is and who on their team it helps. [Today]
2. Say what it is made from: Their read, their reviews, public pages. Never a mystery. [Today]
3. {name} adds one line: In its voice, as a sign off. [Today]
4. Point to Monday: Say how the gift changes when the read does. [Today]

- Do: Hand it over in person on a call or in the founder note
- Do: Name the teammate it helps
- Do: Say what it is made from
- Do: Keep private edits and uploads private
- Never: Put a price or a discount on a gift
- Never: Bundle a paid make into a gift
- Never: Show one partner's gift to another partner or in our posts without a yes
- Never: Promise an idea that is not built

**A Friday founder note with a gift**
- A founder at ShopOS: This week's gift: your community finds. Three threads where people ask about your kind of product, replies drafted. Your community lead will like these.
- Character: Fetch: Fetched three threads. Copy and open is all you need. Back Monday. | Buzz: Three questions buzzing. Replies ready. See you Monday. | Scoop: Psst. Three threads, three replies. Back Monday with more. | Ocho: Three threads, three replies inked. Arms free till Monday. | Seeti: Three threads. Replies plated. Monday whistles next.

#### Rules
| Rule | Why |
| --- | --- |
| A person hands it over | h-6 says partner messages come from a founder. The character adds one line |
| No price, no discount | A gift sells relief and usefulness, never money off |
| No paid make inside a gift | Paid makes always show a price first and need a yes in Make it |
| Theirs to keep | The files stay with the brand even if they leave the programme |
| Never shown to others without a yes | Partners give permission to learn from their feed, never to share their data or name |
| Ideas are never promised | Until built, the week walks through the screen instead |

#### What we would count
The team counts per gift: handed over, opened, shared with a teammate, and whether the brand opened Monday picks the week after. These names are proposals. Part J owns the real metric names.

Open questions: whether gifts continue for paying brands after the partnership; whether a brand can switch a public page off by itself.

# I. Selling and trust

What we say to buyers, partners and investors.

## I1 One pager and pitch {#i-1}

The product on one page, and in five slides.

### The gift line in the pitch {#i-1.gift-line}

User moment: A founder across the table asks what they get for being an early partner.

Answer: Say it plainly: every partner gets a brand book from their first read, then one free gift a week for six weeks.

- Lead with the brand book, it is built
- Name the teammate each gift helps
- Never pitch an idea as built

Character line: Fetch: Every partner gets a present. I carry it to the door. | Buzz: Every partner gets honey before they buy the hive. | Scoop: Psst. Partners get the brand book first. Tell everyone. | Ocho: Every partner gets a gift a week. I have arms for that. | Seeti: First read, first gift. Then one special a week.

**One slide, three lines**
- Day one: Your brand book: a public page and files any AI tool can read. [Today]
- Every week: One gift: plan PDFs, rival teardowns, community finds, viral references. [Today]
- Free, and yours: Made from your read. No price, no strings, yours to keep. [Today]

**In the room**
- You: What do we get for being early?
- A founder at ShopOS: Your read, picks every week, and from day one a brand book your designer and your AI tools can use. Then one gift a week for six weeks.

Use the line only with what is built: the brand book, plan PDFs, the read, rival teardowns, community finds and viral references. The five ideas in [h-11](#h-11) are never on a slide until they ship.

The programme it belongs to is in [h-6](#h-6). Proof for an investor: the brand book is made by every read without extra reading, so the gift scales with partners at almost no cost. The exact cost per brand is not in the sources yet; ask the team before quoting a number.

### The one pager {#i-1.one-pager}

User moment: You have one minute between packing orders and want to know if this is worth a look.

Answer: Paste your store link and get this week's marketing ideas, already drafted, then pick the good ones and hand them off.

- For small online stores where the founder runs marketing
- Every idea starts from a fact in your store, with its source
- You or your people ship it; it never posts in v1

Character line: Fetch: One page. Small enough to carry in my mouth. | Buzz: One page, all the pollen, no wasted wingbeats. | Scoop: Psst. The whole story fits on one page. I checked twice. | Ocho: One page. I needed only one arm for it, which has never happened. | Seeti: One page. One whistle. Read it before it goes cold.

**The page, block by block**
- Who it is for: Small online stores where the founder is also the marketing team.
- The Monday question: What should I post, run, fix or send this week, and who makes it?
- What it does: Reads your store in about 3 to 4 minutes, then ranks drafted ideas, each with a source. [Today]
- What you do: Heart what fits, Not for me what does not, Make it, then Hand it off. [Today]
- Who ships it: Your team, your agency or freelancer, or the ShopOS team. [Today]
- Where it goes next: Posts and schedules with your yes, then shows what worked, then runs ads inside your rules. [Later] [v2]
- The stage we are in: Design partnership. Real brands use it with the founders now, and reads are capped.

**Three screens that tell the story**
- Screen f1: Paste your store
- Screen t1: Today, with the picks
- Screen h3: The brief page for whoever ships it

The one pager, ready to lay out. A dashed wordmark slot sits where the product name goes.

Headline. Your store's marketing team, in one feed.

Under it. Paste your store link. Get this week's marketing ideas, already drafted. Pick the good ones and hand them off.

| Block | Words on the page | Status |
| --- | --- | --- |
| How it reads | Seven sources: your store, brand, catalog, reviews, ads, site and AI answers. About 3 to 4 minutes. | Today |
| What you get | Ranked ideas, each with a source line, a plan and often a first draft. Need your yes on top for calls only you can make. | Today |
| Making | Pictures, carousels, six second videos with voiceover, voice clips and text, from your own product photos. Every version kept. | Today |
| Handing off | A numbered brief and a read only link for your team. The ShopOS team gets your brief when you choose them. | Today |
| Five picks a week | Five fresh picks every Monday, a week you can finish. | Next |
| Doing, then measuring | Posting with your yes, then what worked, then ads inside your rules and budget. | Later |

One sample finding for the page, in a frame with a visible Sample label: at the sample candle store, 41 reviews mention the smell of rain and the product page never says rain. With a real prospect, swap in one finding from their own read, with its source.

Never on the one pager: the old name, a price, a design partner's name, a rival's name, a result or a lift, or anything that says it posts today. See i-7 for the safe wording.

Sources: BRIEF.md section 2, shared/product-model.md sections 0 and 1, _docs/export/product/overview.md.

### The pitch in five slides {#i-1.five-slides}

User moment: You have seen a dozen marketing tools this month. You want one that starts from your store.

Answer: One idea per slide, the Monday question, the paste, the picks, the hand off, the road ahead, then the product live.

- One picture per slide, the product beats any chart
- Use their store's finding when you have it
- Close by offering a design partner read

Character line: Fetch: Five slides, five throws. I bring every one back. | Buzz: Five slides, one per flower. Then we fly to the live demo. | Scoop: Slide three is where they lean in. I watch faces for a living. | Ocho: Five slides, three arms free. I will hold the clicker. | Seeti: Five slides. Slide five is the whistle. Do not skip to it.

1. The Monday question: A founder who is the whole marketing team, deciding what to do this week.
2. Paste your store: One box. About 3 to 4 minutes. Seven sources tick by. [Today]
3. This week's picks: Each idea is one fact with its source and a draft. Sample: 41 reviews mention the smell of rain. [Today]
4. Make it, hand it off: Every version kept. One numbered brief for whoever ships it. [Today]
5. From drafting to doing: Posting with your yes, then what worked, then ads inside your rules. [Later]

**The picture on slides 2 to 4**
- Screen f4: Slide 2, the read
- Screen p1: Slide 3, a pick, open
- Screen m1: Slide 4, Make it

| Slide | On the slide | What you say | Never say |
| --- | --- | --- | --- |
| 1 The Monday question | A founder's week, one line: What should I do this week, and who makes it? | You are the marketing team as well as everything else. | Any invented stat about founders' hours |
| 2 Paste your store | The read screen with its seven sources | Paste the address, sign in with your work email, watch it read for about 3 to 4 minutes. | That no sign in is needed |
| 3 This week's picks | One open pick with Why this and its source chip | Every idea starts from a fact about your store. The number has its source next to it. | A number without a source |
| 4 Make it, hand it off | Make it with versions, then the brief page | Make a new version until it is right. Then hand it to your team, your freelancer or the ShopOS team. | That it posts or sends for you |
| 5 The road | The four versions as four steps | v1 drafts and hands off. v2 posts and schedules with your yes. v3 shows what worked. v4 runs ads inside a budget you set. | Dates for v2 to v4 |

The ask after slide 5. Show a demo store live, see i-2, then offer a design partner read of their own store. Reads are capped, so the offer is real and limited; never invent a countdown.

Today against tomorrow on slide 4. Today the hand off is two routes: copy a numbered brief for your own people, nothing sent, or the ShopOS team gets your brief by email. One Hand it off button with Who is shipping this is Next.

Sources: BRIEF.md sections 2, 3.4 and 3.6, shared/product-model.md section 0, book/WRITERS.md versions.

### Say it out loud {#i-1.say-it}

User moment: A friend at a dinner asks what you do. Slides are not an option.

Answer: Start from their store, not from AI: paste your link, get the week drafted, hand it off.

- Twenty seconds, then let them ask
- Name a real kind of idea, not a feature
- Stop before you list everything

Character line: Fetch: Short version: I fetch, you pick. Long version: same, with more tail. | Buzz: Twenty seconds of buzz, then let them ask for honey. | Scoop: Say less. Curious people ask more, I would know. | Ocho: Twenty seconds. I will try not to wave all eight arms. | Seeti: Twenty seconds. If it takes longer, it is overcooked.

- A friend: So what are you building?
- You: Small online stores never know what to post or run this week. You paste your store link, it reads your store, reviews and ads, and gives you this week's ideas already drafted.
- A friend: And then it posts them?
- You: No. You pick the good ones and hand them to whoever makes them: your team, a freelancer or us. Posting with your yes comes later.
- A friend: What kind of ideas?
- You: Sample: a candle store where 41 reviews say the candle smells like rain, and the product page never says rain. So the idea is the rain ad, already drafted.

The spoken version follows three beats: the problem in their words, what it does today, and one concrete idea. Use the sample candle store and say it is a sample. If they run a store, offer to show them a demo store, see i-2.

Never open with AI, agents or the stack. Never say it posts. Sources: BRIEF.md section 2, the sample store in foundation.md.

## I2 Demo {#i-2}

The demo script and demo mode.

### The ten minute demo {#i-2.script}

User moment: A founder gave you ten minutes on a call. They want to see a store like theirs, not slides.

Answer: Open a demo store, let the read tick, open one pick, make one version, hand it off, one story end to end.

- Tell them what they get, never how it works
- One pick end to end beats ten skimmed
- End by offering a read of their own store

Character line: Fetch: Ten minutes. I can fetch a lot in ten minutes. | Buzz: One flower, all the way to honey. That is the demo. | Scoop: Let the read tick on screen. People love watching me rummage. | Ocho: One pick, all the way through. I promise to use one arm at a time. | Seeti: Ten minutes on the stove. Do not lift the lid early.

**Minute by minute**
1. 0 to 1: Open a demo store, paste is filled in [Today]
2. 1 to 3: The read ticks its seven sources [Today]
3. 3 to 5: Need your yes, then the top picks [Today]
4. 5 to 7: Open one pick, Why this, then Make it [Today]
5. 7 to 9: New version, then hand it off [Today]
6. 9 to 10: Offer a design partner read

- Screen f4: The read
- Screen t1: Today
- Screen p1: One pick, open
- Screen m1: Make it
- Screen h3: The brief page

Before the call. Pick a demo store close to their category. Demo stores are prepared by the ShopOS team; anyone can open them. Open it in a fresh tab so it starts clean.

| Minute | What you click today | What you say |
| --- | --- | --- |
| 0 to 1 | On the demo site, Start the tour. The store address is filled in. | This is a store like yours. Watch what happens when you paste it. |
| 1 to 3 | The read plays with its findings and source chips. | It reads the store, the catalog, reviews, ads, the site and what AI search says about the brand. About 3 to 4 minutes on a real store. |
| 3 to 5 | The feed opens. Point at Need your yes, then the top cards. | These are this week's ideas, ranked. The ones only you can decide sit on top. |
| 5 to 7 | Open one card with a draft. Show its source, then make it. | Every idea starts from a fact with its source. The draft uses the store's own photos. |
| 7 to 9 | Ask for a change in the chat, show the new version, then the brief. | Every version is kept. When it is right, you hand it to whoever ships it. |
| 9 to 10 | Stop sharing. | Want to see this on your own store? Reads are capped while we work with design partners. |

Never during a demo. Never say it posts, sends or measures. Never name the demo store as a customer. Connections on a demo store are simulated and carry a Dummy tag; say so if they open one.

Today against tomorrow. Today the feed shows a greeting, Need your yes tiles and ten cards with See the next 15. Tomorrow the Today tab shows Need your yes and five picks, tagged Next. Today the hand off is Share with my team or Send brief; one Hand it off button is Next.

Sources: _research/product-audit.md sections 1a and 2, shared/surface-map.md row F16, shared/product-model.md sections 0 to 3.

### Demo mode and demo stores {#i-2.demo-mode}

User moment: Someone outside a brand wants to try it. They signed in with a personal email and hit a wall.

Answer: Demo stores let anyone see the whole product on a prepared store, while a real read stays with each brand's own team.

- A personal email cannot read a real store
- Demo stores are prepared by the ShopOS team
- Anything simulated keeps its Dummy tag

Character line: Fetch: Demo stores are my practice yard. Same fetch, no real ball lost. | Buzz: A practice hive. Same dance, nothing leaves the garden. | Scoop: In a demo store I rummage a pretend bin. Same moves, no real gossip. | Ocho: Demo stores: eight arms, zero real accounts. I checked each arm. | Seeti: The demo kitchen. Same recipe, nothing goes out the door.

- Screen f3: A personal email gets See demo stores
- Screen f6: When reads are full, demo stores are the way in

**Who sees what on a demo store**
- A visitor: The full product on a prepared store. Read, open picks, make drafts, copy a brief
- A presenter: Demo controls behind the dot key. Jump to a step, skip a day or a week, start again
- Connect on a demo store: A simulated account built from the read, tagged Dummy. Nothing real connects
- A teammate reply: A simulated reply, marked Dummy. Nothing reaches a real person

- Today: Nine demo pieces, several looks. A picker, a tour starter, tour tiles, a replayed read, simulated connect sheets, two demo control sheets, simulated replies, demo refusals.
- Tomorrow: The same nine, one look. Restyled to the kit. The two control sheets become one. Dummy tags stay.

| Piece | What it does | Change |
| --- | --- | --- |
| Demo site picker | Lists the prepared stores; staff also see Add a brand and Prepare | Restyle |
| Tour starter | Opening a store clears this browser's state, then opens the brand | Restyle |
| Tour tiles on the landing | See it run on a real brand, Start the tour | Restyle |
| Replayed read | The read and the writing steps play back for a visitor | Restyle |
| Simulated connect | A simulated account built from what was read, Dummy tag | Restyle, tag stays |
| Demo controls | Two sheets today for the presenter, behind the dot key | Restyle, merge into one |
| Simulated replies | A seeded teammate replies, marked Dummy | Restyle, tag stays |
| Demo refusals | New brands are prepared by the team before a demo | Restyle |

What a demo store costs us. The staff note on the picker says a full build is about $80 and 2 hours. That is why visitors cannot prepare their own.

Rules. A demo store is never presented as a customer. Simulated things keep the Dummy tag until they are real. The demo site never shows a design partner's private data.

Open question: which stores the demo site shows is the ShopOS team's call; the sources do not list a rule for adding or retiring one.

Sources: shared/surface-map.md rows S77 to S80, P4, A2, A65 to A67, S73, P102 and F16; _docs/export/product-2/glossary.md, Demo stores.

### The demo as onboarding for buyers {#i-2.buyer-onboarding}

User moment: You just heard about it and want to see it work before you paste your own store.

Answer: For a buyer, the demo is the first step of onboarding: a demo store first, then their own read, then the first win in about ten minutes.

- The demo shows the same steps their own first run will take
- Every demo ends at Build my feed for their store
- Their first win: heart one, make one, hand off one

Character line: Fetch: First we play fetch in the demo yard. Then in yours. | Buzz: A taste of the demo hive, then honey from your own flowers. | Scoop: First the demo gossip, then the real gossip about your store. | Ocho: Demo first, then your store. I warm up two arms at a time. | Seeti: Taste from the demo pot, then we cook your store.

**From first hearing to first win**
1. Hears about it: A post, a pitch, a friend
2. Demo store: Sees the read, a pick, Make it, the brief [Today]
3. Paste their store: Build my feed, sign in with a work email [Today]
4. Watch it read: Seven sources; three quick questions meanwhile [Next]
5. The reveal: One finding about their own store [Next]
6. First win: Heart one, make one, hand off one [Next]
7. Second Monday: Five fresh picks; they come back [Next]

- Today: About 11 screens and 14 decisions. Today's first run: questions offer, five questions, check page with a clock, setup steps, ready overlay, swipe tuner, six skip labels.
- Tomorrow: Paste, read, reveal, first win. Paste, sign in, watch it read with three questions, the reveal, the first win bar. One Skip label.

- Screen f1: Their own paste, right after the demo
- Screen f4: Watch it read
- Screen f7: The reveal, Next
- Screen t1: Today with the first win bar

Why the demo counts as onboarding. A buyer meets the product twice: once on a demo store and once on their own. If the two look the same, the second time is already familiar. So the demo walks the exact steps of a first run, in the same order, with the same words.

| Step | On the demo | On their own store | Status |
| --- | --- | --- | --- |
| Start | Start the tour, address filled in | Paste your store, Build my feed | Today |
| Sign in | Not needed on a demo store | Sign in with your work email | Today |
| The read | A replayed read of the demo store | A live read, about 3 to 4 minutes | Today |
| Three quick questions | Shown during the replayed read | What you handle, your next big moment, one thing you never want to post | Next |
| The reveal | One finding from the demo store | One finding from their store, shareable | Next |
| First win | The presenter hearts, makes and hands off one | The first win bar walks them through all three | Next |
| Second Monday | Skip a week in demo controls to show the Monday drop | Five fresh picks wait on Today | Next |

The hand over moment. End every demo on Build my feed with their store address. If reads are full, the button is Ask for a design partner read and the demo stores stay open.

Who onboards. A founder pastes their own store. A teammate arrives by invite and lands on the brand already read. An agency is invited per brand today. A Shopify merchant opens it from Shopify admin with the store filled in.

Today against tomorrow. Today a first run takes about 11 screens or overlays and up to 14 decisions, with six different skip labels. The check page, setup steps, ready overlay and swipe tuner go; their data paths stay, and the check page lives on inside What we know about you with no timer.

Sources: _research/product-audit.md section 2.1, shared/product-model.md sections 1 and 2, BRIEF.md section 3.5, book/WRITERS.md onboarding note.

## I3 Objections and FAQ {#i-3}

The hard questions and honest answers.

### What founders ask {#i-3.founder-questions}

User moment: You like it. Then the worry kicks in: will it post things on my accounts?

Answer: Agree with the worry, then answer with what it does today and show the screen, tagging anything later with its version.

- Agree first, then answer
- A screen beats an adjective
- Never promise sales

Character line: Fetch: Every question is a stick. I bring back a straight answer. | Buzz: A sting in the question? I answer with honey and a screen. | Scoop: Hard questions are my favourite gossip. Answer them straight. | Ocho: Ten questions, eight arms. I will borrow two from you. | Seeti: Hot questions. Answer them plain, no extra masala.

- Will it post on my accounts?: No. It drafts and you hand it off. Posting with your yes is v2.. Show Hand it off
- Is this generic AI content?: Every idea starts from a fact about your store, with its source beside the number.. Show Why this on a pick
- Will it touch my ad budget?: No. Connections are read only. Running ads inside your rules is v4.. Show the connect sheet
- Who makes the final thing?: You, your team, your agency or freelancer, or the ShopOS team. You choose.. Show the brief page
- Why do I have to sign in?: A read belongs to the brand's own team, so it asks for your work email.. Show Sign in with your work email
- Can I see what worked?: Not yet. Showing what worked is v3.. Show the four versions
- What does it cost?: Pricing comes after the design partnership. Design partners get a capped read.. See i-5
- Is my data safe?: It reads and never changes your store. Deletion is a request to a person today.. See i-6

| Question | The honest answer | Show | Source |
| --- | --- | --- | --- |
| Will it post on my accounts? | It drafts. You or your people post. In v2 it posts and schedules, only after your yes. | h1, Hand it off | product-model section 0 |
| Is this generic AI content? | Each idea names your product and carries one fact with a source chip. Unsure numbers carry a To confirm chip. | p1 | product-model section 10 |
| Does it know my brand? | It reads seven sources and keeps what it learns in What we know about you, where you can fix any fact. | s2 | glossary |
| Will it touch my ad budget? | Connections are read only: it can look, never post, pause or move budget. | s5, the connect sheet | product-model section 0 |
| Who makes the final thing? | You choose on hand off. The ShopOS team gets your brief by email when you pick them; for your own people the brief is copied and nothing is sent. | h3 | product-model section 0 |
| Why do I have to sign in? | A read is for the brand's own team. A personal email is pointed to demo stores. | f2, f3 | product-audit, build differences |
| Can I see results? | Measuring is cut from v1 and returns in v3. | the versions page in a-1 | product-model section 0 |
| How much does it cost? | Parked until after the design partnership. Do not quote the draft. | i-5 | pricing draft, parked |
| Is it right for my store? | It is built for small online stores where the founder runs marketing. A read shows quickly whether it fits. | f1 | BRIEF.md section 3.2 |
| How long does the read take? | About 3 to 4 minutes. Inside Shopify today's build says about half an hour; see open questions. | f4 | allowed figures |

Never answer an objection with a result, a lift or a customer story. We have none to share yet.

### What agencies, partners and investors ask {#i-3.partner-questions}

User moment: An agency owner or an investor asks the question a founder never would.

Answer: Same rule for every audience: say what exists today, tag what comes later, and say when we do not know yet.

- Agencies are the people we hand off to
- Many brands in one login is Later
- Unknowns become open questions, never guesses

Character line: Fetch: Different person, same stick. I fetch the same true answer. | Buzz: Every flower gets the same honest honey. | Scoop: Between us, investors ask the spiciest ones. Still no gossip about rivals. | Ocho: Different audience, same arms. I do not grow new ones for investors. | Seeti: Same dish for every table. I do not cook special truths.

- Can my agency run many brands here?: Today you are invited one brand at a time. A brand switcher for many brands is Later. [Later]
- Why not just use a general AI chat?: A chat starts from a blank box. This starts from a read of your store, ranks the ideas and hands off a brief.
- Does it work inside Shopify?: Yes, the store is filled in when you open it from Shopify admin. [Today]
- What stops someone copying it?: What we know about each store grows every week. The rest is an open question, see i-8.
- Who are the design partners?: Real brands working with the founders now. We never name them without their yes.
- How many design partners?: Ask the founders. The sources give no number to quote.

- Screen f1s: Paste your store, inside Shopify
- Screen x3: Brand switcher, Later

For agencies. Today an agency or freelancer is invited per brand. They get the same product and can hand briefs to their makers. Running many brands from one login is Later, flagged as the one real build item in BRIEF.md section 3.4.

For investors. See i-8. Never share the plan to own outcomes outside the founders; it is internal and never appears in any page.

For partners who ship work. The person who opens a brief link gets one read only page with the brief, the files and Copy all. No login, phone first.

Open questions: a design partner count we may quote; whether an agency can see several brands with one login today. Sources: BRIEF.md sections 3.2 and 3.4, _docs/export/product/journeys.md, the agency pitch in _docs/export/octopus/09-comms.md.

## I4 Competitors {#i-4}

Who else is out there and how we differ.

### What founders use instead {#i-4.alternatives}

User moment: The founder says they already have someone for this. An agency, a tool, or themselves at midnight.

Answer: We compete with how founders get marketing done today, and we hand off to most of those same people.

- We never name a rival in public material
- We sit before the making: the idea and the brief
- Agencies and freelancers are who we hand off to

Character line: Fetch: Other dogs fetch too. I fetch from your own yard. | Buzz: Plenty of bees out there. I only visit your flowers. | Scoop: I could tell you who else is out there. I never name names. | Ocho: Other tools have one arm each. I am not counting, just saying. | Seeti: Other kitchens exist. Mine cooks from your pantry.

- An agency: A team that plans and makes the work.. Good: Makes and ships the work, Knows the craft. Bad: Ideas wait for the next meeting, You still brief them
- A freelancer: One maker for one job.. Good: Fast on a clear job. Bad: Needs a clear brief every time
- A general AI chat: Writes whatever you ask.. Good: Quick words on demand. Bad: Starts from a blank box, Knows your store only if you paste it in
- Channel tools: Ad, email and social tools.. Good: Run the channel well. Bad: Assume you know what to make
- Doing it yourself: Evenings and weekends.. Good: Your own voice. Bad: Your evenings
- Us (our pick): Reads your store, drafts the week, hands off a brief.. Good: Starts from your store's facts, Hands off to any of the others. Bad: Does not post or measure in v1, Reads are capped for now

Every row above is an alternative a founder already uses, described by what it does, never by a product name. The goods and bads are our positioning reasons, not measured facts.

| Alternative | Where we fit with it |
| --- | --- |
| Agency | We hand the agency a numbered brief. Agencies can also use us for each client. |
| Freelancer | The freelancer opens the brief page on a phone with no login. |
| General AI chat | We start from a read of the store, rank ideas and keep every version. |
| Channel tools | We decide what to make; they run the channel. In v2 posts go out through your accounts, after your yes. |
| Doing it yourself | Copy and open: copies the words and opens the exact place to post. |

Rule. Never name a real rival in public material, on a slide or in the product. The product's What rivals run shows rival ads from public pages only, inside the brand's own account.

Open question. We have no sourced competitor list. To build one we need: the tools founders in our ideal customer profile use, what each costs from its own pricing page, and what each does with a store's data. Until then this page compares categories.

Sources: BRIEF.md sections 2 and 3, raccoon/system.md s7, _docs/export/product-2/glossary.md, Copy and open.

### Where we differ, with a screen for each {#i-4.differences}

User moment: The founder asks: so what is actually different? You want to show, not claim.

Answer: Five differences, each proved by a screen they can tap, never by an adjective.

- Each difference has a screen
- Anything not built yet is tagged Next
- No claim about anyone else's product

Character line: Fetch: Five tricks. Each one done live, no treats needed. | Buzz: Five flowers, each with a screen to land on. | Scoop: Show them the receipts. Every number has its source. | Ocho: Five differences, five arms pointing at five screens. | Seeti: Five dishes. Let them taste, do not describe.

- Starts from your store: Seven sources read before a single idea is written. [Today]
- A source on every number: Unsure numbers carry To confirm; projections say a projection, not a promise. [Today]
- Drafts, not advice: Most picks arrive with a first draft from your own photos. [Today]
- One brief for whoever ships: A numbered brief and a read only page, no login. [Today]
- A week you can finish: Five picks on Monday, then You're caught up. [Next]

- Screen f4: Starts from your store
- Screen p1: A source on every number
- Screen h3: One brief
- Screen t5: Caught up, Next

Use these five in order. Each line says what it does; none compares us by name. If a founder asks for a head to head, say we do not publish comparisons and offer a read of their store instead.

Sources: BRIEF.md section 2, shared/product-model.md sections 1, 2 and 10, kit/screens.js ids f4, p1, h3 and t5.

## I5 Pricing ideas {#i-5}

Parked until after the design partnership. What we have so far.

### Parked until after the design partnership {#i-5.parked}

User moment: A founder asks what it costs once the design partnership ends. You do not have a price yet.

Answer: Pricing is parked until after the design partnership, so we measure cost and use per brand first, then set prices.

- No price in any public material yet
- The parked shape: a first read, a trial, plans with credits
- A price shows only on the confirm sheet before a paid make

Character line: Fetch: Money talk is for the humans. I will sit right here. | Buzz: Prices are for the people. I just count pollen. | Scoop: Money is a person's job to explain. I am staying out of this one. | Ocho: All eight arms off the money. A person answers this. | Seeti: Lid on. A person talks money, not the cooker.

**The parked draft, in shape only**
1. First read: See your store read and its first ideas [Later]
2. Trial: Everything on for a set time, no card [Later]
3. Plan per brand: Monthly plan, seats included [Later]
4. Credits: Only for paid making: pictures, video, voice [Later]

- Screen m3: Confirm a paid make, the one place a price shows, sample price

- Do: Say pricing comes after the design partnership
- Do: Show a price once, on the confirm sheet, before anything paid is made
- Do: Keep ideas, Why this and the feed free of credits in every draft
- Never: Quote a number from the parked draft to a customer
- Never: Put a price on a first button
- Never: Call design partner reads free forever

The parked draft, 16 October. The founders drafted a shape, then parked it until after the design partnership so prices come from real use and real cost per brand. It is not a price list.

| Part | Draft | Status |
| --- | --- | --- |
| First read | The first ideas from a read | Parked |
| Trial | 14 days, no card, from a work email claim, with 150 credits and 1 brief; read only after it ends, never deleted | Parked |
| Plans per brand, seats included | ₹9,999, ₹24,999 and ₹74,999 a month, or $199, $499 and $1,499 | Parked |
| Credits in each plan | 300, 1,000 and 4,000 a month | Parked |
| Credit costs | a picture 2, a video 15, a voice clip 1, a full rewrite 50 | Parked |
| Never costs credits | The feed, the ideas and asking questions | Parked |
| Briefs to the ShopOS team | Priced separately | Parked |

What exists in the build. A Pro plan sheet with Start the 14 day trial, switched off and tagged Dummy. Paid makes show a price on a confirm step; the kit's ₹240 on m3 is a sample.

Conflicts to settle before any price ships. The draft's first read assumed no sign in; the build asks for a work email first. The word seats appears in the draft; the new model drops seats.

Sources: the founders' pricing draft, parked 16 October; _research/product-audit.md surface 46; shared/product-model.md sections 0 and 4; _docs/export/product/screens.md.

### What we learn before we price {#i-5.learn-first}

User moment: You will need a real price one day. What do you count now so the price is right then?

Answer: Count what a read and a make really cost, and how often founders make and hand off, then price.

- Cost per read and per paid make
- How often a founder makes and hands off
- Which work goes to the ShopOS team

Character line: Fetch: Count the sticks before you sell the sticks. | Buzz: Count the flowers before you price the honey. | Scoop: I keep a tally of everything. Finally someone asked for it. | Ocho: Counting is my favourite arm exercise. | Seeti: Weigh the rice before you print the menu.

1. Cost of a read: Today's only figure: a full demo build is about $80 and 2 hours, from the staff note on the demo picker.
2. Cost of a paid make: Per picture, video and voice clip, from the confirm sheet's real prices.
3. How often founders make: Makes and new versions per brand per week, from the decision log. [Next]
4. How often they hand off: Hand offs per week, and to whom. [Next]
5. Work for the ShopOS team: Briefs the ShopOS team receives and delivers. [Today]

Each line becomes a number in j-1 once the decision log exists. No targets are set and none should be invented.

Open questions: the real cost per brand on today's AI setup; whether briefs to the ShopOS team stay a separate price; what a design partner pays after the partnership. Sources: shared/surface-map.md row P102, _docs/export/product-2/game.md, the parked pricing draft.

## I6 Privacy and data {#i-6}

Read only, what we keep, how you delete it.

### Read only, and who sees what {#i-6.read-only}

User moment: Before you paste your store, you want to know what happens to it.

Answer: It reads and never changes your store: public pages for the read, read only connections if you add them, and only your brand's team gets in.

- Public pages for the read; connections are read only
- Only your work emails and invites open your brand
- Deletion is a request to a person today

Character line: Fetch: I only fetch. I never dig up your garden. | Buzz: I visit, I never move the flowers. A person explains the rest. | Scoop: Public pages only, and I say so. A person answers the privacy questions. | Ocho: Arms off for this one. A person explains your data, plainly. | Seeti: Lid down for privacy. A person explains it, no whistles.

- What the read looks at
  - Your store's public pages and catalog
  - Your public reviews
  - Ads in public ad libraries
  - Your website
  - What AI search says about your brand
- What you can connect, read only
  - Shopify, Meta ads, Google Analytics, Google Ads, Klaviyo, Judge.me, Slack
  - Never posts, pauses or moves budget
  - Disconnect any time
- Who can open your brand
  - Your brand's work emails
  - People you invite
  - The ShopOS team
  - A guest on one brief, for that piece only
- What a brief link shows
  - One brief, read only, no login
  - Anyone you share it with can read it

- Screen s5:sheet: The connect sheet says what it reads and never does
- Screen s7: Ask us to delete your data

| Data | What happens | Status |
| --- | --- | --- |
| The read | Kept so you can use it every week | Today |
| Ideas, hearts and Not for me | Kept so next week's picks fit better | Today |
| What you made, every version | Kept in Make it | Today |
| Briefs | Kept, with a read only link | Today |
| What we know about you | Facts with sources; you can fix any of them | Today |
| Who opened your brand | Every signed in email that opens a brand is logged, since 23 October | Today |
| Passwords and payments | Never touched | Today |
| Deletion | Ask us to delete your data sends a request; a person removes it and confirms | Today as a request |
| Real self serve deletion | Deletion inside the product | Later |

Access. A personal email or another company's email cannot open a brand; it is pointed to demo stores. A guest from a brief can chat, edit and draft on that piece, and cannot share, approve, assign or discard.

Words. Privacy and money are written by a person, never by the character. The character stays out of privacy answers.

Open questions: how long data is kept after a brand stops; how fast a deletion request is done and who owns it; what the Privacy page in the build says today, which this book has not reviewed. Sources: shared/product-model.md section 0, _docs/export/product-2/glossary.md, shared/ia.md, the founders' access rule of 23 October, _docs/export/octopus/09-comms.md, Privacy and data.

### The privacy answer, ready to paste {#i-6.the-answer}

User moment: A founder emails: what do you do with my data? You want to reply in two minutes, correctly.

Answer: A person replies, short version first, then what we read, connections, what we never touch, what we keep and how to remove it.

- A named person signs it
- Short version in the first line
- No character, no jokes

Character line: Fetch: This one gets a human reply. I will just wag quietly. | Buzz: No buzzing in this email. A person writes it. | Scoop: No gossip voice here. A person signs this one. | Ocho: Arms down. A person writes this, I keep the coffee warm. | Seeti: No whistle in this email. A person writes it plain.

- A founder: What do you do with my data?
- You: Short version: we read public pages, we keep your read so you can use it, and if you connect an account, the connection is read only.
- You: What we read: your store's public pages, your public reviews, ads in public ad libraries, your website, and the answers AI assistants give about your brand.
- You: Connections are read only. We can look. We cannot post, change anything or touch your budget. Check each one in Settings, under Connections.
- You: We never touch your passwords or your payments. We keep your read, your ideas, what you hearted and dropped, and your drafts, so next week fits better.
- You: Want any of it removed? Reply here and a person on our team removes it and confirms. Your brief link is read only; anyone you share it with can read it.

Send from a named founder, by email or the help page. Show the Connections screen if they ask where to check. Source: _docs/export/octopus/09-comms.md, Privacy and data, adapted to plain wording.

## I7 Claims we can make {#i-7}

What we may say, what we may not, and the safe wording.

### Today, Next and Later {#i-7.labels}

User moment: You read a bold line about it and want to know if it is true today.

Answer: Every feature carries one label, Today exists in the build, Next is recommended for v0, Later comes after launch, and only Today is sold as working.

- Today: you may say it works
- Next: always tagged, never described as working
- Later: anything that posts, schedules or measures

Character line: Fetch: Today, Next, Later. I only fetch the Today ones for customers. | Buzz: Three hives: Today, Next and Later. Never mix the honey. | Scoop: Gossip is fine, fibs are not. Check the label first. | Ocho: Three labels. I tag every arm before it waves. | Seeti: Today is served. Next is on the stove. Later is still in the pantry.

**Every feature, by label**
- Today, in the build
  - Paste your store, then sign in with your work email
  - The read, about 3 to 4 minutes, seven sources
  - Ranked ideas, about 160 for the prepared demo brand
  - Heart and more like it appear; Not for me; Later
  - Make it: pictures, carousels, six second videos with voiceover, voice clips, text, every version kept
  - A numbered brief and a read only link, nothing sent, for your own people
  - The ShopOS team gets your brief by email
  - Story rings that last 24 hours, What customers say, sources on every number
  - Read only connections, status in Settings
- Next, recommended for v0
  - The reveal, three questions as a game, first win bar, a meter of what we know about you
  - Monday drop of five picks, weekly run with a free skip, wildcard
  - One Hand it off button with Who is shipping this
  - Today, Work and Your store tabs; one Make it space
  - Prepare files per channel
- Later, after launch
  - Schedule, run within rules, How it went, any measuring
  - Brand switcher, brand book export, team play, founder circle

| Feature | Status |
| --- | --- |
| Paste your store, then sign in with your work email | Today |
| The read, about 3 to 4 minutes, seven sources | Today |
| Ranked ideas, about 160 for the prepared demo brand | Today |
| Heart and more like it appear; Not for me; Later | Today |
| Make it: pictures, carousels, six second videos with voiceover, voice clips, text, every version kept | Today |
| A numbered brief and a read only link, nothing sent, for your own people | Today |
| The ShopOS team gets your brief by email | Today |
| Story rings that last 24 hours, What customers say, sources on every number | Today |
| Read only connections, status in Settings | Today |
| The reveal, three questions as a game, first win bar, a meter of what we know about you | Next |
| Monday drop of five picks, weekly run with a free skip, wildcard | Next |
| One Hand it off button with Who is shipping this | Next |
| Today, Work and Your store tabs; one Make it space | Next |
| Prepare files per channel | Next |
| Schedule, run within rules, How it went, any measuring | Later |
| Brand switcher, brand book export, team play, founder circle | Later |

The table merges the claim statuses in raccoon/system.md s6, octopus/system.md s6 and cooker/system.md section 7. Prepare files per channel is Next or Later in all three; this table shows Next and the owner decides.

Versions and labels together. v1 is everything tagged Today plus the Next items as they ship for v0. v2 adds posting and scheduling with your yes. v3 adds measuring. v4 adds ads inside rules and a budget the founder sets.

Check before build. Where the original brief and the build differ, use these words until the owner settles each one:

| Topic | Say this |
| --- | --- |
| Sign in | Paste, then sign in with your work email. Never say no sign in is needed. |
| Heart | Heart it and more like it appear. Never a number. |
| Seats | Name none. Which of these do you handle replaces them. |
| Connections | Read only connections. Never sell them, never imply posting or budget control. |
| Hand off to the ShopOS team | The ShopOS team gets your brief. For your own people: copied, nothing sent. |
| Measuring | Later. Leftover measuring words in the build get removed. |

Statuses come from the build and handover we last reviewed. Check them against the v0 scope and the code before any build work.

### The safe wording {#i-7.safe-wording}

User moment: The bold line is right there on your keyboard. You want the true version that still sells.

Answer: Swap the tempting line for the true one with a number and its source.

- Only the allowed figures
- Every invented example says Sample
- No rival, partner or customer names

Character line: Fetch: I fetch the true stick, not the shiny one. | Buzz: Real honey only. No sugar water in the jar. | Scoop: The true version is juicier anyway. I would know. | Ocho: I want to say yes to everything. This page says no for me. | Seeti: No fake masala. Real ingredients only.

- It handles your posting becomes It drafts; you or your people post it. Posting is v2, with your yes
- No sign in needed becomes Paste your store, then sign in with your work email. The build asks first
- Heart one and three more appear becomes Heart it and more like it appear. Never a number
- Connect all your accounts becomes Read only connections, if you want them. Never sold as a feature
- Nothing is ever sent becomes The ShopOS team gets your brief; for your team it is copied, nothing sent. Both are true
- See what worked becomes Showing what worked comes in v3. Later
- Fits every store becomes Built for small online stores where the founder runs marketing. Our ideal customer
- Grows your sales becomes Ideas with a source on every number. No result claims
- Hundreds of ideas for you becomes About 160 ideas for the prepared demo brand. Allowed figure
- Instant becomes About 3 to 4 minutes for a read. Allowed figure

- Do: Use the allowed figures: about 3 to 4 minutes, about 160 ideas for the prepared demo brand, six second videos, 24 hour story rings
- Do: Say named in 12 of 32 AI answers only as an example finding from one brand's read
- Do: Put every invented example in a frame with a visible Sample label, using the sample candle store
- Never: Invent customers, quotes, reviews, lifts or results
- Never: Name a real rival, design partner or customer
- Never: Write the old product name
- Never: Claim a stamp of approval, a promise of results or that it suits every store

The sample store. Every invented example uses the same pretend store: a sample candle store with three products, Monsoon candle, Chai spice candle and Jasmine night candle, always with a visible Sample label.

Words never used in any material. The old product name. Test build, display piece and similar words about our stage. Any phrase saying the product posts or sends on your behalf. Any word promising results or a third party stamp. The banned style words in book/WRITERS.md.

Inside the product. Next and Later items are not shown to founders at all until they ship. Coming soon chips are not used. Books and sales material tag them instead.

Sources: BRIEF.md sections 1 and 2, foundation.md section 2, shared/product-model.md sections 0 and 5, cooker/system.md section 7.

## I8 The investor story {#i-8}

Why now, why us, how big.

### Why now, why us, how big {#i-8.story}

User moment: An investor has heard many AI marketing pitches. They want to know why this one, and why now.

Answer: Small stores already have the facts in their reviews, catalog and ads, so we read those facts and hand back the week's marketing, drafted.

- Why now: one read drafts pictures, video and words
- Why us: a working read and real design partners
- How big: open until we have sourced numbers

Character line: Fetch: Investors throw hard questions. I bring back only true ones. | Buzz: One bee today, a whole hive of versions later. | Scoop: Psst. The investor story is the same story, with the road drawn in. | Ocho: Today I draft. Later my arms post, measure and run ads. Same octopus. | Seeti: Today the cooker cooks. Later it serves, then tastes, then runs the kitchen.

**How it grows**
1. v1 Suggest: Reads, ranks, drafts, hands off [Today]
2. v2 Schedule: Posts at your time, after your yes [Later]
3. v3 Measure: Shows what worked, feeds next week [Later]
4. v4 Run within rules: Ads inside a budget and rules you set [Later]

- 7 sources in every read, product-model section 2
- 3 to 4 min for a read, allowed figure
- about 160 ideas for the prepared demo brand, allowed figure
- 6 s videos with voiceover, allowed figure

The story in five beats.

| Beat | What we say | Proof we can show |
| --- | --- | --- |
| Problem | The founder of a small online store is also its marketing team, and decides the week alone. | The founder persona in BRIEF.md section 3.2 |
| Product | Paste a store, get the week drafted, hand it off. | A live demo store |
| Proof | Real design partners use it with the founders now. | The read and Make it, live. No names, no results. |
| Path | Each version adds one power: posting, then measuring, then ads inside rules. Need your yes becomes the control centre. | The dial in BRIEF.md section 3.6 |
| Ask | To be set by the founders | Open question |

Why it can compound, as hypotheses. What we know about you grows every week. The decision log of hearted, made and handed off is v0 groundwork. Each pick storing its channel prepares v2. These are reasons, not results.

Risks we name ourselves. Each read costs real money; a full demo build is about $80 and 2 hours today. Reads are capped. Posting later needs trust earned in v1. Drafts depend on outside AI models.

How big: open. We have no sourced market size. To fill it we need: the number of small online stores in our first markets from a named source, the share where the founder runs marketing, and what they spend on agencies, freelancers and tools today. Never put a market number on a slide without its source.

Sources: BRIEF.md sections 2, 3.2 and 3.6, foundation.md section 6, shared/surface-map.md row P102, book/WRITERS.md versions.

### The investor deck, slide by slide {#i-8.deck}

User moment: You are building the deck tonight. You want the order and the rule for each slide.

Answer: Eight slides, the product live by slide two, and every number with a source on the slide.

- Show the product before the market
- Unknown numbers say open, never guessed
- The update paragraph each month follows the same order

Character line: Fetch: Eight slides. I have fetched longer things. | Buzz: Eight slides, one waggle dance pointing at slide two. | Scoop: Slide six is blank until someone finds real numbers. No rumours. | Ocho: Eight slides, eight arms. Finally, the maths works. | Seeti: Eight courses. Serve the product second, not last.

1. The founder's Monday: One line, one picture of the week
2. The product, live: Paste, the read, a pick, Make it, the brief [Today]
3. Proof: Design partners exist; show the read, never results
4. How it grows: v1 to v4, one power each [Later]
5. Business model: Parked until after the design partnership
6. Market: Open until sourced
7. Team: The founders and the ShopOS team who run briefs
8. The ask: Set by the founders

Never in the deck: the old name, a design partner's name without their yes, a rival's name, invented results, or the internal plan the founders keep off every page.

Open questions: the ask, the team slide's names and roles, and a design partner count we may quote. Sources: BRIEF.md section 2, the investor update in each direction's communication book.

# J. System and team

How we run, measure and keep this book true.

## J1 Analytics {#j-1}

What we count inside the team, so we learn.

### What we count, and why {#j-1.what-we-count}

User moment: You shipped the Monday drop. Did founders come back the next Monday?

Answer: We count whether founders come back and finish their week, never their sales, and the numbers stay inside the team.

- Retention of current founders comes first
- Count at the joins, where people leave
- No targets until we have a baseline

Character line: Fetch: I count every ball you throw back. Never your sales. | Buzz: I count pollen, not profits. The team counts the rest. | Scoop: Who came back on Monday? That one stays in the office. | Ocho: Nine numbers, eight arms. One number rides on my head. | Seeti: I count whistles. The team counts who comes back for dinner.

**The joins where people leave**
1. Read: Did it finish? [Today]
2. Reveal: Did they share it? [Next]
3. First pick: Heart, make, hand off [Next]
4. First win: All three, in minutes [Next]
5. Second Monday: Did they come back? [Next]

- Do founders come back?: Share of brands that open Today again the next Monday. [Next]
- Do they finish the week?: Share of weeks that reach caught up. [Next]
- Does the first week land?: Share of new brands that heart one, make one and hand off one, and the minutes it took. [Next]
- Do answers sharpen picks?: Questions answered or skipped, then hearts and Not for me on what follows. [Next]
- Is the weekly run kind?: Runs kept, free skips used, runs broken after a skip. [Next]
- Is the channel protected?: Notifications and emails per brand per week, and how many were opened. [Next]

| Question | What to count | Read from | Why it matters | Status |
| --- | --- | --- | --- | --- |
| Do founders come back? | Share of brands that open Today again the next Monday | Sign ins and Today opens | Retention of current users was Duolingo's biggest lever | Next |
| Do they finish the week? | Share of weeks that reach caught up | The decision log | The week is meant to be finishable | Next |
| Does the first week land? | Share of new brands that heart one, make one and hand off one, and the minutes it took | The decision log, first win bar | The join from onboarding to the repeat loop | Next |
| Where do people leave? | Drop off at each join: read to reveal, reveal to first pick, first win to the second Monday | Read, reveal and decision log events | Most people leave at the joins | Next |
| Does the reveal travel? | Share this finding taps | The reveal | Discovery into onboarding | Next |
| Do answers sharpen the picks? | Questions answered and skipped, then hearts and Not for me on the picks that follow | Question answers, the decision log | The three questions should visibly change picks | Next |
| Is the weekly run kind? | Runs kept, free skips used, runs broken after a skip | The decision log | Loss only with a free skip and no guilt | Next |
| Is the channel protected? | Notifications and emails sent per brand per week, and how many were opened | Notification and email logs | Protect the channel, do not flood it | Next |
| How much do we know? | The memory meter's score per brand | What we know about you | Progress about the store, never results | Next |

Rules. These numbers never appear in the product or in shareable copy. Progress shown to founders measures what they did and what we know about the store, never sales. How it went, the results of shipped work, is a product feature for v3 and is never part of the game.

Open questions: no targets are set for any of these, and none should be invented. The decision log does not exist yet; it is v0 groundwork. Sources: _docs/export/product-2/game.md, What to measure; _research/sources.md, Duolingo source C.

### The onboarding funnel, step by step {#j-1.onboarding-funnel}

User moment: Ten founders pasted their store this week. How many reached a first win, and where did the rest stop?

Answer: We count every step from the paste to the second Monday, so the join where most people stop becomes the next thing to fix.

- Nine steps, each a share of the step before
- Minutes from paste to first win
- The second Monday is the real finish line

Character line: Fetch: I count every step from the gate to the second walk. | Buzz: Nine flowers in a row. I count who reaches the last one. | Scoop: I tally who drops off where. Only the team sees my notepad. | Ocho: Nine steps. I timed all of them and only spilled one coffee. | Seeti: From raw to served in nine steps. I time every one.

1. Pasted a store: Build my feed tapped [Today]
2. Signed in: Work email accepted, or sent to demo stores [Today]
3. Read finished: All seven sources, or where it stopped [Today]
4. Answered the questions: Each of three answered or skipped [Next]
5. Saw the reveal: And whether they shared it [Next]
6. First heart: Heart on any pick [Today]
7. First make: Make it opened and a version made [Today]
8. First hand off: Handed off, with who [Next]
9. Second Monday: Opened Today the next Monday [Next]

- Today: Six places to drop out. Six skip labels across about 11 first run screens, each a place nobody counts today.
- Tomorrow: Five joins, all counted. Read to reveal, reveal to first pick, first pick to first win, first win to second Monday.

| Step | Counts as reached when | Measure | Status of the step |
| --- | --- | --- | --- |
| 1 Pasted a store | Build my feed is tapped with a valid address | Count | Today |
| 2 Signed in | A work email is accepted; refusals counted apart | Share of step 1; refusals sent to demo stores | Today |
| 3 Read finished | The read ends with all seven sources | Share of step 2; minutes; where failed reads stopped | Today |
| 4 Answered the questions | Each of the three is answered or skipped | Answered, skipped, per question | Next |
| 5 Saw the reveal | Here's your store is shown | Share of step 3; Share this finding taps | Next |
| 6 First heart | Any heart | Share of step 5; minutes from paste | Today |
| 7 First make | A version is made in Make it | Share of step 6; minutes from paste | Today |
| 8 First hand off | Handed off, with who | Share of step 7; minutes from paste, aiming for about ten | Next |
| 9 Second Monday | Today opened on the next Monday | Share of step 8 | Next |

Cuts. Split every step by who arrived: a founder who pasted, a teammate by invite, an agency, a Shopify install, and a visitor who came from a demo store. Demo store visits are counted on their own and never mixed into the funnel.

First win means steps 6, 7 and 8 all done. The ten minute aim comes from the product model; it is a design aim, not a target, until we have a baseline.

Open questions: where today's build logs these steps, and whether old first run surfaces should be counted until they are removed. Sources: _docs/export/product-2/game.md, _research/product-audit.md section 2.1, shared/product-model.md section 1, BRIEF.md section 3.5.

### The events behind the numbers {#j-1.events}

User moment: You are wiring the counting. Which moments do you log, and do they exist yet?

Answer: Log one plain event per moment a founder acts, all in one decision log, which is Next.

- Plain event names, same as the buttons
- Every event carries brand, person and week
- Never log what a customer of the store does

Character line: Fetch: Every throw, every catch, written down. Good dog paperwork. | Buzz: Every flower visited gets a tiny tick. | Scoop: Plain names on every note. Hearted means hearted. | Ocho: One arm just for the notebook. Do not tell the other seven. | Seeti: Every whistle goes in the kitchen log.

**Events along one week**
1. Read started, finished, failed: Build my feed, the read ends or stops [Today]
2. Question answered or skipped: each of the three [Next]
3. Reveal shared: Share this finding [Next]
4. Heart, Not for me, Later: on any pick or idea [Today]
5. Make it opened, New version: a pick or a Work row opens Make it [Today]
6. Paid make confirmed: the confirm sheet [Today]
7. Handed off, with who: Who is shipping this [Next]
8. Brief status moved: Received to Delivered [Today]
9. Caught up reached: the last pick is handled [Next]

**Events outside the loop**
- Free skip used: A week passes with no hand off. [Next]
- Notification sent and opened: Every push and email. [Today]

| Event | When it fires | Status |
| --- | --- | --- |
| Read started, finished, failed | Build my feed, the read ends, the read stops | Today |
| Reveal shared | Share this finding on Here's your store | Next |
| Question answered or skipped | Each of the three questions | Next |
| Heart, Not for me, Later | On any pick or idea | Today |
| Make it opened | A pick or a Work row opens Make it | Today |
| Paid make confirmed | The confirm sheet | Today |
| New version | One more take in Make it | Today |
| Handed off, with who | Hand it off, Who is shipping this | Next |
| Brief status moved | Received, In progress, Needs something from you, Delivered | Today |
| Caught up reached | The last pick of the week is handled | Next |
| Free skip used | A week passes with no hand off | Next |
| Notification sent and opened | Every push and email | Today |

Today means the action exists in the build; counting it in one decision log is Next groundwork, an Add on that touches nothing that works. Each event row stores the brand, the person, the week, the pick and the area.

Open question: which of these the build already writes to a log, beyond hearts, brief statuses and sign ins, is not listed in the sources. Sources: BRIEF.md section 3.6 groundwork, _docs/export/product-2/glossary.md, kit/screens.js.

## J2 Glossary {#j-2}

Every term, its plain word and its meaning.

### Every term and its plain word {#j-2.plain-words}

User moment: Someone in a meeting says jam, the Deck and a seat in one sentence. You want one word for each.

Answer: Every concept has one plain word on every button and tab, and the character's word lives only around it.

- Plain word on the control
- Character word in lines around it
- Old words are retired for good

Character line: Fetch: Plain word on the button. My word in the wag around it. | Buzz: Plain words on the flowers, buzz words in the air around them. | Scoop: My words go in the margins. The buttons stay plain. Rules are rules. | Ocho: Every arm holds a plain label. I just doodle around it. | Seeti: Plain words on the menu. Kitchen talk stays in the kitchen.

*Fetch:*
- Reading your store becomes Sniffing round. The read
- This week's picks becomes The drop. The five
- Heart becomes Fetch more. More like this
- Not for me becomes Leave it. Fewer like this
- Hand it off becomes Drop it. One button
- You're caught up becomes Nap time. The week is done
*Buzz:*
- Reading your store becomes Buzzing round your store. The read
- This week's picks becomes Best blooms. The five
- Heart becomes Dance for more. More like this
- Not for me becomes Fly past. Fewer like this
- Hand it off becomes Pass the pollen. One button
- You're caught up becomes The hive is humming. The week is done
*Scoop:*
- Reading your store becomes The rummage. The read
- This week's picks becomes This week's scoop. The five
- Heart becomes Keep digging. More like this
- Not for me becomes Old news. Fewer like this
- Hand it off becomes Pass the note. One button
- You're caught up becomes All dished out. The week is done
*Ocho:*
- Reading your store becomes Eight arms reading. The read
- This week's picks becomes Arms full. The five
- Heart becomes Stick it. More like this
- Not for me becomes Drop it. Fewer like this
- Hand it off becomes Free an arm. One button
- You're caught up becomes Arms free. The week is done
*Seeti:*
- Reading your store becomes Cooking your store. The read
- This week's picks becomes This week's specials. The five
- Heart becomes Seconds, please. More like this
- Not for me becomes Off the menu. Fewer like this
- Hand it off becomes Order ticket. One button
- You're caught up becomes Kitchen's clean. The week is done

The journey and the places

| Plain word | What it means | Status |
| --- | --- | --- |
| Paste your store | The first screen: one box and Build my feed | Today |
| Sign in with your work email | The sign in before the read; personal or other company emails are refused | Today |
| This store is for its own team | What an outsider sees, with See demo stores and Switch email | Today |
| Reading your store | The read: seven sources in about 3 to 4 minutes | Today |
| Three quick questions | What you handle, your next big moment, one thing you never want to post | Next |
| Here's your store | The reveal: one shareable finding, then the picks | Next |
| Reads are full this week | The read cap while we work with design partners | Today |
| Today | Greeting, Need your yes, story rings, This week's picks, See everything | Next |
| Work | New since you looked, then Idea, In the works, Handed off | Next |
| Your store | Store health, What customers say, What rivals run, What AI search says, What changed, The plan | Next |
| Settings | Behind your picture: What we know about you, Which of these do you handle, Team, Connections, Notifications and sound, Account | Next |
| Brand switcher | Brands for people who handle more than one | Later |
| You're caught up | The end of the week; the character signs off until Monday | Next |
| Start again, Skip, Back | The one label for each | Today, one label Next |
| Brief page | The read only page for whoever ships the work, no login | Today |

Ideas and picks

| Plain word | What it means | Status |
| --- | --- | --- |
| Pick | One of the five on Today | Next |
| Idea | Any idea beyond the five, and the first status | Today |
| See everything | The rest, ranked, with an area filter | Next |
| Need your yes | Yes or no questions only you can answer | Today |
| Heart | More like this; never a number | Today |
| Not for me | Fewer like this | Today |
| Later | Snooze a pick | Today |
| Why this | At most three lines, each with a source, then the plan | Today |
| The plan | At most five steps under ten words each | Today |
| Where to post | Where a pick goes | Today |
| Source chip | Where a number came from | Today |
| To confirm | The chip on an unsure number | Today |
| A projection, not a promise | The words on any projected number | Today |
| Area | Social posts, Ads, Website, AI search, Email and WhatsApp | Next |
| Story rings | Stories that last 24 hours | Today |
| Store health | Three meters with one fix line each | Today |
| Wildcard | One wildcard pick a week | Next |
| Sample | The label on every invented example | Next |

Making and handing off

| Plain word | What it means | Status |
| --- | --- | --- |
| Make it | The one making space, the thing left and the chat right | Today, one Make it Next |
| New version | One more take | Today |
| Versions | Every version kept, current marked | Today |
| Confirm a paid make | The one sheet showing the price before a paid make | Today |
| Making | The wait while something is made; you can leave | Today |
| Start something new | Making with no pick, from Work | Next |
| Hand it off | The one button that passes the work on | Next |
| Who is shipping this | Me, My team, My agency or freelancer, The ShopOS team | Next |
| Brief | The numbered brief: what, why, the words, where, by when, the files | Today |
| Guest | Someone outside the brand who works on one brief | Today |
| Copy and open | Copies the words and opens the place to post | Today |

Statuses. Idea, In the works, Handed off, Today. Handed off sub lines: Received, In progress, Needs something from you, Delivered, Today. Scheduled, Live, How it went, Later.

Your store and Settings. What customers say, What rivals run, What AI search says, What changed, What we know about you, Brand book, Team, Connections, Notifications and sound, Account: Today. Memory meter and Which of these do you handle: Next. Ask us to delete your data: Today as a request.

People. Founder, In house marketer, Specialist, Agency or freelancer, The ShopOS team, Approver, Person who ships it, The character.

Character words. Fetch, Buzz, Scoop, Ocho and Seeti words come from the word lists in their system.md files.

Source: _docs/export/product-2/glossary.md, which holds every row in full.

### Words we retired {#j-2.retired}

User moment: You catch yourself typing jam in a design. What is it called now?

Answer: Old words map to one new home each, and an old word left in the product is a Restyle task.

- One old word, one new word
- Vendor and model names never reach a founder
- The old product name is never written

Character line: Fetch: Old words go in the toy box. We do not dig them up. | Buzz: Old words left the hive. We do not fly back for them. | Scoop: Old words are old news. Nobody gossips about old news. | Ocho: I dropped the old words. Freed three arms at once. | Seeti: Old words, off the menu. Do not reheat them.

- jam, studio, remix, stage, canvas becomes Make it. One making space
- card, call, decision, signal, move becomes Pick for the five, idea for the rest. User words
- moves, plays, proofs, evidence becomes Why this, with its plan. The strategy
- today's 10, moves a morning becomes This week's picks. Five
- Find more, See the next 15 becomes See everything. The rest
- On your board, Needs you, Your call becomes Need your yes. One place
- Save for later, Saved, Keep becomes Heart. More like this
- Not interested, Less like this, Show fewer becomes Not for me. Fewer like this
- Redo it, Another take, Make it again becomes New version. One more take
- History, Earlier takes becomes Versions. Every take kept
- Send brief, Share with my team, Send PDF, Brief a team becomes Hand it off. One button
- Drafting, With teammate, Ready, Brief shared, Done becomes Idea, In the works, Handed off. Three statuses
- Memory, Learned, Fact sheet, Rules, Brand Book as a page becomes What we know about you. Settings
- seat, view, Viewing as, role becomes Which of these do you handle. Several answers
- Creative, Performance, Storefront, CRM, AI visibility becomes Social posts, Ads, Website, AI search, Email and WhatsApp. Areas
- Heard, What we heard becomes What customers say. Your store
- competitors, Popular ads becomes What rivals run. Your store
- Reset, Start fresh, Back to the start becomes Start again. Account
- build crew, vendor names becomes the ShopOS team. People

Every row comes from shared/product-model.md section 4. Never show vendor or model names to a founder. Show a price only on the confirm sheet before something paid is made, never on the first button.

### Words the team uses {#j-2.team-words}

User moment: You are new on the team and someone says this is a Recompose, not a Change core.

Answer: Learn four change types, three claim labels and four versions and every plan in this book reads clearly.

- Restyle, Recompose, Add on, Change core
- Today, Next, Later
- v1 drafts, v2 posts, v3 measures, v4 runs ads

Character line: Fetch: Team words. I learned sit, stay and Recompose. | Buzz: Hive words. Every worker bee knows them. | Scoop: Insider words. Now you are in the gang. | Ocho: Eleven words. I wrote them on my arms. | Seeti: Kitchen words. Learn them before you touch the stove.

- Restyle: Tokens, type, icons, illustration, copy. No logic change.
- Recompose: A new view or order over the same data and modules.
- Add on: A new module that only reads from existing ones, behind an off switch.
- Change core: Alters the read, card generation, ranking, the making, the brief format or the share link. A risk to list, never done this round.
- Today, Next, Later: In the build, recommended for v0, after launch.
- v0: The version being built with design partners before launch.
- v1 to v4: Drafts and hand off, then posts, then measures, then runs ads inside rules.
- Design partner: A real brand working with the founders now, with a capped read.
- Surface: Any page, view, sheet, overlay or menu a person can reach. 309 today, 22 in the one product.
- Skin and slot: A character's look and words; a fixed place and size where it may appear.
- Closed card, open pick: Before a tap: 25 words at most. After: draft, Why this, plan, Where to post.
- Dummy tag: The label on anything simulated until it is real.

Sources: BRIEF.md section 3.1, _docs/export/product-2/glossary.md, Build and change terms, book/WRITERS.md versions.

## J3 Decisions {#j-3}

What we decided, when and why.

### The decisions log {#j-3.log}

User moment: You are about to reopen an argument. Was it already settled, and why?

Answer: Every settled call has a date, a reason and a source, so check here before you reopen one.

- Newest calls shape this whole book
- Each row names its source
- Change a call by adding a row, never by editing history

Character line: Fetch: Settled means settled. I do not re-dig buried bones. | Buzz: The hive voted. The dance is written down. | Scoop: Everything decided, on the record. My favourite kind of file. | Ocho: Decided things stay decided. My arms need the rest. | Seeti: Once the lid is on, the recipe is set.

- 16 Oct: Read only connections live. Real and read only on the live site. Pricing parked.
- 23 Oct: Brands open to their own team. Work emails, invites and the ShopOS team only.
- 25 Oct: One product under every character. One journey, three tabs, one set of words. (the turn)
- 25 Oct: Five on the switcher. Fetch, Buzz, Scoop, Ocho and Seeti audition.
- Open: The pick and the name. The owner decides.

| Date | Decision | Why | Source |
| --- | --- | --- | --- |
| 16 Oct | Connections on the live site are real and read only | Look, never act | product-model section 0 |
| 16 Oct | Pricing is parked until after the design partnership | Prices from real use and cost | the founders' pricing draft |
| 23 Oct | Only a brand's own work emails, invites and the ShopOS team open a brand; every opening email is logged | Brand details stay with the brand | the founders' access rule |
| 25 Oct | One product under every character: one journey, one map, one set of words and patterns | The audit found 89 surfaces and many names for one thing | product-model, _research/product-audit.md |
| 25 Oct | Three tabs: Today, Work, Your store; Settings behind your picture | Nothing more than three taps away | product-model section 3 |
| 25 Oct | Seats go away; Which of these do you handle replaces them | What you see follows whether you decide, make or ship | BRIEF.md section 3.2 |
| 25 Oct | Measuring is cut from v1 and returns in v3 | It never claims what it does not do | product-model section 0 |
| 25 Oct | No Change core this round; reshape, never break | The read, generation, ranking, brief and share link must keep working | BRIEF.md section 3.1 |
| 25 Oct | Closed cards: five things, 25 words at most | Cards must land in one glance | product-model section 10 |
| 25 Oct | One take at a time; New version for another | One version, then another, never a menu of options | product-model section 4 |
| 25 Oct | Prices only on the confirm sheet; no vendor or model names | Trust around money | product-model section 4 |
| 25 Oct | Sound off on a first visit, one switch | Protect attention | product-model section 5 |
| 25 Oct | The product name stays open; a wordmark slot holds its place; the old name is never written | Rename in progress | BRIEF.md section 1 |
| 25 Oct | One hero character, no cast in the product | A clear face for one product | BRIEF.md section 3.7 |
| 25 Oct | Fetch, Buzz, Scoop, Ocho and Seeti audition; the ghost and the cat are archived | The owner found the ghost creepy; fun and playful, never creepy | shared/new-cast-brief.md, book/WRITERS.md |
| 25 Oct | Four versions: v1 drafts, v2 posts, v3 measures, v4 runs ads inside rules | One power at a time | book/WRITERS.md |

Dates are when the decision was recorded in the sources. The 25 October rows come from the brand directions work begun that day.

### How a decision gets made {#j-3.how-we-decide}

User moment: You found something unsettled. How does it become a row in the log?

Answer: Write it as an open question, the owner decides, then one new row here and every affected page gets fixed.

- Question first, in j-4
- The owner decides product and brand
- Fix every page that said the old thing

Character line: Fetch: Ask, decide, write it down, fetch the next one. | Buzz: Question, waggle, decision, honey. In that order. | Scoop: Ask out loud, decide, then write it down. No whispered decisions. | Ocho: One arm asks, one decides, one writes it down. Teamwork. | Seeti: Ask the head cook, then write the recipe card.

1. Write the question: Add it to j-4 with who decides and what it blocks.
2. Bring options with a pick: At most two, with our pick and the reason.
3. The owner decides: Product, brand and name calls belong to the owner.
4. Log it: A new row here: date, decision, why, source.
5. Fix the pages: Search the book for the old wording and update every page.
6. Check claims: If a status moved, update i-7 and the Today, Next and Later tags.

- Do: Add a new row when a call changes
- Do: Name the source file for every row
- Never: Edit an old row to hide a reversal
- Never: Log a guess as a decision

Sources: the Deciding something new note in cat/system.md, shared/product-model.md section 0, book/WRITERS.md.

## J4 Open questions {#j-4}

What is still undecided, and who decides.

### The big ones {#j-4.big-ones}

User moment: You want to know what is still undecided before you build on it.

Answer: Two calls shape everything, which character and the product name, and six product truths wait on the owner too.

- The owner picks one character
- The name stays a wordmark slot until then
- Six build and brief differences need a call

Character line: Fetch: Pick me. Or not. I will still fetch. | Buzz: Pick me and the whole hive dances. | Scoop: Between us, the owner has not picked yet. I would have heard. | Ocho: Pick me. I already said yes to being picked. | Seeti: Pick a cooker. Three whistles when you do.

- Fetch: Fetch fetches the ideas.
- Buzz: Buzz makes your store buzz.
- Scoop: Scoop brings the gossip.
- Ocho: Ocho drafts with eight arms.
- Seeti: Seeti whistles when it is ready.

- Which character: One of the five becomes permanent; everything is redone around it.
- The product name: A wordmark slot until the owner names it.
- Reveal before or after sign in: The build signs in first; the reveal before sign in is Next.
- Hand off wording: The ShopOS team really gets the brief by email; your team gets a copy.
- Prepare files per channel: Next or Later.
- Leftover measuring words: Removed in the Restyle, or kept until v3.

| Question | Who decides | What it blocks |
| --- | --- | --- |
| Which character becomes permanent | The owner | Every skin, word list, sound and marketing plan |
| The product name | The owner | The wordmark, domains, the brief page sign off |
| Sign in before the read, or the reveal first | The owner | f1, f2 and f7 order |
| Heart: one more card or a number | The owner | Heart wording; today the build adds one |
| Seats: drop now or map onto Which of these do you handle | The owner | Ranking input, a risk |
| Connections in sales material | The owner | Whether i-7 ever lets us sell them |
| Hand off to the ShopOS team wording | The owner | h1 and h2 copy |
| Measuring leftovers | The owner | The Restyle list |
| Prepare files per channel, Next or Later | The owner | The dial and i-7 |
| Redrawing the chosen character with an illustrator | The owner | Final art; reviews scored art 6 or 7 for every character |

Sources: shared/product-model.md section 0, the claim statuses in each system.md, reviews.js art scores.

### Open product questions {#j-4.product}

User moment: You are building a screen and the docs say open question. Here they all are in one place.

Answer: Every open product question from the docs sits here with the screen it touches, ready to answer and log in j-3.

- Each names its screen
- None is answered by guessing
- Most are small; a few touch ranking

Character line: Fetch: A pile of sticks nobody has thrown yet. | Buzz: Flowers nobody has visited. Yet. | Scoop: Loose ends. My favourite. I have them all on one page. | Ocho: Every loose end, tied to one arm each. I ran out of arms. | Seeti: Half cooked questions. Finish them before serving.

- f6 Reads are full: What is the cap, does it reset weekly, and what does Ask for a design partner read send?. Founders
- f1s Inside Shopify: About 3 to 4 minutes in the kit, about half an hour in today's build. Owner
- m3 Confirm a paid make: Price wording for pictures, carousels and voice; which changes skip the sheet. Owner
- h1 Hand it off: Does it keep the missing information check?. Owner
- h3 Brief page: Can the person who ships mark a brief delivered?. Owner
- x3 Brand switcher: Can one login hold several brands today?. Build team

| Screen | Open question | Source |
| --- | --- | --- |
| f2 | The kit's sign in link against today's Google sign in | journeys.md |
| f6 | The cap number, whether it resets weekly, what Ask for a design partner read sends and to whom | journeys.md |
| f7 | The reveal comes after sign in today; order is the owner's call | screens.md |
| f1s | Read time inside Shopify: about 3 to 4 minutes in the kit, about half an hour in the build | journeys.md |
| t2 | Can an approver who is not on the team answer Need your yes? | journeys.md |
| t4 | Do the laptop keys J, K and M apply on a filtered list? | journeys.md |
| Closed card | Titles may run past 8 words until generation changes; who trims, and where | content.md |
| m3 | Price wording for pictures, carousels and voice clips; which changes skip the sheet; ₹240 is a sample | journeys.md, screens.md |
| m3 | Does a guest's paid make go through m3, and who is billed? | journeys.md |
| h1 | Does Hand it off keep today's Share it anyway check? | journeys.md |
| h2 | Does a team hand off get its own line, and any sub line? | journeys.md |
| h3 | Can the person who ships mark a brief delivered? | journeys.md |
| y1 | Does What changed open its own list or filter See everything? | screens.md |
| Copy and open | Which places it can open for each area | journeys.md |
| x3 | Whether one login can hold several brands today | journeys.md |

Sources: _docs/export/product/journeys.md, screens.md and content.md.

### Open business and team questions {#j-4.business}

User moment: An investor, a partner or a new teammate asks something nobody has written down.

Answer: Money, market and data questions stay open until someone brings a source, and each one has an owner.

- No price, market size or count without a source
- Privacy questions need a named owner
- Analytics has no targets yet

Character line: Fetch: I sniffed everywhere. These ones have no answer yet. | Buzz: Empty cells in the comb. Someone fills them with real honey. | Scoop: I asked around. Nobody knows yet. That is the honest gossip. | Ocho: Questions I cannot say yes to. That hurts a little. | Seeti: Missing ingredients. Do not cook until they arrive.

**Who decides what**
- The founders
  - Price after the design partnership
  - What design partners pay after the partnership
  - A design partner count we may quote
  - How long data is kept after a brand stops
  - Who handles deletion requests, and how fast
  - The investor ask and the team slide
- Whoever researches it
  - Market size from a named source
  - A sourced competitor list
- The team, after a baseline
  - Targets for the analytics in j-1
- The ShopOS team
  - Which stores the demo site shows

| Question | Who decides |
| --- | --- |
| Price after the design partnership | The founders |
| What design partners pay after the partnership | The founders |
| A design partner count we may quote | The founders |
| Market size from a named source | Whoever researches it |
| A sourced competitor list | Whoever researches it |
| How long data is kept after a brand stops | The founders |
| Who handles deletion requests, and how fast | The founders |
| Targets for the analytics in j-1 | The team, after a baseline |
| Which stores the demo site shows | The ShopOS team |
| The investor ask and the team slide | The founders |

Each row came from a page in this book or a doc that flagged it: i-4, i-5, i-6, i-8, j-1, _docs/export/cat/08-communications.md on reads described as free, and _docs/export/raccoon/communications.md on the investor update placeholders.

## J5 How to change this book {#j-5}

Add a page, fix a word, keep it fun.

### Add a page {#j-5.add-a-page}

User moment: You spotted a gap. You want to add a page tonight without breaking the book.

Answer: Find the section in the index, add a page to that part's content file, check it and look at it at phone width.

- book/parts.js lists every part and section
- Pages live in book/content, one file per part
- Copy the shape from a-1

Character line: Fetch: New page? I will fetch the template. | Buzz: A new cell in the comb. Same shape as the others. | Scoop: A fresh page. I love a fresh page. So much room for notes. | Ocho: New page. I have an arm free. Just one. | Seeti: New dish? Follow the recipe card, then taste it.

- book.html
  - the reader, with the character, version and Skim switchers
- book/parts.js
  - ten parts, each with sections and a blurb
- book/content
  - a.js, the worked example
  - one file per part, or two when two writers share it
- book/WRITERS.md
  - the page shape, the visual blocks, the rules, the checks
- book/cast.js
  - the five characters, their art and sound folders

1. Find the section: Its id in book/parts.js, such as i-3.
2. Open the part file: book/content and the part's letter.
3. Write the page: you, one, ten, say for all five, show, full.
4. Tag versions: v: 2, 3 or 4 on anything that arrives after v1.
5. Run the checks: The four checks at the end of book/WRITERS.md.
6. Look at it: At 400 and 1400 wide, with two different characters.

The page shape. Every page has an id, a plain title, you as the store owner's moment, one as the whole answer in a sentence with one highlighted phrase, ten as at most three short bullets, say with one line for each of the five characters, at least one visual block in show, and full with every remaining detail.

Keyed fields. Any field can be keyed by character, such as a different line for Fetch and Seeti, or by version, such as a different sentence for v1 and v3. Facts stay the same across characters.

Sounds. {snd} in a sound path becomes the chosen character's sound folder. Only use line files every character has.

Source: book/WRITERS.md and book/content/a.js.

### Keep it true {#j-5.keep-it-true}

User moment: The build changed this week. Which pages are now wrong?

Answer: When the build moves, update the claims, then the decisions, then every page that repeats them.

- Facts only from the named sources
- A missing fact becomes an open question
- Status changes start at i-7

Character line: Fetch: If the yard changes, I re-sniff every corner. | Buzz: New flowers in the garden? Redraw the map. | Scoop: When the facts change, the gossip changes. Same day. | Ocho: Something changed? All eight arms update their pages. | Seeti: New recipe? Rewrite the menu before service.

1. The build changes: A feature ships or moves
2. i-7: Move its status
3. j-3: Log the decision
4. Search the book: Find every page that says the old thing
5. Fix and check: Run the checks, look at it

- Do: Use the sources listed in book/WRITERS.md
- Do: Write a missing fact as an open question in j-4
- Do: Show how today's product maps to tomorrow's
- Never: Invent a number, a name, a quote or a result
- Never: Describe a Next or Later feature as working
- Never: Write the old product name

Statuses come from the build and handover we last reviewed. Check them against the v0 scope and the code before any build work. Sources: book/WRITERS.md, shared/product-model.md section 0.

### Keep it fun {#j-5.keep-it-fun}

User moment: Your page is correct and dull. How do you make it sound like the rest of the book?

Answer: Funny comes from the character and the situation, one joke per line, never from adjectives.

- Every page opens from the store owner's moment
- One line per character, in its own voice
- Plain and warm around money, privacy and mistakes

Character line: Fetch: Fun rule one: there is always a tennis ball somewhere. | Buzz: Fun rule one: count the pollen out loud. | Scoop: Fun rule one: a little gossip, never about real people. | Ocho: Fun rule one: I am always slightly overcommitted. | Seeti: Fun rule one: I scold the ideas, never the people.

- Fetch: Scruffy and happy. Fetches the ideas, drops them at your feet, keeps sneaking its tennis ball into the picks.
- Buzz: Round, busy and cheerful. Waggles at the best idea and counts pollen.
- Scoop: Nosy and delighted by drama. Says heard, spotted, psst. Never spy, never a rival's name.
- Ocho: Frantic and overcommitted. Says yes to everything, then delivers. Its stress is its own.
- Seeti: Bossy head cook. Counts in whistles, scolds ideas, never people.

- Do: Start from the founder's moment
- Do: Vary sentence length
- Do: Read it once as a tired founder on a phone
- Never: Hype words or stock phrases
- Never: A tidy moral at the end
- Never: The character speaking about money, privacy or a mistake

Voices come from book/WRITERS.md, dog/system.md, bee/system.md, raccoon/system.md, octopus/system.md and cooker/system.md. Fetch and Buzz words come from dog/system.md and bee/system.md.
