Snapshots

How Fetch looks, acts and talks, so anyone can draw it

Being built
  • Fetch is a scruffy, happy dog: green ears, three scruff tufts, a ball.
  • Its flaw is eagerness: it sneaks one more thing in, usually its own ball.
  • Never says it posted, sent or scheduled anything, and never makes up a pick.
  • Below 120 pixels only the small mark shows, the head with both green ears.
  • Not picked, and no critic has scored it.
24pixel check for small mark
Your call

Is Fetch sharp enough, after a generic friendly dog was turned down before?

Brand · 4.5

Fetch character bible

DraftLast checked 2026-10-26Owner Param

Answer

Fetch is a scruffy, happy dog who fetches this week's marketing ideas and drops them at your feet, and this bible settles how it looks, acts, talks and grows so anyone can draw or write it without asking.

Today

Fetch is one of five characters in the audition. It is not picked and not in the live product.

Who it is

Part Fetch Source
Name Fetch, placeholder. Alternates Scruff and Bounder brand-directions/dog/brand.html b6
One line A scruffy, happy dog who fetches this week's marketing ideas and drops them at your feet brand-directions/dog/system.md s0
Tagline This week's ideas, fetched brand-directions/dog/system.md s0
Five words a founder uses Scruffy dog fetches marketing ideas brand-directions/dog/system.md s0
Edge Over eager. Brings back a bit too much, gets distracted by anything shiny, then comes back with the good one. The flaw is its own, never aimed at you brand-directions/dog/system.md s0
Want For you to throw it again. A pick means another run. It wants the next throw, not praise brand-directions/dog/character.html c1
Flaw It cannot bring back only five. It sneaks one more thing in, usually its own ball. The product holds the line at five brand-directions/dog/character.html c1
Running joke Every Monday the tennis ball sneaks in among the five picks. Friday, caught up, Fetch gets to keep it brand-directions/dog/character.html c0
Signature gesture Sits beside a card it just dropped at your feet, tail wagging, tongue out to one side, left brow a touch higher brand-directions/dog/system.md s4
World The yard: the grass between your door and the street. Your store is the house, the week is a walk brand-directions/dog/brand.html b3

What it never does

  • Never sulks, whines, looks hurt, scared or begging. Errors make it sheepish, ears down brand-directions/dog/system.md s4
  • Never pretends it posted, sent or scheduled anything brand-directions/dog/character.html c1
  • Never names a real rival or a real person brand-directions/dog/character.html c1
  • Never covers a button, a card or a product photo brand-directions/dog/character.html c1
  • Never brings back something made up. Every pick has a source brand-directions/dog/character.html c1
  • No bones, no food, no mess. It fetches ideas, it does not eat them brand-directions/dog/system.md s4
  • No other dogs, no puppies, no supporting cast in the product, ever brand-directions/dog/system.md s4

How it is drawn

Part Rule Source
Head A circle about 1.1 times the width of the body, the biggest shape. Eye line just above the middle brand-directions/dog/art.html a1
Ears Left ear floppy and outside the head, right ear standing with its tip folded forward. Both tennis ball green, both in every frame, lopsided on purpose brand-directions/dog/system.md s4
Crown Three scruff tufts, uneven, the middle one tallest, every frame brand-directions/dog/character.html c2
Body A pear sitting on the grass line, two front legs, one haunch peeking out on the right brand-directions/dog/character.html c2
Collar and tag Green collar, a plain round tag with nothing written on it brand-directions/dog/character.html c2
Tail From the right haunch, thick at the base, ending in a green tuft. Usually wagging with three small arcs brand-directions/dog/character.html c2
Face Two ink dot eyes, left brow a touch higher, a big rounded nose, a w mouth, tongue out to one side when happy brand-directions/dog/character.html c2
Colour Green #aee32f on ears, collar, tail tip and ball only. Coat #fff4dc, ink #16180f, tongue #ff9a85 brand-directions/dog/art.html a1
Finish One outline weight for the body, a lighter one for inner lines. Flat fills, matte, no shine, no gradient, no soft shadow brand-directions/dog/system.md s4
Small mark The head alone: both green ears, bigger eyes and nose, tongue out, every line thickened. A card in the mouth turned to mush at 24 pixels in testing, so the card stays in the full figure brand-directions/dog/character.html c2
Mark sizes char-mark.svg below 120 pixels, char-mark-16.svg at 16 pixels with heavier lines brand-directions/dog/system.md s4
Silhouette test Black out every pose. Floppy ear left, folded ear right, tufted tail. If the mood still reads, the pose works brand-directions/dog/art.html a1, a6

Eight expressions

Face Look Moment File Source
Eager Tongue out, left brow up. The default Greeting, the drop dog/svg/expr-eager.svg brand-directions/dog/character.html c3
Delighted Eyes shut in a grin A heart, the first win dog/svg/expr-delighted.svg brand-directions/dog/character.html c3
Focused Squint, tongue tip out Making something dog/svg/expr-focused.svg brand-directions/dog/character.html c3
Curious Head tilt, ear up The three questions dog/svg/expr-curious.svg brand-directions/dog/character.html c3
Distracted Eyes sliding off to something shiny Rival ads dog/svg/expr-distracted.svg brand-directions/dog/character.html c3
Sheepish Ears down, a wobbly mouth Our errors dog/svg/expr-sheepish.svg brand-directions/dog/character.html c3
Proud Eyes shut, chin up Handed off dog/svg/expr-proud.svg brand-directions/dog/character.html c3
Sleepy Half lids Caught up, Friday dog/svg/expr-sleepy.svg brand-directions/dog/character.html c3

Ten poses, tied to moments

The status is for the moment in the product, from the shared product model.

# Pose Moment Slot and size Moment status File Source
1 Sitting tall, eyes on the ball Paste your store Paste screen, 120 px Today dog/svg/pose-01.svg brand-directions/dog/character.html c4
2 Nose down at the shopfront Reading your store The read, 120 to 180 px Today dog/svg/pose-02.svg brand-directions/dog/character.html c4
3 The drop, a card at your feet This week's picks land Today corner, the Monday email Next dog/svg/pose-03.svg brand-directions/dog/character.html c4
4 Hop, paws up Heart, first win Celebration, 120 px Next dog/svg/pose-04.svg brand-directions/dog/character.html c4
5 Pencil in mouth, paw on the draft Make it, while it makes Making wait, 96 px Today dog/svg/pose-05.svg brand-directions/dog/character.html c4
6 Card in mouth to a real hand Hand it off Handed off screen Next dog/svg/pose-06.svg brand-directions/dog/character.html c4
7 Curled up with the ball You're caught up Caught up, 120 px Next dog/svg/pose-07.svg brand-directions/dog/character.html c4
8 Ears down by a torn card Error, cap reached 96 px Today dog/svg/pose-08.svg brand-directions/dog/character.html c4
9 Jump catch, ears flying First win complete Celebrations and reels Next dog/svg/pose-09.svg brand-directions/dog/character.html c4
10 Head tilt, ball in the air Waiting, empty states Empty states, 96 px Today dog/svg/pose-10.svg brand-directions/dog/character.html c4

Props for the five areas

Areas are tags and filters. The prop shows only with the area tag and never replaces it. The tennis ball is Fetch's own and belongs to the running joke.

Area Prop Question it answers File Source
Social posts The frisbee What should I post this week? dog/svg/mode-social.svg brand-directions/dog/character.html c9
Ads The megaphone What ad should I run next? dog/svg/mode-ads.svg brand-directions/dog/character.html c9
Website The front door Why are visitors not buying? dog/svg/mode-website.svg brand-directions/dog/character.html c9
AI search The phone, sniffed Does ChatGPT recommend me? dog/svg/mode-ai.svg brand-directions/dog/character.html c9
Email and WhatsApp The rolled morning paper How do I get customers back? dog/svg/mode-email.svg brand-directions/dog/character.html c9

Growth

Stage What Fetch carries Status in the books File Source
Adviser Ideas and drafts, dropped at your feet. You decide and ship Today dog/char.svg brand-directions/dog/character.html c10
Doer With your yes, finished work to the place you said, inside your rules, with undo Later dog/svg/grow-doer.svg brand-directions/dog/character.html c10
Reporter A paw at a chart of how it went, and next week's picks learn from it Later dog/svg/grow-reporter.svg brand-directions/dog/character.html c10

Week one to month six

When What Fetch knows How it behaves A line Source
Week one Your store link and the read Bouncy, a little too much. Explains itself once I sniffed round your store. Brought back five. Tell me which ones you like. brand-directions/dog/character.html c5
Week two Which picks you hearted and left Brings more of what you liked You liked the rain ones. Found two more. brand-directions/dog/character.html c5
Month one Your house rules and the thing you never post Stops bringing what you said no to, and says so No discount ideas this week. You told me to leave those. brand-directions/dog/character.html c5
Month three Your rhythm, who ships for you Calmer. Fewer words, same tail Five picks. Two are ready for your editor. brand-directions/dog/character.html c5
Month six A lot of the scent, exportable Later Waits at the door on Mondays Monday. You know the drill. Ball is in there somewhere. brand-directions/dog/character.html c5
  • Progress is what you did and what Fetch knows about your store, never your sales. The scent meter never empties because you were away brand-directions/dog/character.html c5

How it talks, by mood

Two lines per mood from the ten in the character book. The full set lives in c6.

Mood Lines Source
Eager Five picks at your feet. Most are drafted. / I brought the rain one first. It smelled best. brand-directions/dog/character.html c6
Delighted Good pick. Fetching more like it. / The editor has it. Tail going. brand-directions/dog/character.html c6
Focused Chewing on the caption. One second. / Looking at public ads only. brand-directions/dog/character.html c6
Sheepish Lost the scent on that one. Your work is safe. / That number is a guess. Confirm it before you use it. brand-directions/dog/character.html c6
Curious Which of these do you handle? / One thing you never want to post? brand-directions/dog/character.html c6
Sleepy That is the week. Nap time. / Rest day taken. No walks missed. brand-directions/dog/character.html c6
Never says I posted it for you. Scheduled for 9am. Your sales went up after my picks. You missed a walk. I waited all day. Don't break your streak. Only two hours left to claim your read. Works for any store. Your rival is beating you. Trust me. Bad owner. brand-directions/dog/system.md s5
  • Voice: an adult in their late twenties, bright, bouncy and warm, quick, never breathy, whispery or childlike. Option 1 of three was kept and saved as Fetch voice brand-directions/dog/snd/voice.json

Animation

State Motion Timing Source
Idle Body bobs 4 px, tilts 1 degree each way, tail wags Bob 2.8 s ease in out, tail 0.45 s alternate, minus 10 to 8 degrees brand-directions/dog/system.md s1
React One head tilt and back, ears follow by 60 ms 280 ms in, 400 ms hold, 280 ms out brand-directions/dog/character.html c7
Celebrate One hop up 14 px with a stretch, land with a squash 1 s, once in the product brand-directions/dog/motion.html v1
Wait Slow breathing scale about 2 percent, nose dips while reading 4 s loop. The kit sniff runs 1.4 s brand-directions/dog/character.html c7; brand-directions/dog/kit-skin.js motion
Error Small head shake, three beats, then still 2.4 s, once brand-directions/dog/system.md s1
  • The books disagree on small values: the head tilt is 7 degrees in c7 and 8 in motion v1, celebrate 1.1 s and error 2.6 s in the motion demos. The system file wins, so 1 s and 2.4 s brand-directions/dog/character.html c7; brand-directions/dog/motion.html v1; brand-directions/dog/system.md

The art pipeline

  • One rig in dog/_src/rig/fetch.py draws head, face rig, ears, tufts, three stances, sit, lie and the play bow, the tail and every prop as flat vector brand-directions/dog/character.html c11
  • dog/_src/rig/poses.py sets each frame and writes char.svg, the two marks and every file in svg/. dog/_src/rig/mark.py holds the small mark brand-directions/dog/system.md s4; brand-directions/dog/_src/rig
  • dog/_src/render.mjs renders frames to PNG at 512 and 24 pixels for checking, big, small and in silhouette brand-directions/dog/character.html c11
  • No image model drew Fetch, so it is the same dog in every frame brand-directions/dog/art.html
  • No independent critic has scored Fetch yet. It was built after round 3 on 25 October brand-directions/book/content/f.js f-1.side-by-side

Tomorrow

These rules hold if Fetch is picked.

Item Version Tag
Fetch is an add on layer in fixed slots: Today corner 40 to 56 px, reading 120 to 180 px, reveal 160 px, empty and error 96 px, celebrations 120 px, brief page sign off 32 px. Remove it and every control still works v1 New
Below 120 px only the small mark, at 16 px the heavy mark v1 New
Never on buttons, inside the thing being made, on tables of numbers, in Need your yes decisions or over a brand's photos v1 New
One motion at a time, then rest. Nothing moves while you tap, type or scroll. Reduced motion holds every pose still v1 New
Poses 3, 4, 6, 7 and 9 arrive with the Monday drop, first win, one Hand it off button and caught up v1 New
The dial: full voice for hearts, picks and caught up. Own our errors in one line. Off for money, privacy, apologies and anyone upset, where a person writes by name v1 New
The ball joke counts what the founder did, never a result v1 New
Doer: the same dog carries finished work where you said, after your yes, with undo v2 New
Reporter: a paw at the chart of how it went v3 New
Runs ads within your rules: a new prop, never a new character. Not drawn yet v4 New
Final art redrawn by an illustrator from the one rig v1 Changes
The name Fetch stays a placeholder until confirmed v1 Stays

How we do it

  1. Before drawing anything new, write the moment, prop or line in dog/system.md first.
  2. Add one line to dog/_src/rig/poses.py: stance, lean, tilt, ear swing, eyes, brows, mouth, tail angle, wag, what sits in front.
  3. A new prop is drawn in dog/_src/rig/fetch.py with the same outline weight and the same three colours.
  4. Render and check big, at 24 px and in silhouette:
cd /Users/param/Documents/ChatGPT/brand-directions/dog/_src
python3 rig/poses.py
node render.mjs
python3 build.py
  1. Check against the do and do not list: a card, a ball or a pick in every frame, both green ears, no shine, no sad dog, no second dog.
  2. Run the writing checker on any new line, then rebuild the pages from _src, never the built page.

Numbers

Metric Definition Where measured Status
Ten second test Share of founders who name the dog and the job after ten seconds on the home page Five or more founder sessions Proposed
Icon recall Share who can describe the small mark a day after seeing it at 24 px Same sessions Proposed
Bad day test Share who would forgive the error line read aloud Same sessions Proposed
Bar score Score against the eleven point bar in BRIEF.md 3.8 by a critic who did not build it A review file in dog/ Proposed, not run

Open

  1. Is Fetch sharp enough after a generic friendly dog was turned down before? Proposal: run the ten second and bad day tests with five founders and a critic round against the bar before the pick.
  2. Is Fetch the final name, given it cannot be owned as a trademark alone? Proposal: keep Fetch as the character name, since it is never the product name, and hold Scruff as the alternate.
  3. Who redraws the final art? Proposal: brief one illustrator from the rig and this bible after the pick, keeping the rig as the source for every product frame.
  4. Which motion values win where the books disagree? Proposal: the system file values, 1 s celebrate and 2.4 s error, and fix the motion page to match.
Sources
  • brand-directions/dog/system.md s0 to s7
  • brand-directions/dog/character.html c0 to c11
  • brand-directions/dog/art.html a1 to a6
  • brand-directions/dog/brand.html b1, b2, b6
  • brand-directions/dog/motion.html v1
  • brand-directions/dog/kit-skin.js art, motion, words
  • brand-directions/dog/snd/voice.json
  • brand-directions/dog/_src/rig/fetch.py, poses.py, mark.py
  • brand-directions/docs2/data/dirs.json, entry dog
  • brand-directions/book/content/f.js f-1.side-by-side, f-2, f-3.dial
  • brand-directions/BRIEF.md sections 3.7, 3.8
  • memory brand-directions-2026-10-25

Source file content/brand/fetch-character-bible.md · For agents: Markdown · JSON