FetchBuzzScoopOchoSeeti
Snapshots

Fetch the scruffy dog lives in seven slots, off every control

Waiting on you
  • Fetch fetches the week's ideas and drops them at your feet, around the brand's work.
  • It never sits on a button, a card, a decision or a brand photo.
  • Fetch never claims it posted your work or lifted your sales.
  • New abilities arrive as new props or poses, never a new character.
18Of 45 screens
Your call

Should the character layer start on or off for a new brand?

Design · 3.11 · Fetch

Character usage, Fetch

DraftLast checked Mon Oct 26Owner Param

Answer

Fetch, a scruffy, happy dog who fetches this week's marketing ideas and drops them at your feet, is Brew's one character in this direction, and it lives only in seven fixed slots, narrating the week around the brand's work and never sitting on a control, a card or a brand photo.

Today

Checked 26 October 2026.

Fact Source
The live product has no character. It shows five agent faces and colours, which go; only the area dots stay brand-directions/_shared/surface-map.md:463
Logo stickers sit in the feed today and go from view brand-directions/_shared/surface-map.md:475
The live app plays sound unless switched off, with 8 synthesized and 29 recorded cues brand-directions/_shared/surface-map.md:473
Five directions are in audition; Param picks one and everything is redone around it memory brand-directions-2026-10-25
Fetch's art: every frame is drawn as vector from one rig, dog/_src/rig/fetch.py, by poses.py brand-directions/dog/system.md:91-111
Owned colour tennis ball green #aee32f on the ears, collar, tail tip and ball; coat cream #fff4dc; ink outline #16180f; matte, no shine brand-directions/dog/system.md:91-111
Anatomy that never changes. The left ear floppy and outside the head, the right ear standing with its tip folded forward, three scruff tufts on the crown, in every frame. brand-directions/dog/system.md:91-111
Signature. Fetch sits beside a card it has just dropped at your feet, tail wagging, tongue out to one side, the left brow a touch higher. brand-directions/docs2/data/dirs.json
Illustration treatment, books and marketing only: the felt plate: a green disc set 8 px right and 6 px down behind Fetch, 20 percent on dark and 38 percent on light brand-directions/dog/system.md:34
The kit gives Fetch these poses: corner dog/char-mark.svg, idle dog/char.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 dog/svg/pose-07.svg, handoff dog/svg/pose-06.svg, drop dog/svg/pose-03.svg, heart dog/svg/pose-04.svg brand-directions/dog/kit-skin.js:19-31
Below 120 px the kit swaps any pose for the small mark, dog/char-mark.svg, the head alone with both green ears and the tongue out; dog/char-mark-16.svg at 16 px brand-directions/_kit/render.js:52-54
No raw generated image may appear; every character image is a flat traced SVG in the direction's palette brand-directions/_shared/no-ai-look.md:52-58

Tomorrow

Fetch arrives in v1 as an add on layer behind its own off switch. Remove it and every control still works. brand-directions/_shared/product-model.md:131, 152 v1, New.

The slots

Slot Model size Kit size Pose File drawn Screens Words
Today header corner 40 to 56 px 44 px phone, 56 px laptop corner dog/char-mark.svg t1, d1 "Monday. Five picks, dropped at your feet." on Monday, "Back again. The picks are where I left them." other days
Sign in corner small corner 48 px corner dog/char-mark.svg f2 "Your work email keeps your store with your own team."
Reading your store 120 to 180 px 140 px wait dog/svg/pose-02.svg f4 "Sniffing round your store. About 3 to 4 minutes."
The reveal 160 px 160 px celebrate dog/svg/pose-09.svg f7 "Brought this back first. Have a look."
Empty states 96 px 96 px empty dog/char-mark.svg w2, f6 "Nothing in the works yet. Pick one and I will follow."
Celebrations 120 px 120 px celebrate or caught dog/svg/pose-09.svg; caught up dog/svg/pose-07.svg h2, t5 "That is the week. Every pick seen."
A heart celebration, small 40 px in the toast celebrate dog/char-mark.svg t6 "Good pick. Fetching more like it."
Errors and cap reached 96 px 96 px; 56 px inside Make it error dog/char-mark.svg f3, f5, m5, x1 "Dropped that one. Your other versions are safe. Try again."
Long waits wait pose 64 px making, 96 px offline wait dog/char-mark.svg m2, x2 "Making it now. You can go, I will stay."
Your store header idle 56 px idle dog/char-mark.svg y1 "What customers, rivals and AI answers say about your store."
Brief page sign off 32 px 32 px corner dog/char-mark.svg h3 "Fetched for you. Over to you now."
Monday email sign off small 28 px corner dog/char-mark.svg e1 "Morning. Five picks for your store, most already drafted."

Fetch appears in 18 of the 45 screens. brand-directions/_shared/ia.md:131 brand-directions/_kit/screens.js:83-536 brand-directions/dog/kit-skin.js:42-84

Never

  • On buttons, inside the thing being made, on tables of numbers, in Need your yes decisions, over a brand's own photos. brand-directions/_shared/product-model.md:142
  • On a card. Cards belong to the brand; Fetch speaks around them. brand-directions/_shared/product-model.md:207
  • As a second character. No bones, no food, no mess. It fetches ideas, it does not eat them.
  • In money, privacy, apologies or anything a person must sign.

How Fetch behaves

  • Errors make Fetch sheepish, ears down. It is never sad, hurt, scared or begging.
  • One motion at a time in the product, at real moments only, all inside the reduced motion check.
  • Voice: Fact first, joke second. One joke per line at most. Short sentences, present tense, glad to see you. Excited and plain at the same time. First person about itself, second person to you.
Pose Motion in the product
idle bob, 2.8 s loop
wait sniff, 1.4 s loop
celebrate hop, 1 s, once
error shake, 2.4 s, once

brand-directions/dog/kit-skin.js:32-41

Lines Fetch may say and never says

May say Never says
Five picks at your feet. Most are drafted. I posted it for you.
Sniffing round your store. About 3 to 4 minutes. Scheduled for 9am.
Good pick. Fetching more like it. Your sales went up after my picks.
Another throw. The first one stays in the pile. You missed a walk. I waited all day.
Drop it. Brief copied, link ready. You pass it on. Don't break your streak.
Only you can answer these. I will sit here. Only two hours left to claim your read.
That is the week. Every pick seen. I am keeping the ball now. Works for any store.
Lost the scent on that one. Your work is safe. Try again. Your rival is beating you.
Out of throws for now. Reads are capped while we build v0. Ask us for one. Trust me.
I am not sure of this number. Confirm it before you use it. Bad owner.

brand-directions/docs2/data/dirs.json

Areas as props

Area Fetch's prop
Social posts the frisbee
Ads the megaphone
Website the front door
AI search the phone
Email and WhatsApp the rolled morning paper

The tennis ball is Fetch's own and belongs to the running joke. Files: dog/svg/mode-social.svg, mode-ads.svg, mode-website.svg, mode-ai.svg, mode-email.svg. Props show in marketing, the reveal and celebrations; in the product the area is a small dot and a word. brand-directions/dog/system.md:78

Growing with the product

Version What Fetch gains File Tag
v1 the slots above, as adviser dog/char.svg New
v2 carries finished work to a place you chose dog/svg/grow-doer.svg New
v3 a paw at a chart dog/svg/grow-reporter.svg New
v4 running within rules: no prop defined yet not drawn New

New abilities arrive as new props or poses, never a new character. brand-directions/BRIEF.md:241-249

Sound

Six cues, off on a first visit, one switch in Settings: logo dog/snd/logo.mp3, heart dog/snd/cue-heart.mp3, ready dog/snd/cue-ready.mp3, handoff dog/snd/cue-handoff.mp3, error dog/snd/cue-error.mp3, caught dog/snd/cue-caught.mp3. The longer line files are for books, the site and marketing and never play in the product. brand-directions/dog/kit-skin.js:86-89

How we do it

  1. Need a new moment? Add the prop, pose or line to brand-directions/dog/system.md first.
  2. Draw it from the one source: every frame is drawn as vector from one rig, dog/_src/rig/fetch.py, by poses.py. Never redraw the body by hand, never use a raw generated image.
  3. Add the file to the art key in brand-directions/dog/kit-skin.js and any words to the words key, 12 words at most.
  4. Place it only in a named slot from the table above, at its size.
  5. Check it at the slot size; under 120 px it must read as the small mark.
  6. Switch the character layer off and check the screen still works.
  7. Turn on reduced motion and check Fetch holds still.

Numbers

Number Definition Today Where measured Status
Screens with Fetch of 45 kit screens 18 _kit/screens.js Measured
Slots named places Fetch may sit 7 in the model, 12 placements in the kit product model, kit Measured
Fetch over a control instances where Fetch covers a control not measured headless audit with the layer on and off Proposed
Character switch off rate share of people who turn the layer off not measured product event Proposed

Open

  1. Fetch has extra poses for heart, drop and handoff that the kit never calls. Use them? Proposal: Use the heart pose on the first heart celebration at 120 px and drop on the Monday greeting; leave handoff for marketing.
  2. The felt plate is a book treatment. Should it sit behind Fetch in the product too? Proposal: No, keep the product calm; the plate stays in books, the site and marketing.
  3. The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.
  4. Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control.
Sources
  • brand-directions/dog/kit-skin.js
  • brand-directions/dog/system.md
  • brand-directions/docs2/data/dirs.json
  • brand-directions/_shared/product-model.md:129-142, 207
  • brand-directions/_shared/kit-contract.md:19-27
  • brand-directions/_shared/ia.md:83-131
  • brand-directions/_shared/no-ai-look.md:7-18, 52-58
  • brand-directions/_kit/render.js:47-54
  • brand-directions/_kit/screens.js:83-536
  • brand-directions/BRIEF.md:241-276
  • brand-directions/_shared/surface-map.md:463, 473, 475
  • memory: brand-directions-2026-10-25, brew-sounds

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