FetchBuzzScoopOchoSeeti
Snapshots

Scoop sounds like paper and breath, and keeps quiet until invited

Being built
  • Sonic logo: paws through crisp paper, then two breathy notes rising.
  • Scoop's rules say sound starts off; today the product has it on.
  • It sits over the product's 29 cues, and the small speaker loudness rule wins.
  • The sonic logo plays on the stage, home page, reels and first read reveal only.
  • Voice lines stay in marketing and the stage in v1.
29product cues underneath
Your call

Sound off on a first visit, with the logo playing once only after a tap?

Brand · 4.12 · Scoop

Sound and motion, Scoop

DraftLast checked 2026-10-26Owner Param

Answer

How the product sounds and animates today, and how Scoop's paper and breath sounds, voice and motion timings would sit over it if Param picks this direction.

Today

Sound in the live product

Fact Detail Source
Cues 29 designed cues rendered offline with earshot into public/sfx/<cue>.mp3 brew/tools/sfx/cues.json:1; memory brew-sounds
Levels Set by loudness through a small speaker, from about minus 38 LUFS for the ratchet to minus 23 for live and win. Never peak normalised brew/tools/sfx/cues.json:6; brew/tools/sfx/cues.json:23
Default On, unless the person switched Sounds off in the account menu brew/public/app.js:1470; brew/public/app.js:2936
Fallback A small synth plays a cue whose file has not loaded brew/public/app.js:1481; brew/public/app.js:1525
Loading Files load on the first tap or key, or 12 s after the page loads brew/public/app.js:1522
One tap, one sound Each cue has a gap before it can repeat. Background cues give way to any cue just played brew/public/app.js:1523
Silent screens Screens that change by themselves stay silent, only taps make sound brew/public/app.js:1529; memory brew-sounds
Haptics A light vibration with some cues on screens up to 760 px wide brew/public/app.js:1526
Copy Any copy to the clipboard plays the tick brew/public/app.js:1532

Where today's cues play

Moment Cue Source
Heart, unheart heart, unheart brew/public/app.js:1548
Ship, share to a person live brew/public/app.js:1536
Copy a brief or hand off tick brew/public/app.js:1538
Pick a tile or a product in onboarding select brew/public/app.js:1539; memory brew-sounds
AI makes or fixes something bubble brew/public/app.js:1540
Switch versions step brew/public/app.js:1541
Open a jam or a story pop brew/public/app.js:1542; brew/public/app.js:1545
Decline, discard, remove a product sweep brew/public/app.js:1536; brew/public/app.js:1543
Approve approve brew/public/app.js:1544
Build my feed, share and send in chat send brew/public/app.js:1537; brew/public/app.js:1558
A final or long job ready, a tool connected ready, connected brew/public/app.js:1507; brew/public/app.js:1510
Drag a Deck column ratchet brew/public/app.js:1556

Motion in the live product

  • Every button that waits on the server shows one loader, never flashing on fast answers. brew/public/loader.js:1; memory brew-loader
  • The loader and stories stop animating under reduced motion. brew/public/feed-system.css:157

Scoop's sound and motion, in the audition files

Part Detail Source
Sonic logo Paws through crisp paper for one second, then two breathy notes rising, about 240 then 380 hertz. 1.9 seconds brand-directions/raccoon/motion.html v0
Heart cue One crisp pencil tick, 0.6 s brand-directions/raccoon/motion.html v0
Ready cue A notepad page flipping with a snap, 0.8 s brand-directions/raccoon/motion.html v0
Hand off cue A folded note sliding across wood, a tap, 1.0 s brand-directions/raccoon/motion.html v0
Error cue A soft stumble and fluttering papers, 1.2 s brand-directions/raccoon/motion.html v0
Caught up cue A notepad closing, a content exhale, 1.2 s brand-directions/raccoon/motion.html v0
How made ElevenLabs sound effects from sound only prompts, levelled to about minus 16 LUFS, recipe in snd/make.py brand-directions/raccoon/motion.html v0; brand-directions/raccoon/snd/sound-log.json
Voice Rummage voice: thirties, low, a little husky, quick, conspiratorial, kept as option 2 of 3 brand-directions/raccoon/snd/voice.json
Recorded lines Tagline, paste, read, Monday drop, heart, hand off, caught up, error, tally, payoff brand-directions/raccoon/snd/sound-log.json
Sound rules Off by default, paper and breath only, one cue per action, the gasp means good news, cues under two seconds, logo under three brand-directions/raccoon/motion.html v0
Idle Rigged sway and psst 3.6 s, tail flick 4.6 s, eye dart 6.2 s, blink 5.2 s brand-directions/raccoon/character.html c7
React Squash 1.06 by 0.92, jump 9 percent of height, 550 ms, overshoot brand-directions/raccoon/motion.html v1
Celebrate Two hops of 12 percent height with a 4 degree tilt, 1.4 s in all brand-directions/raccoon/motion.html v1
Wait Scribble pose, sway 1.1 s. Bob for loads over 3 s, 2.6 s loop brand-directions/raccoon/motion.html v1
Product skin motion Sway and hop keyframes inside a no preference reduced motion query brand-directions/raccoon/kit-skin.js:32

The two systems level sound differently: today's cues by small speaker loudness, Scoop's files to about minus 16 LUFS. They have not been compared on the same device. memory brew-sounds; brand-directions/raccoon/motion.html v0

Tomorrow

Sound

  • v1, New: Scoop's sonic logo plays on the stage, the home page, reels and the first read reveal, never on a routine tap.
  • v1, Changes: five of today's cues are replaced by Scoop's: heart becomes the pencil tick, ready becomes the page flip, the hand off tick becomes the note slide, error becomes the soft stumble.
  • v1, New: the caught up cue, a notepad closing, plays when the week's picks are all seen. Caught up does not exist in the product today.
  • v1, Stays: the small interface cues such as step, select, toggle and sheet, re-rendered in the paper family so nothing sounds electronic.
  • v1, Stays: one tap, one sound, silent screens, the synth fallback and the haptics rule.
  • v1, Changes: sound is off on a first visit, with one toggle in Settings. Today it is on by default. Param decides, see Open.
  • v1, New: the gasp never plays on an error or a limit.
  • v1, New: no music bed in the product.
  • v1, New: voice lines in the product only behind a setting that starts off, and only for the read and caught up. Never on the brief page, support, privacy or apologies.
  • v1, Changes: every cue levelled again by small speaker loudness with today's build check, so Scoop's files and today's cues sit at one level.

Moment lines

Moment Line Version
Paste Pop your store link in. For your read, I only look at what's public. v1, New
Read Going through everything people say about you. Give me three or four minutes. v1, New
Monday drop Fresh week, fresh gossip. Five picks, and the second one is spicy. v1, New
Heart Ooh, you liked that one. Noted. I will dig up more like it. v1, New
Hand off Copied. Slip it to whoever ships it. My lips are sealed. v1, New
Caught up That is all the gossip for this week. Back Monday with more. v1, New
Error Oops. Tripped over my own tail. Give me a second and try that again. v1, New

Motion

Product event Slot and size Motion Cue Version
Read starts Reading your store, 120 to 180 px Scribble pose, slow sway Rummage, once v1, New
Read done, the reveal 160 px React with the gasp Ready, then the gasp v1, New
Monday picks land Today corner, 40 to 56 px Peek in, one hop Ready v1, New
Heart Today corner React Heart v1, New
Brief copied or sent to our team Celebration, 120 px Celebrate Hand off v1, New
Error or cap 96 px Oops pose, no jump Error v1, New
Caught up Celebration, 120 px Sleepy pose, still Caught up v1, New
  • v1, New: motion is whole body only, poses are swapped, never cut apart, except the rig in char.svg.
  • v1, New: one reaction at a time, a new one cancels the old. Nothing animates while the person types.
  • v1, New: under reduced motion nothing animates and poses still swap.
  • v1, Stays: the one loader on every wait.
  • v2, New: a cue for a post that went out at its scheduled time, from the paper family, after a person said yes.
  • v3, New: a cue for How it went, the newspaper unfolding, only when results land.

Reels

  • v1, New: three timing templates, the reveal, the list and the wind down, captioned in Gloock, one Kalam aside per reel, voice on top, cues under the voice.
  • v1, Stays: the brand's own six second videos from Make it never carry Scoop or its sounds.

How we do it

  1. Render or swap a product cue through the existing pipeline, never by hand:
cd /Users/param/Documents/ChatGPT/brew && tools/sfx/build.sh
  1. Level every cue by small speaker loudness. The build fails a cue that loses more than 6 dB through a small speaker.
  2. Test by recording every sound start in the browser and walking the real app: feed, story, studio, jam, onboarding, connect, errors.
  3. New Scoop sound effects come from ElevenLabs with prompts that describe sound only, no music and no words, logged in raccoon/snd/sound-log.json.
  4. New voice lines use the Rummage voice, one line per recording, under six seconds. Lean in on the second half, drop the pitch for anything about trust, keep errors quick and sheepish.
  5. Put every animation inside a no preference reduced motion query.

Numbers

Metric Definition Where measured Status
Cue count Designed cue files in the product public/sfx on brew origin/main, 29 today Exists
Level spread Gap between the loudest and quietest cue through a small speaker tools/sfx/build.sh output Proposed
Sound on rate Share of people with sound on after their first week Product analytics, not built Proposed
Blind sound test Share of founders who pick Scoop's ready cue as your week is ready, with no pictures Founder test from book f-1, not run yet Proposed

Open

  1. Sound on or off by default? Today it is on. Scoop's rules say off. Proposal: off on a first visit, the sonic logo plays once on the reveal only after the person taps to hear it.
  2. Do voice lines ship in the product at all in v1? Proposal: no, voice stays in marketing and the stage until a setting exists.
  3. Which loudness rule wins, minus 16 LUFS or today's small speaker levels? Proposal: today's small speaker rule, since it was built to fix cues that did not play on phones.
Sources
  • brew origin/main a559de6 tools/sfx/cues.json lines 1 to 34
  • brew origin/main public/app.js lines 1468 to 1560, 2936 to 2939
  • brew origin/main public/loader.js lines 1 to 8
  • brew origin/main public/feed-system.css line 157
  • brand-directions/raccoon/brand.html b4, b5
  • brand-directions/raccoon/motion.html v0, v1, v2
  • brand-directions/raccoon/character.html c6, c7
  • brand-directions/raccoon/kit-skin.js lines 32 to 41, 90 to 97
  • brand-directions/raccoon/snd/sound-log.json
  • brand-directions/raccoon/snd/voice.json
  • memory brew-sounds, brew-loader

Source file content/brand/sound-and-motion.raccoon.md · For agents: Markdown · JSON