UI mockup thread — beat sheet + line rules
A static has no runtime. "%" here is share of the 2048 px canvas height; beats run top to bottom in the order the eye reads them. 3-6 bubbles, ≤40 bubble words total, ≤12 words per bubble.
| # | Beat | Zone (% height) | Side | Job | Line rules |
|---|---|---|---|---|---|
| 0 | Caption | 0-18 | frame | Name her + ADHD in brand voice; frame the thread as hers | ≤8 words; "your" reader; ADHD named; Halant 700; no question that only lands after the thread |
| 1 | Opener | 20-30 | them (grey, left) | The stake, in action | Verbatim VOC with a ≥5-word corpus hit; the line a scroller reads first; no backstory; no product |
| 2 | Her burden | 28-38 | me (blue, right) | Prove she's the alarm | Her verbatim line: tries, knocks, the yelling, what it costs her. ≤10 words. She doesn't lecture or defend at length |
| 3 | Escalation | 36-52 | them | The blame lands; it costs her something | One new fact per bubble (the school emailed, he needs to learn, it's on you). Reasonable and wrong, never a villain |
| 4 | Last word (optional) | 50-62 | me | Exhaustion, unresolved | Verbatim; the thread ends unresolved; "Delivered" under it. Never an "after", a fix or a thank-you |
| 5 | Root cause | 66-76 | frame | Why it keeps happening | Fish's ruled line "Their brain tunes out a sound it hears every morning." (Fish 9-30); the ADHD-inserted version "An ADHD brain tunes out…" is an adaptation Fish approves at the sheet |
| 6 | Mechanism | 76-86 | frame | What Dawn does | Fish 9-30 line: "Dawn vibrates on the wrist and keeps getting stronger until they press the button." |
| 7 | Pill | 88-96 | frame | Risk reversal | "Wake up guaranteed · 60 nights" (gen_statics' own default pill; product-truth: 60-night guarantee). Not the 10-04 batch's "· 60 days": the gate's wrong-guarantee regex exists to catch exactly that |
The product cutout sits left of beats 5-6 (≈28% canvas width), on the sand ground with a contact shadow.
Line rules (every bubble)
- Verbatim or nothing. Every bubble is in
vocand hitsscripts/statics/voc_check.py. A short reply ("I did") hits trivially and proves nothing, so the opener needs a ≥5-word span; her replies need a ≥3-word span from a real mom's line. Survey verbatims (outside the corpus) are waived withknowledge/brands/dawnbands/research/customer-evidence-2026-09-15.md:<line>. - One sentence per bubble (the gate's STACKED check). Split a two-sentence VOC line into two bubbles from the same sender. That reads more like real texting anyway.
- Said-out-loud test: texts are speech. Pronoun-first, contractions, lowercase is fine if the source is lowercase. No "!" or em dash (gate regex); drop a "!" rather than paraphrase.
- The stake lands on her and the mornings caused it. Allowed: blame, a school email in her name, the fight, her job, the sibling who's late too. Not allowed: college money, his future salary, anything the mornings didn't cause.
- Qualifier ban applies to bubbles: no clock times, counts, ages, grades, bus/phone/car/drop-off unless the line is verbatim AND waived with a source. Prefer a different verbatim line.
- No product, brand, purchase, result or "after" in any bubble. The thread is the problem; the frame is the answer.
- Contact names are first names or roles ("Mom", "Dan"). Never a real username, never the kid's real name.
Thread-type notes
- Co-parent: he's the accuser; his lines say what she's doing wrong ("let him be late", "he needs to learn"). Her lines are short and tired. Rank 1.
- Teen from bed: the kid's bubble IS the blame ("Why didn't you wake me"). Her reply shows she did. Vary the teen's age and gender across the set (
feedback_vary_teen_demographics). - Sister/friend: her vent, so most bubbles are blue. Keep the card short (3-4 bubbles) so the frame still dominates; no "what worked for us" reply (that's the testimonial).
- School (needs Fish's go): the school's message in its own register (automated, formal); her reply is the burden. Clock times and counts are the usual content of these texts, so most lines fail the qualifier ban: write it from verbatim stake-bank lines only.
Structure example (ILLUSTRATIVE — shows the shape only, not shipping copy; real bubbles come from voc_check hits and Fish's approval)
- Caption: "If your ADHD kid's mornings look like this"
- [them, "Dan"] "
" (opener, ≥5-word hit) - [me] "
" - [them] "
" - [me] "
" → Delivered - Root cause → mechanism → product cutout → pill.