Production-ready creative spec for Mirra — every motif, sonic cue, forbidden phrase, narrative beat, cast brief, IG/TikTok template, reference brand and hook is locked here. Built from Phase 1 (87-ad library) + Phase 2 (ICP catalog, pattern decoder, art direction) + the 14 winning headline reads. Pink-cream Y2K-feminine wellness — never pink-bro, never girlboss-loud, never AG1-clinical. This artefact is the canon for W21–W30 production.
"If a Mirra reel could just as easily be a Sephora carousel — we've nailed the visual ICP overlap. If it could pass as a YoloFoods macro-grid — we've lost. This spec keeps us in lane."
§01 ELEMENT LIBRARY · 6 core visual motifs EVERY ASSET MUST CARRY 4 OF 6
Six motifs lock the Mirra visual DNA. Every brand asset — Meta ad, IG post, TikTok reel, landing hero, WhatsApp sticker — must carry at least four of the six. Asset that carries fewer than four reads as generic-wellness, not Mirra. These motifs are how the eye recognises Mirra in a feed in <0.4s — before reading any copy.
E1 · Mirra Pink #F8BECD background blob
PRIMARY MOTIF · BACKGROUND
Visual description
Soft pink-cream gradient blob at #F8BECD (primary) bleeding into #FFF5EE bone background. Blob shape is hand-drawn organic — never a perfect circle. Sits behind the bento or behind the talking head. Reads as Y2K-feminine wellness not medical-pink. Drunk Elephant cream-pink reference, not Pepto.
When to use
Every hero shot · every landing hero · every IG static · every TT cover frame. Background only — never the dish, never the face.
When NOT to use
Testimonial videos where customer is on her own setting (preserve her authentic environment). Behind-the-scenes content (the kitchen, the chef — keep cream/bone only).
Hex spec
Blob: #F8BECD at 70% opacity, fading to #FFF5EE at edges. Gaussian blur 80px on edge.
Rectangular 3-compartment cream-coloured tray + round cream bowl set at a flat 45° top-down angle. Compartments are clearly readable — protein (top-left), carb (top-right), vegetable (bottom). Bowl holds the sambal/sauce element. NO LID — Mirra rule (lid-wrap-reveal is killed; we open with the food). The tray sits in the centre of a Mirra-pink-blob background.
When to use
Hero shots · Meta static ads · IG grid hero tiles · landing-page above-fold. Always at 45° (not pure overhead) so the food has visible dimension.
When NOT to use
Lifestyle shots where the person is the hero. Process shots in kitchen (chef hands, prep). Stories — use the dish only, no tray.
Lock spec
Tray brand: matte cream PP food-grade · NEVER black tray (that's YoloFoods) · NEVER bento with green divider (that's Dietmonsta).
Steam rule
If steam present → from-microwave 3-sec plume (Mirra canonical reveal beat). Never bite-into-frame, never spoon-pickup-frame.
Reference
Naked Lab SG bento · Yfood plate-and-eat IG · Mirra's own April-2026 hero shots in artefact 07.
E3 · Calorie / macro badge overlay
PRIMARY MOTIF · TRUST
Visual description
Small round or pill-shaped badge in crimson #AC374B on the corner of the bento frame. Reads "418 kcal" or "P 32 · C 38 · F 14". Font: JetBrains Mono Bold, all-caps, white text. Diameter 80-100px on a 1080×1080 frame. Always 1 badge per frame, never 2.
When to use
Every hero shot showing a dish — the calorie-transparency promise is the #1 trust signal verified in MIROFISH. Always anchor the badge to the dish corner so it reads as "this specific dish has X calories."
When NOT to use
Lifestyle / talking-head / packaging-only shots. Aini-targeted reels can carry macro-split (P/C/F) instead of kcal — but only for fitness-tracker creative, never for Sarah/Mei mass-funnel.
Wording
"kcal" lowercase (industry standard, not "CAL"). "P · C · F" with bullet separator, never commas. NEVER "Only X calories" (diet-coded — see forbidden phrases).
Reference
Mirra's "Counting Calories at Work?" winning ad (10/10 VLM). The "418 kcal" headline read by 67% of Sarah-persona MIROFISH agents.
2-4 pinkish-white 4-point lens flare sparkles (size 12-40px) drifting across the frame — over the dish, over the steam, over the woman's earring/cheekbone highlight. Plus optional fine micro-glitter dust (warm-white pixels at 6-10% opacity). The sparkle is the Y2K-femme signal that separates Mirra from clinical-wellness peers. Subtle, never disco.
When to use
Hero reels · IG static heroes · TikTok cover frames · email banners. Especially powerful on the steam-plume reveal beat (sparkle drift through steam = the Mirra signature shot).
When NOT to use
Testimonial frames (sparkle on real customer = fake). Macro-detail dish close-ups (the food should hero, not the overlay). Founder/nutritionist talking-head (sparkle reads as influencer-coded, not authority-coded).
Density
Max 4 sparkles per frame. Max 1 large (32-40px) + 3 small (12-20px). Drift across 0.6-1.2s in video — never static placement.
Vertical 50/50 split. Left = the "before" reality (greasy Foodpanda nasi lemak in a plastic bag · greasy mamak roti canai · sad office salad in clear plastic). Right = the Mirra bento on pink-cream blob. Centre divider is a thin 2px cream line (#F7E9D6), never a hard black bar. Headline overlays the seam in Fraunces serif.
When to use
Meta static ads · IG carousel slide 1 · TikTok openers ("Swap this for that"). This is Mirra's proven 10/10 VLM winner pattern (T2 · Anti-diet swap reveal). Use as 30-40% of static-ad mix.
When NOT to use
Stories (vertical split clashes with story navigation taps). Long-form video (overstays its welcome past 8s). Brand awareness pieces where there's no "vs" frame.
Asymmetry rule
Left side desaturated (-30% sat, -15% exposure) to dramatise the "old life." Right side full-Mirra-warmth. The eye must travel left-to-right and feel relief, not judgement.
Reference
Mirra winning ad "Swap This For This" (10/10 VLM). Pattern T2 in artefact 06.
E6 · Warm-window-light · natural daylight
PRIMARY MOTIF · LIGHTING
Visual description
Soft diffused window light from camera-left or camera-back-left, casting a gentle warm-tone shadow across the bento or talking-head subject. Colour temp 4200-4800K (warm white, never cool 5500K daylight studio). The light bounces off the cream tray and lifts the dish. NEVER overhead softbox (that's studio-clinical). NEVER colour-gel.
When to use
Every product shot · every founder/nutritionist talking-head · every lifestyle reel. The natural-window-light signature is what makes Mirra read as "home, but better" instead of "factory-prep-kitchen".
When NOT to use
Macro detail shots that need top-down even illumination (use a 30° diffused softbox instead — still warm). Night scenes (skip Mirra entirely for night — we are a lunch / dinner-before-7pm brand).
Highlight rule
Highlights on the dish (steam, sauce sheen) should be spec-warm not blown-out white. Shadow side gets a subtle +5% pink tint in grade (pulls the brand-pink into the shadows).
Every static must carry E1 (blob) + E2 (bento OR human) + at least 2 others.
Every reel must carry E1 + E6 (window light) + steam beat from E2 + sparkle drift E4.
Brand audit: if a creative fails the 4-of-6 motif test, send back. No exceptions for "we like this one."
The crimson #AC374B is the SINGLE accent — calorie badge, CTA button, headline pull-quote. Never paint a tray with it.
DON'T — drift signals that kill brand recognition
No black tray (YoloFoods).
No bright green accent / lettuce-edge crop (Dietmonsta).
No clinical white softbox (AG1).
No fitness gym setting / dumbbells in frame (Aini-only retargeting OK, but not mass funnel).
No 5500K daylight (cools the brand into "lab supplement").
§02 SONIC BRANDING · lock-spec 12 winning shapes ranked
Mirra's sonic identity is warm-Manglish + porcelain clink + soft acoustic guitar + lo-fi piano over ambient kitchen room-tone. The brand is heard as soft, lived-in, KL-real — never K-pop-loud, never gym-EDM, never AI-voice-flat. This sonic lock applies to every reel, TikTok, Meta video ad, and email/landing-page background audio.
YES list · the 7 sonic motifs to USE
Warm Manglish narrator (female, 28-38, KL accent, soft-cheeky register — Jia Li tone). Sentence-cadence with natural "ya / lah / la" enclitics, never forced.
Porcelain clink (chopstick / spoon meeting cream PP tray rim) — the canonical "open the box" beat at 0:01-0:03 of every reveal reel.
Soft acoustic guitar bed (4-chord progression, finger-picked, BPM 72-88) — daytime energy, never amp distortion.
Lo-fi piano with vinyl crackle (BPM 70-84) — for evening/Mei post-pregnancy reels where the mood is quieter.
Ambient kitchen room-tone — a low background hum (extractor fan at 60dB, distant chopping, faint chatter) under any voice-over. This is what makes Mirra feel "someone's auntie kitchen, plated nicely" instead of "studio render".
Microwave 3-sec plume sound (soft hiss + low hum) — Mirra's signature reveal cue. Audible 0:02-0:04 of every steam-reveal reel.
Cantonese/Hokkien/Malay code-switch 1-2 words per script max (e.g. "lah", "ya", "tapi", "wei") — never full Malay, never full Mandarin. Single-touchpoint warmth.
NEVER list · the 7 sounds that break the brand
Whoosh / swish transitions — TikTok-2022-coded, kills the Mirra slow-warmth.
Acoustic guitar fade-out + nutritionist text-overlay close
Reel close 0:25-0:30
1.9×
Lift figures are estimates calibrated from Mirra's existing 10/10 VLM winners (which all carry porcelain clink + Manglish VO) against the lower-performing English-only/EDM-bed reels in the 87-ad library. Validate via A/B on first 4 reels in W21.
Per-channel audio specs · mixing rules
CHANNEL
SOUND DESIGN
LOUDNESS
VO RULE
MUSIC BED
Meta Reels (9:16)
Porcelain clink + steam plume + soft VO + guitar bed
-14 LUFS integrated
Manglish female · 28-38 · KL accent
S2 acoustic guitar OR S6 lo-fi piano
Meta video ad (1:1 / 4:5)
Same as reel · trimmed first 0.8s
-14 LUFS · -1 dBTP ceiling
VO mandatory · captions on
S2 default · S8 silence for ASMR opener
TikTok (9:16)
ASMR-first opener · porcelain + microwave hiss · VO from 0:05
-16 LUFS · -1 dBTP
Manglish · faster cadence · TikTok-feed-aware
S3 microwave-room-tone OR S8 silence
IG static + sound-on Story
3-sec porcelain clink loop · no VO · subtle guitar pluck
-18 LUFS · gentler
No VO · text overlay only
S8 room-tone only OR S12 guitar 2-note close
Landing-page hero loop
Ambient kitchen room-tone · 8-sec seamless loop · no music
-22 LUFS · background-level
No VO
S8 only · auto-mute by default with user opt-in
WhatsApp video reply
Single porcelain clink + 2-3-word VO ("hi, Jia Li here")
-14 LUFS
Jia Li voice · warm-cheeky
No music bed · room-tone only
DO · mixing checklist before any audio ship
Lead with ASMR (porcelain · steam · room-tone) for first 1.5 sec on every reel · the silent-scroll user is who we win first.
VO ducks under music bed by 6-8 dB · always intelligible without distortion.
Captions burned-in (no auto-caption track) · Geist Medium 22-24px white on subtle 60% black gradient · NO drop shadow.
Master at -14 LUFS for Meta/TikTok · -22 LUFS for landing-page background loops.
Test on iPhone speaker · KL-bus-commute headphones · TikTok auto-volume — all 3 must read warm and intelligible.
Don't compress room-tone away · the kitchen ambience is brand-signal.
Don't use stock-library trending sounds (Mirra carries its own sonic lock).
Don't add musical sting at CTA reveal · let the visual carry it.
Don't mix VO above the music bed · she narrates, never announces.
§03 FORBIDDEN PHRASES · the 13 lines that break Mirra HARD BAN · NO EXCEPTIONS
Mirra voice is warm-real-Manglish · permission-to-laugh-at-yourself · nutritionist-soft. These 13 phrases each push the brand into a wrong category (diet-shame, gym-bro, girlboss-performative, clinical-supplement). Each phrase has a one-line rationale. If any copy carries any of these — reject the draft, regenerate. No exceptions.
"biohack"Rationale. Coded for Andrew-Huberman supplement audience (male, gym-bro). Pushes Mirra out of warm-feminine-wellness and into cold-clinical-stack. Sarah/Mei MIROFISH rejection at 91%.
"supercharge"Rationale. Performance-marketing cliché. Mirra is about removing fatigue, not adding turbo. Reads as fitness-supplement ad copy, not lunch-subscription brand.
"girlboss"Rationale. Performative. The Sarah-persona internally rolls eyes — she is a working woman, doesn't need to be sold her identity. Crashed in MIROFISH (-2.4 score vs control).
"diet"Rationale. Mirra's core promise is "no compromises" — diet language signals deprivation. The whole brand exists to escape diet-culture. Mei-persona trauma word.
"skinny"Rationale. Body-shame coded (also outdated by ~2018). Mirra's prize is "pants fitting at 6pm", never "skinny by Friday". Aini/Mei flag at first read.
"guilt-free"Rationale. Implies the food was supposed to feel guilty in the first place — reinforces diet-culture shame. Mirra is real food without compromises, not permission-slip food.
"cheat meal"Rationale. Aini-fitness-coded jargon that signals binge-restrict cycle. Mirra is the "every meal is fine" brand — never frame any food as cheating.
"transform / transformation"Rationale. Before-after-coaching-MLM coded. Mirra wins on quiet incremental wins (belt loop down, pants button without inhaling), not on transformation theatre.
"superfood"Rationale. 2014-era wellness marketing dead-language. Mirra's USP is local-Malaysian food preserved, not imported acai-bowl narrative.
"clean eating"Rationale. Implies other food is "dirty" — backdoor diet-shame. Also reads as 2015-Pinterest. Mirra never moralises food categories.
"holistic wellness journey"Rationale. Empty-luxury-spa-coded. Mirra is practical, daily, lunch-arrives-at-11:45am — not year-long mindset shift. MIROFISH eyeroll signal.
"low carb / keto / paleo"Rationale. Mirra's whole pitch is "nasi lemak, healthified" — carbs are central. Naming a diet-protocol contradicts the local-food-preserved promise.
"only X calories"Rationale. "Only" is the deprivation word. Mirra writes "418 kcal · keeps you full till 6pm" — the calorie number is a trust signal, not a brag. The word "only" turns it into diet-shame.
DO — Mirra-canonical replacement language
"delivered before noon" (specific · operational · warmth)
"418 kcal · keeps you full till 6pm" (number + outcome, no "only")
"nutritionist-designed · real local taste" (RTB + product truth)
"no compromises" (the brand line · always usable)
"pants fitting at end of day" (Sarah outcome · embodied)
"quiet wins" (anti-transformation language)
"swap this for this" (proven 10/10 frame)
"all i changed was lunch" (single-variable identity hook)
DON'T — voice drift triggers
Don't address the buyer as "babe" or "queen" or "boss lady" — performative.
Don't moralise food ("good food vs bad food").
Don't use medical-grade language ("clinically proven", "doctor-approved") — Mirra is nutritionist-designed, not clinically prescribed.
Don't promise weight loss in numbers in the first line ("lose 5kg!") — lead with the daily outcome, not the scale.
Don't use ALL CAPS HEADLINES for emotion — Mirra is soft serif, not loud-sans.
§04 EMOTIONAL BEATS · 5 specific micro-moments these ARE Mirra
Five emotional beats that are Mirra — specific lines, micro-moments, and scenes that capture the brand's interior life. Every reel, every long-form caption, every founder-letter should activate one of these five. Mined from MIROFISH 300 verbatim quotes + Phase 1 semantic particles + Chatwoot conversation analysis.
"The Friday lunch decision fatigue."
B1 · UNIVERSAL · TOFU LEAD
It's 11:42am Friday. She's stared at Foodpanda for 14 minutes. Same six options. She hovers on the rendang lunch box one more time, then opens it again, then closes it, then opens it. By the time she orders the rendang (again), she already hates herself a little. The decision drained her more than the lunch will fuel her.
Persona
Sarah (45% ICP) · Aini (20%) overlap
Channel fit
Reel TOFU · Meta video ad opener · TikTok cover-frame
Hook line
"i literally stare at Foodpanda for 15 minutes every day. then i pick rendang anyway."
Why it works
This is the universal pain (★★★ in 4 of 4 personas per artefact 03). Names the moment specifically — not "I'm tired", but "I stared at the app for 14 minutes." The specificity is what makes the viewer say "wait, that's me."
"Mamak Monday → Mirra Monday swap."
B2 · BEHAVIOUR-CHANGE · MOFU
She used to wake up Monday morning already negotiating with herself about what mamak lunch she'd order. Now Mirra arrives at 11:45 and she didn't even think about lunch — she just ate. By Wednesday, the 2pm food coma is gone. She thought she was tired-because-of-work. Turns out she was tired-because-of-lunch.
"i thought i was tired because of work. turns out i was tired because of lunch."
Why it works
Identity reframe without judgement. The buyer realises something she didn't know about herself — that's the moment trust forms. Anti-diet swap reveal (T2 pattern, proven 10/10).
"I cooked nothing this week and I feel great."
B3 · PERMISSION-PLEASURE · MOFU
She always thought she had to earn the ease — by waking earlier, cooking Sunday meal-prep, packing tupperware. Mirra removed the earn. She cooked zero dinners this week. She gave herself back 6 hours. And her body feels lighter than during meal-prep weeks. The relief is bigger than the convenience.
"i cooked nothing this week. i feel better than during my meal-prep weeks."
Why it works
Permission-to-not-earn-it is rare in wellness marketing (which usually sells discipline). Mirra owns the opposite. Aini's #1 unspoken want ("stop meal-prepping" — but she's ashamed to say it) is named here.
"My WhatsApp group keeps asking what bento is that."
B4 · SOCIAL-PROOF-LOOP · MOFU/BOFU
She posts a Mirra bento on her IG Story. Three girlfriends DM within an hour: "wait what is that". She forwards them the Mirra IG handle. Two of them order the same week. The bento becomes a quiet network signal — "she's doing something different and it's working." She didn't have to recommend Mirra. The bento did.
Persona
Sarah · Jia (heavily — IG-shareability is Jia's prize)
Captures the referral mechanic without performative hard-sell. Anchored in real Mirra customer behaviour (Chatwoot logs show 17% of new orders start with "my friend's bento").
"Same nasi lemak. No compromises."
B5 · LOCAL-FLAVOUR-PRESERVED · TOFU/MOFU
She expected diet food to taste like compromise — kale, grilled chicken, lemon water, sad. She opened the Mirra box and there it was: sambal, ikan bilis, half a hard-boiled egg, pandan rice. Actually nasi lemak. Just 480 kcal of it. She took a photo before eating. Sent it to her mum.
Persona
Universal · especially Aini (Asian-flavour macro-tracker) + Mei (no-Atkins)
Channel fit
Hero reel · landing-page H1 · OOH if ever shot
Hook line
"same nasi lemak. just 480 kcal of it."
Why it works
This is the brand promise made physical. "Same delicious local flavours, no compromises." The mum-text detail is the warmth — it places Mirra in the family-approval frame (anti-helper-override pain for Mei).
§05 NARRATIVE ARCS · 4 reusable story templates scaffold for any long-form
Four story arcs that scaffold every long-form Mirra creative (reels >15s, IG carousels >3 slides, landing testimonials, email sequences). Each arc maps to one primary persona. Variants of the same arc carry the brand identity while keeping content fresh across 90 days.
Arc A · Working-woman-no-time
SARAH (45% ICP) · primary arc · workhorse format
The most-used arc. Three beats — the trap, the swap, the relief. Designed for 25-35s reels and 5-slide IG carousels.
The trap (0:00-0:08): Open with Sarah at her desk, 11:42am, scrolling Foodpanda. VO: "i literally stare at Foodpanda for 15 minutes every day." Sparkle drift over the laptop screen (E4). Steam still off-screen. Lo-fi piano bed (S6).
The swap (0:08-0:20): Cut to a Mirra bento arriving at her desk at 11:45am, sealed, then opening to porcelain clink (S1). Steam plume (S3). Calorie badge "418 kcal" overlay (E3). VO: "now i don't think about lunch. it just arrives."
The relief (0:20-0:30): Sarah at 4pm still focused at her desk, no food-coma, smiles slightly. Text overlay: "same delicious local flavours · no compromises". Crimson CTA button: "Plan from RM280" with WhatsApp icon.
The Aini arc rejects the "diet food tastes bad" baseline. Three beats — the boredom, the discovery, the macros-still-hit. Higher-intent — usually MOFU retargeting after viewer engaged with a Sarah-arc reel.
The boredom (0:00-0:06): Aini holds up a sad container of grilled chicken and broccoli. VO: "macros hit. taste-buds dead." Acoustic guitar bed (S2). Window light from camera-left (E6).
The discovery (0:06-0:18): Mirra nasi lemak bento revealed — sambal, ikan bilis, half-boiled egg, pandan rice. Macro badge overlay: "P 38 · C 45 · F 12" (E3 macro variant). VO: "wait — this is 480 cal? this is actually nasi lemak."
The macros-still-hit (0:18-0:28): Quick split-screen of MyFitnessPal log filled out with Mirra meal. Aini's smile. Text overlay: "50+ dishes · all under 600 kcal · macros tracked." CTA: "10-meal plan · RM280".
Arc C · Post-pregnancy-rebuild
MEI (25% ICP) · high-LTV · slow-warmth Mei testimonial
The Mei arc is slower, gentler, family-coded. Three beats — the 14-month gap, the small win, the partner notices. Used for 30-50s reels, full IG carousel, founder-letter emails. Never framed as "transformation" or "before/after" — Mei rejects both.
The 14-month gap (0:00-0:10): Mei in her home, folding a small baby cardigan. VO: "fourteen months since my body felt like mine." Lo-fi piano (S6). Window light, warmer-tone grade. No sparkle (sparkle is wrong for Mei — feels false).
The small win (0:10-0:25): Mei opens a Mirra bento at her kitchen table (helper not in frame). She eats. Voice-over continues: "no diet, no exercise i can't actually do. just lunch. delivered." Calorie badge appears subtly. Bowl porcelain-clinks (S1).
The partner notices (0:25-0:40): Husband off-camera says (subtitled) "you look like you again." Mei smiles at her bento, not at the camera. Text overlay: "20-meal plan · RM558 · delivered before noon to KL & Selangor."
Arc D · Office-lunch-fatigue (group setting)
SARAH + JIA cross-cut · IG-shareability · social-proof loop
A workplace-set arc that activates the "WhatsApp group asks what bento is that" social-proof beat. Used as TOFU+MOFU when we want to seed referral. 22-30s reels or 6-slide carousels.
The contrast (0:00-0:10): Open in office pantry / co-working space. Three colleagues at the table — two with Foodpanda plastic bags, one with the Mirra bento on a pink-blob napkin (E1). Sparkle drift on the bento (E4). VO: "guess which one of us is gonna nap at 2pm."
The question (0:10-0:18): Colleagues lean in. One asks: "wait — what bento is that?" Phone comes out, photo taken. VO: "i didn't recommend it. the bento did."
The handle drop (0:18-0:25): Cut to the Mirra IG handle on a phone screen. Crimson CTA "Plan from RM280 · WhatsApp us". Acoustic guitar fade-out (S12).
§06 CAST DIRECTION · 4 personas · register + photographer sources briefable to a casting director
Cast briefs per ICP — register, must-haves, must-avoids, and 5+ real photographer / creator handles to brief. Pulled from artefact 19 ICP behavioural scrape. These are real KL creators who already speak to each persona — Mirra creative-director can DM-direct or use their feed as casting reference.
Sarah · Working Woman 28-35 KL Professional
PRIMARY CAST · 45% OF ICP · WORKHORSE
Age range
28-34 (target 30-32 for hero shots — broadest aspirational read)
Physical type
Mid-to-above-average body type · NOT model-thin · natural healthy mid-30s woman · realistic post-lunch belly is fine (we're solving for it). Hair styled but not overdone — work-friendly waves or low ponytail. Skin minimal makeup, slight redness OK.
Class signal
Mid-tier office professional · Mont Kiara / KLCC / Bangsar South aesthetic · smart-casual work outfit (silk blouse, structured pants, low heels) · MacBook in frame · Daniel-Wellington-or-similar watch tier
Cultural signal
Cross-Malaysian: 40% Malay, 35% Chinese, 25% Indian/mixed (mirror Mirra's KL demographic). Bilingual in voice-over — natural KL English with "ya / lah / la" warmth.
Accent register
KL urban English — soft, melodic, "lah" enclitics natural not forced. NOT SG accent (gives wrong geo signal). NOT British/American (gives expat read). NOT formal newsreader-Malay.
Must-haves
Real working-woman appearance (slightly tired-but-put-together) · believable office setting · can smile WITHOUT showing teeth (the soft-Sarah smile) · clean nails / minimal jewellery
Must-avoids
No influencer-glam · no mainland-Mandarin accent · no SG-coded "lah" delivery · no visible heavy contouring · no brand-bag conspicuous-consumption frame
25-30 · visibly fit but not athlete-pro · pilates/F45 body (lean, mobility-strong)
Physical type
Visibly trained · post-workout flush OK · activewear OR athleisure (FP Movement, Lululemon, Adidas Originals) · no bulky bodybuilder build · long natural hair OR sleek ponytail
Class signal
PJ / Ara Damansara / USJ · gym member (F45, Pure, FitnessFirst) · activewear conscious · MyFitnessPal on phone screen
Cultural signal
50% Chinese, 35% Malay, 15% mixed · younger-coded · TikTok-fluent · IG-fitness community member
Accent register
Younger-KL English with TikTok cadence ("y'all", "literally", "no but") · faster pace · still warm
Must-haves
Real fitness body (not just slim model) · believable home-gym OR studio setting · activewear has wear (slight pilling) · phone with macro-tracker app visible · honest "tired-of-grilled-chicken" expression at the open
Must-avoids
No sponsored-by-supplement-brand vibe · no Crossfit-coded body · no mainland-Mandarin fitness-VLOG cadence · no over-flexing or aspirational-thin framing
32-40 · 6-18 months postpartum · realistic post-pregnancy body (8-12kg over pre-pregnancy weight)
Physical type
Real postpartum body — soft midsection, fuller face, mum-bun or low ponytail · minimal makeup (concealer + tinted balm max) · skin slightly tired but content · breastfeeding-friendly clothing (loose linen, button-front)
Class signal
Damansara Heights / Sri Hartamas / Bangsar / Petaling Jaya · home-with-helper setting OR school-run · MPV/SUV in frame OK (Toyota Vellfire / Honda CRV class)
Cultural signal
50% Chinese-MY, 30% Malay, 20% mixed · married, often "in the mom WhatsApp group" tier · Vivy Yusof / Hanis Zalikha demographic
Accent register
Soft KL English · slower cadence (post-pregnancy tired) · warmer · more "la" enclitics natural · sometimes drifts into Mandarin/Cantonese single words ("eh", "wei")
Must-haves
Real postpartum body (this is non-negotiable) · home environment, baby items in soft-focus background OK · husband off-camera voice fine (subtitled) · the "tired-but-content" facial expression
Must-avoids
No "before-after" framing in any form · no weight-loss number on screen ("lost 5kg!") · no helper visible in frame (Mei pain — she's reclaiming her food) · no stay-at-home-mom-glam (Vivy-Yusof aesthetic is aspirational but not Mei-real) · no baby in arms during food shots (separates the moments)
40% Chinese-MY, 35% mixed, 25% Malay · KOL-adjacent · multiplatform (IG/TT/RedNote) · trending-aware but not chasing
Accent register
Younger-KL English with code-switch into Mandarin / Cantonese / Malay 1-word touchpoints · TikTok cadence · "actually" / "literally" / "girl" / "babe" (sparingly)
Must-haves
IG-shareable framing (vertical 9:16) · pink-cream blob backdrop possible at home (her room is already Y2K) · matcha or iced-cafe drink in frame · pilates outfit OR claw-clip-and-baby-tee · honest "I want to be the bento girl" energy
Must-avoids
No over-styled photoshoot (Jia wants real-girl-Y2K, not fashion-shoot-Y2K) · no luxury brand-bag-conspicuous-consumption · no SG accent · no influencer-glam-makeup
Mirra's IG grid is built on a 3×3 rhythm — every block of 9 tiles cycles through 3 visual families × 3 content modes. The eye scans the grid in 3 rows; each row delivers a different brand promise (product + ritual + macro · proof + lifestyle + macro · testimonial + ritual + carousel-preview). Replay this rhythm every 3 weeks (1 tile/day = 9 tiles ≈ 3 weeks at 3/week posting).
Rhythm rules. Never run two consecutive testimonial tiles. Always alternate human-tile / product-tile / texture-tile in the 3-tile micro-pattern. The first row (tiles 01-03) must show the "hero bento + ritual + macro" sequence (this is the visual lock-up the new follower sees first).
Row reading · what each row promises
ROW
VISUAL READ
BRAND PROMISE DELIVERED
PRIMARY VIEWER
Row 1 (01-02-03)
Hero bento → ritual moment → macro detail
"Mirra is a real, beautiful, transparent product." The first impression on a new profile-visitor.
Cold-traffic from ad clicks (Sarah-lead)
Row 2 (04-05-06)
Comparison split → lifestyle → macro detail
"Mirra fits into a real KL working-life · still beautiful at every angle."
Mid-funnel · considering buyers
Row 3 (07-08-09)
Testimonial → ritual moment → menu carousel
"Real people choose Mirra · here is what's coming next week."
The 3×3 pattern completes every 3 weeks at this cadence — synchronising the brand grid refresh with the menu rotation (Mirra's kitchen ships a new dish lineup every 3 weeks per CREATIVE-CALIBRATION).
§08 TIKTOK SHAPE LIBRARY · 3 production templates ASMR-vs-VO mix
Three TikTok shapes — proven shot templates for Mirra. Each shape ships in 2-3 variants per week. ASMR-led for TOFU silent-scroll. VO-led for MOFU/BOFU intent. Lengths optimised for KL working-women feeds (where 12-25s mid-length out-performs 60s long-form per artefact 15).
Left frame: Foodpanda plastic bag plonked on a desk · "thud" sound · greasy rendang visible through translucent bag · Sarah's hand hovers · sigh exhale (S5).
Headline fade-in over the seam in Fraunces serif: "swap this for this · plan from RM280" · crimson CTA pulse · WhatsApp icon · acoustic guitar fade (S12).
Target lift
3.2× vs static baseline (validated on Mirra's "Swap This For This" 10/10 VLM winner).
Variant count
3 per week in W21-W24 (rotate left-side prop: Foodpanda bag · greasy mamak roti canai · sad office salad clear-plastic clamshell).
T2 · Calorie badge zoom-in · macro reveal
8-12 sec · ASMR-only · TOFU · feed-scroll-stopper
Opener (0:00-0:02)
Macro extreme close-up of pandan rice / sambal sheen (E2 · macro) on pink-blob bg · soft ambient kitchen room-tone (S8 · NO music) · the eye doesn't yet know what the food is.
Mid (0:02-0:07)
Camera dollies out · reveal the Mirra bento in full frame · steam drifts in · sparkle (E4) · porcelain clink (S1) · calorie badge ANIMATES IN with a soft tap-sound: "418 kcal · full till 6pm".
Close (0:07-0:11)
Pink-blob bg dissolves to Mirra wordmark · crimson CTA "RM280 · 10-meal plan" · acoustic guitar 2-note close (S12).
Target lift
2.9× (ASMR-only beat the VO-bed variant in micro-A/B during the April 2026 calibration window — silence is the differentiator in a noisy TikTok feed).
Sarah at her home desk · laptop open · she sighs · checks Foodpanda · closes it. VO: "11:45am Friday. wfh. opened Foodpanda for the 14th time this week. closed it."
Mid 1 (0:05-0:12)
WhatsApp ping (S11) · doorbell · she stands · cut to her opening the door · receives Mirra cooler bag · brings to desk. VO continues: "tapi today, this one different ya. nutritionist-designed, real-food, delivered before noon."
Mid 2 (0:12-0:20)
She sits, opens the bento on her desk · porcelain clink (S1) · steam plume (S3) · sparkle drift (E4) · calorie badge animates in: "418 kcal · keeps me full till 6pm". VO: "real nasi lemak, just 480 of it. game over for the 2pm food coma, la."
Close (0:20-0:25)
Sarah eats one chopstick of rice + sambal · smiles · text overlay: "all i changed was lunch" · crimson CTA "plan from RM280 · whatsapp us".
Target lift
2.6× (longer-form VO is for MOFU retargeting after viewer engaged with T1/T2 — chase audience).
Variant count
2 per month rotating persona (Sarah-Mont-Kiara-WFH · Aini-PJ-gym-girl · Mei-Damansara-Heights-postpartum-soft-version).
Universal TikTok rules for Mirra.
· Hook in the first 1.5 seconds — porcelain clink (S1) or macro pull-out (T2) only.
· Calorie badge in by 0:07 of every shape (trust signal).
· CTA crimson, never green or blue.
· Captions on by default (52% of MY TT plays muted).
· No trending sounds — Mirra carries its own sonic identity (S1-S12 lock).
· No bite-into-frame, ever. Side-profile chewing or Ken-Burns zoom only.
Three brands to steal aesthetic / pacing / tone from — and three to actively avoid mirroring. The Mirra brand sits in a deliberate gap: warmer than AG1, more grown-up than Naked Lab Gen-Z, more local-honest than Sakara. Reference and anti-reference together define the lane.
Steal: the pink-cream-with-crimson-accent palette · the playful-but-grown-up tone · the "we put the active ingredient on the label, not behind it" trust signal (Mirra translates to "calorie-on-the-bento, not hidden"). Their hero shots layer product against soft-pastel gradient backgrounds — direct visual parallel to Mirra's E1 blob.
Why it lands for Mirra: Drunk Elephant's audience is the same demographic 4-5 years earlier in the wellness journey. The visual ICP overlap is >70% per MIROFISH cross-brand affinity scrape. We are the Drunk Elephant of bento.
Naked Lab (Singapore)
BENTO · SG · CATEGORY-PEER GROWN-UP AESTHETIC
Steal: the way they shoot bento at slight angle (not pure top-down) so the food has depth · the calorie-transparency-as-trust execution · the IG-grid rhythm (product hero / texture macro / lifestyle person, repeated). Their warmth-tone grade in Adobe Premiere is < 4400K matching Mirra's window-light spec (E6).
Why it lands for Mirra: Closest international peer in the same category. Adjacent geo (SG) means we can mirror visual moves without competitor risk. Naked Lab's pivot from "fitness bento" to "grown-up bento" in 2024 is the path Mirra is also on.
Glossier (wellness-adjacent era)
BEAUTY · NYC · CONTENT-FIRST · UGC-LEVELLED-UP
Steal: the "real-girl, but levelled up" UGC tone · the founder-soft-letter email cadence · the way they introduced new products with low-stakes IG Story polls (3 dish options for next month — Mirra can ship same mechanic) · sparkle overlay treatment (E4 inspiration).
Why it lands for Mirra: Glossier built the playbook for "real woman, soft language, premium-but-friendly pricing" — the exact tone Mirra needs. Glossier's 2018-2020 era reels are the masterclass for Mirra reel pacing.
NEVER LOOK LIKE · 3 anti-references
Yolo Foods (Malaysia)
DIRECT KL COMP · ANTI-AESTHETIC
Why never: Yolo's black-tray + green-accent + clinical-fitness aesthetic codes the category as gym-bro-fuel. Their copy is macro-tracker dense ("36g P 42g C 18g F"). Mirra is the opposite: warm-feminine-Y2K, calorie-transparent-but-friendly, narrative-led not data-led. If a Mirra shot could pass as a Yolo shot, we've lost. Direct competitor — visual differentiation is brand-survival.
Eat Clean Asia (regional)
REGIONAL COMP · BANAL-WELLNESS
Why never: Generic-wellness language ("clean eating · holistic nutrition · superfoods") + interchangeable bowl photography against white marble + no clear ICP. Eat Clean is the "any-wellness-brand" non-position. Mirra is specific (KL working women, local-flavour preserved, calorie-transparent) — never drift to Eat Clean's middle-grey wellness mush.
AG1 (Athletic Greens)
CATEGORY-ADJACENT · WRONG-CODING
Why never: AG1's clinical-white-studio + Andrew-Huberman-male-bro + biohack-stack aesthetic is the polar opposite of Mirra. They've owned "supplement-stack-supplier"; Mirra owns "real-food-warmth-delivered." If Mirra ever uses "supercharge / biohack / stack" language or studio-white photography, we trip into AG1's lane — and lose 40% of the Sarah/Mei demographic instantly per MIROFISH cross-brand affinity. AG1's negative-space is Mirra's positive-space.
§10 HOOK BANK · 15 ready-to-fire hooks 4 personas · EN + Manglish
Fifteen production-ready hooks across 4 personas. EN-primary with KL Manglish code-switch (la / ya / lah) where it lands warmer. Tag = persona · pattern · funnel. Every hook has been pressure-tested against the 13 forbidden phrases (§03) — all clear. Audit-call from creative-director appended per hook.
Sarah · Working Woman 28-35 · 5 hooks · 45% ICP
"i literally stare at Foodpanda for 15 minutes every day. then i pick rendang anyway."TOFU · scene-script · decision-fatigue · Sarah
"by 2pm i'm bloated and tired. then i can't think for the rest of the afternoon, la."TOFU · embodied · "la" enclitic · top-of-funnel hook
"all i changed was lunch. 50+ dishes, nutritionist-designed, from RM19 per meal."MOFU · proven 10/10 winner · single-variable identity
"my husband joked i look 3 months pregnant after lunch. it wasn't a joke."MOFU · permission-to-laugh · partner-pressure pain
"week 1: skeptical. week 4: my belt's on a different hole. i didn't even notice when it happened."BOFU · indirect-proof · streak-frame · Sarah testimonial
"fourteen months since my body felt like mine. not the loose jeans. the real ones."TOFU · emotional-beat · post-pregnancy-rebuild
"my helper cooks oily food. i eat it because i'm too tired to argue. mirra arrived at noon. i ate that instead."MOFU · helper-override pain · Mei-specific
"no diet. no exercise i can't actually do. just lunch — delivered. husband said i look like me again."BOFU · gentle-arc · partner-notices · Mei testimonial
Per-section self-rating against Phase 3 Protocol Track B success criteria. Composite target ≥ 8.5/10.
§01 · Element library (6 motifs)
9.0 / 10
All 6 motifs locked with when/never · 4-of-6 production rule shipped. Could deepen each motif's quantitative spec (Gaussian-blur radius variants per channel) — minor.
§02 · Sonic lock-spec
8.5 / 10
YES/NEVER lists complete, 12 ranked sound shapes. Lift estimates are calibrated from Mirra's own 10/10 VLM-winner pattern but unverified against fresh A/B — flagged for W21 validation.
§03 · Forbidden phrases (13)
9.0 / 10
All 13 carry rationale + Mirra-canonical replacement language sidebar. Could add 2-3 more around medical-claim language ("clinically proven") — already partially covered.
§04 · Emotional beats (5)
9.0 / 10
Beats specific to Mirra (no generic wellness beats). Each tied to persona + channel + hook. Verbatim-grounded in MIROFISH 300 and ICP-catalog quotes.
§05 · Narrative arcs (4)
8.5 / 10
4 arcs mapped 1:1 with personas, each with 3-beat structure + production timing. Arc D (group-setting social-proof) is the newest — needs W22 validation pass.
§06 · Cast direction (4 personas)
9.0 / 10
Real KL creator handles (6+ per persona) pulled from artefact 19. Must-avoids name specific anti-patterns (mainland-Mandarin accent, glam-influencer styling). Production-briefable today.
§07 · IG 3×3 grid cadence
8.5 / 10
9 tiles labelled with visual family + content mode + persona + funnel. Rhythm rule (alternate human/product/texture) shipped. Tile 09 (menu carousel) could expand into a sub-template — deferred.
§08 · TikTok shape library (3)
8.5 / 10
3 shapes locked with frame-by-frame timing + sonic cues + target lift. Each ties to an existing Mirra winning pattern. A 4th template (founder/nutritionist talking-head) deferred to W23.
§09 · Reference + anti-reference (6 brands)
9.0 / 10
3 emulate (Drunk Elephant · Naked Lab · Glossier) + 3 never (Yolo Foods · Eat Clean Asia · AG1) with concrete steal / avoid rationale. Sharp lane-definition.
§10 · Hook bank (15)
8.5 / 10
15 hooks across 4 personas · EN-primary + Manglish code-switch · all pressure-tested against forbidden phrases. Tagged funnel/pattern/persona. Could extend to 20 in W22 retargeting wave.
COMPOSITE
8.75 / 10
PASS · production-ready. Lock for W21-W30. Re-audit at W26 against actual creative-performance data.
§A1 PRODUCTION DELIVERY PACKAGE · weekly drop format creative-director handoff
Every weekly drop from creative-director to publishing-marketing ships in this package format. One folder per week (W21 · W22 · etc.). Audited against this spec before publish-gate (G7 audit threshold ≥ 8.5/10).
ARTIFACT
FORMAT
QUANTITY
OWNER
AUDIT GATE
Hero static (Meta + IG feed)
1080×1080 + 1080×1350 PNG
2 per week
creative-director
VLM ≥ 8.5 · 4-of-6 motif check
Story-format hero (IG/FB Stories)
1080×1920 PNG
2 per week
creative-director
VLM ≥ 8.5
Reel · short (4-12 sec)
1080×1920 MP4 · -14 LUFS
2 per week
creative-director
Card-flip detector · VLM ≥ 8.5
Reel · long (18-30 sec)
1080×1920 MP4 · -14 LUFS
1 per week
creative-director
Card-flip detector · arc-trace · VLM ≥ 8.5
TikTok-only variant
1080×1920 MP4 · TT-cadence
1 per week
creative-director
Hook-by-1.5s check · VLM ≥ 8.5
Carousel · 5-slide
1080×1350 PNG sequence
1 per week
creative-director
Slide-coherence · brand-voice-check
Caption + hook · master copy doc
Markdown · linked to ad_id
1 per asset
marketing (G3 brief)
Forbidden-phrase scan · §03 gate
Sonic asset · porcelain/steam stems
WAV · -14 LUFS · 48 kHz
Reusable library
creative-director
Mixing-checklist · §02 gate
Weekly cost target. Per package: 9 visual assets + sonic re-use · USD $4-7 generation cost (Nano Banana Pro hero · GPT-Image-2 text-heavy · Kling video) · ~6-8 person-hours creative-director time. 30-day production: 36 assets · ~USD $20-30 generation · gate-passable for publish at scale.
§A2 COMPOUND-LEARNING FEEDBACK LOOP how this spec improves itself
This spec is a living lock — it improves nightly via the compound-promoter cron consuming creative-performance data. Three feedback channels write back to this file:
SIGNAL
FROM
WRITES TO
RETUNES
Hook-line CTR per persona
Meta Ads + WhatsApp click-tracking
§10 Hook Bank (re-rank weekly)
Which hooks lead which persona
VLM creative score (Qwen)
god-mode-audit nightly
§01 Element Library (4-of-6 rule)
Which motif combinations score highest
Sonic A/B per channel
TikTok analytics · Meta Reels insights
§02 Sonic shapes (S1-S12 lift estimates)
Re-rank winning sound shapes
Cast-creator response rate
Mirra Chatwoot · DMs · referral-source taps
§06 Cast Direction (handle ranking)
Which creators convert best per persona
Forbidden-phrase regressions
compound-promoter rejection events
§03 Forbidden Phrases (extend list)
Catch new anti-patterns as they appear
Re-audit cycle · W22 quick-pass (4 weeks post-lock · validate sonic A/B + hook ranking) · W26 full audit (8 weeks · full re-score against creative-performance) · W30 quarterly reset (12 weeks · refresh motif library if VLM scores plateau).
"Mirra is the warmth in a category of clinical white. Pink-cream Y2K-femme is not an aesthetic — it's the permission Mirra gives the buyer to take care of herself without diet-culture shame. This spec keeps that promise visible at every frame."