# Brand Asset Upgrade Roadmap — 2026-04-26 (S83-H91-C1)

The canonical reference for upgrading visual identity across the Blue Oak Grove ecosystem. Consolidates per-brand gaps, Midjourney prompts, and ROI ranking. Brady runs MJ, drops to R2, builders pick up.

---

## TL;DR — What's broken

- **Mirror Mirror site has zero hero imagery** — gradient overlays only across /webinar/, /consult/, /priority-qa/, /education/, /case-studies/, /automation-build/. Highest-conversion pages, weakest visual layer. **P0**.
- **18 of 24 Stripe products have no product imagery** in dashboard. Stripe checkout pages show generic placeholder. **P1**.
- **Brady Hugins + Small Stage logos are missing.** Fields exist in `shared/brands.py` but `identity.logo_primary` is empty string. Low-traffic but symbolically weak. **P2**.
- **Solshine product imagery is the WHG flagship 2026 priority.** No bottle render, no botanical scene. Blocks first sale. **P0**.
- **ShareCraft May 2 needs a custom hero** before May 2 (~5 days out). Currently using gradient fallback on event pages. **P0** (time-sensitive).

✅ **Complete:** RoseCourt, Grove House, WHG (logo + OG), LongHouse, full voice + palette codified for all 8 brands.

---

## Per-brand visual identity gap matrix

| Brand | Logo | OG card | Site hero | Palette | Voice |
|---|---|---|---|---|---|
| RoseCourt | ✅ | ✅ | ✅ | ✅ | ✅ |
| Grove House | ✅ | ✅ | ✅ | ✅ | ✅ |
| Witch Haven Grove | ✅ | ✅ | ⚠️ no Solshine product hero | ✅ | ✅ |
| LongHouse | ✅ | ✅ | ⚠️ civic/governance scenes missing | ✅ | ✅ |
| **Mirror Mirror** | ✅ | ✅ | 🔴 zero hero imagery | ✅ | ✅ |
| Small Stage | 🔴 | ✅ | ⚠️ theatrical staging missing | ✅ | ✅ |
| Brady Hugins | 🔴 | ✅ | ⚠️ illustrative hero missing | ✅ | ✅ |
| Rose in the Grove (hub) | ✅ | ⚠️ no canonical OG | 🔴 | ✅ | ✅ |

🔴 = blocking, ⚠️ = noticeable gap, ✅ = covered.

---

## P0 — Highest ROI × time-sensitivity

### P0.1 — ShareCraft May 2 custom hero (TIME SENSITIVE — May 2)

**Surface:** `/sharecraft/may-2/` page hero, OG card refresh, Email blast hero, social share image.

**MJ prompt:**
```
Strip Mall Phoenix community craft gathering, Saturday morning May, 4 zones visible: bookstore corner with people reading, outdoor patio with shopcraft tools, networking circle of friends laughing over coffee, hard crafting bench with hands working clay or wood. Warm afternoon light, monsoon-blue sky, midcentury strip mall architecture, no AI tells. Documentary realism, 35mm film aesthetic, RoseCourt warm earthy palette (terracotta + sage + cream), --ar 16:9 --style raw
```

**Drop in:** `https://pub-ffdd6924be764a8c86899a937394fd1b.r2.dev/rosecourt/events/og/sharecraft-may2-hero.webp`

Once uploaded, `build_rc_sharecraft.py` already references this path — no builder change needed.

---

### P0.2 — Mirror Mirror /webinar/ hero (TIME SENSITIVE — every Friday's webinar)

**Surface:** `/webinar/` page hero replaces the gradient block.

**MJ prompt:**
```
Operating dashboard photographed over the shoulder of a focused founder. Multiple monitors showing data flow diagrams, automation workflows, customer pipelines. Navy and gold tones, dark mode aesthetic, single warm desk lamp creating intentional shadow. No stock-photo people; abstract POV. Mirror Mirror brand: navy #0D1B2A primary + gold #C9A227 accents. Cinematic, technical-elegant, late-night-builder vibe. --ar 16:9 --style raw --v 6
```

**Drop in:** `https://pub-ffdd6924be764a8c86899a937394fd1b.r2.dev/mirrormirror/heroes/webinar-hero.webp`

Builder change: `build_ds_webinar.py:115` — add hero image after the existing gradient. ~5 min.

---

### P0.3 — Mirror Mirror /consult/ hero

**Surface:** `/consult/` page above the intake form.

**MJ prompt:**
```
Conference room turned operating war-room. Whiteboard covered in system architecture sketches: Airtable bases, n8n workflow nodes, Stripe checkout flow, customer journey arrows. Two coffee mugs, scattered notebooks, real working state — not staged. Navy and gold tones, late afternoon light through window blinds. Mirror Mirror voice: competent, operational, "$2 webinar to start" — show the work. --ar 16:9 --style raw --v 6
```

**Drop in:** `https://pub-ffdd6924be764a8c86899a937394fd1b.r2.dev/mirrormirror/heroes/consult-hero.webp`

---

### P0.4 — Solshine product imagery (WHG 2026 flagship)

**Surface:** `/solshine/` page hero, Stripe product image, future packaging design reference.

**MJ prompts (3 variants):**

**Variant A — Bottle hero:**
```
Glass bottle of herbal hydration blend on weathered cedar shelf, late afternoon sun through window, terracotta + sage botanical surroundings — nettle leaves, horsetail (silica-rich), mineral-rich greens. Hand-lettered label visible: "Solshine — Deep Hydration · Mineral Rich · Sustained Clarity." Witch Haven Grove brand: deep purple #5B2E8C primary, dusty rose #D4A5D0 accent, Playfair Display serif font on label. Documentary product photography, no stylized AI tells. --ar 4:5 --style raw --v 6
```

**Variant B — Botanical:**
```
Macro botanical scene: nettle leaves, horsetail stems, alfalfa, oat straw arranged on weathered linen. Dewdrops on leaves, morning sun. WHG palette (deep purple + dusty rose + cream). Editorial herbal medicine aesthetic, real plants not illustrated. --ar 16:9 --style raw --v 6
```

**Variant C — Lifestyle:**
```
Woman in 30s pouring Solshine from a small amber glass bottle into a clear glass at golden hour, Sonoran desert garden visible through window. Calm, grounded, post-yoga energy. WHG palette (purple + rose + cream). Documentary candid, not posed. --ar 4:3 --style raw --v 6
```

**Drop in:**
- `witchhaven/solshine/hero-bottle.webp`
- `witchhaven/solshine/hero-botanical.webp`
- `witchhaven/solshine/hero-lifestyle.webp`

---

## P1 — Stripe product card imagery (18 products)

Per-product MJ prompt summaries. Brand-aligned. All --ar 1:1 for Stripe product image format (square). Brady runs MJ, uploads to R2 + sets in Stripe dashboard.

| Product | Prompt summary |
|---|---|
| MM Webinar ($2) | Live Zoom webinar with Brady's POV, monitor showing automation workflow, navy/gold |
| MM Priority Q&A ($20) | Single-on-single video call POV, technical question on screen, navy/gold |
| MM Strategy Session ($150) | Whiteboard system architecture sketch, gold accent annotations, navy palette |
| MM DS Course ($297) | 7-day calendar grid with daily lesson icons, technical-elegant, navy/gold |
| MM Membership ($33/mo) | Stack of system templates + workbooks tied with gold ribbon, navy palette |
| MM Annual ($297/yr) | Same as monthly + small "365" stamp, navy/gold |
| MM DS Day 1 Recording ($22) | Single video play button on dark background, navy/gold |
| MM Custom Build ($800) | Hands typing on keyboard, automation flowchart projected on wall, navy/gold |
| MM Managed Hosting ($75/mo) | Server room from above, blue terminal cursor blink, navy/gold |
| RC Astrology Mini ($5) | Watercolor astrology chart fragment, terracotta + cream |
| RC Jupiter PDF ($5) | PDF cover mock with Jupiter motif, terracotta + cream + gold |
| RC ShareCraft ($5) | Strip Mall workshop scene tile (small variant of P0.1) |
| RC RoseCard Activation ($10) | Single rose-stamp NFC card on weathered wood, terracotta |
| RC RoseCard Annual ($10/yr) | Same + small "365" stamp |
| RC Star Map ($45) | Hand-drawn celestial map fragment, gold ink on cream paper |
| RC Venus Deep Dive ($95) | Watercolor Venus glyph + birth chart fragment, terracotta + dusty rose |
| GH Scout Intro ($30) | Property scout walking dirt road, blue-collar realism, sage + earth |
| GH Scout Report ($300) | Manila folder + property map + soil report, sage + earth |
| WHG Day Experience ($250) | Cedar-cabin retreat scene, golden hour, purple + dusty rose |
| GC GroveCard ($25) | NFC card embedded in handcrafted leather, earth tones |

---

## P2 — Logo briefs (Brady Hugins + Small Stage)

### Brady Hugins logo (typographic)

**Brief:** Wordmark + small ornament. Voice: direct, opinionated, "traded the desk for the dirt."

**MJ prompt:**
```
Minimalist typographic logo "BRADY HUGINS" — modern serif (Tiempos or similar), black ink on cream, single small ornament: a sprig of sage or hand-drawn arrow underneath. No flourish. No script. Three weights: black, regular, italic. Clean editorial mark. Vector-friendly outline style. --ar 4:1 --style raw
```

**Drop in:** `bradyhugins/logo/wordmark.svg` + `wordmark-black.png`

---

### Small Stage logo (theatrical scaffold)

**Brief:** Wordmark + theatrical stage motif. Voice: producer who listens to your demo, "Step Onto the Stage."

**MJ prompt:**
```
Logo for "Small Stage" — wordmark in DM Serif Display, accompanied by a small theatrical scaffolding icon: bare wood platform with stage rigging silhouette above. Color: terracotta #B8432F primary + warm amber #E8B849 accent. Editorial theater poster aesthetic, late-1900s avant-garde feeling. Clean vector lines, three sizes (display, regular, icon-only). --ar 4:1 --style raw
```

**Drop in:** `smallstage/logo/wordmark.svg` + `wordmark-color.png` + `icon.svg`

---

## P3 — Other brands' site hero gaps (deferrable)

- LongHouse civic/governance scene
- Brady Hugins illustrative hero
- Rose in the Grove ecosystem hub canonical OG card

These are nice-to-have. Don't run MJ on these until P0/P1 ship.

---

## ROI ranking (compact)

| # | Asset | ROI | Effort | Time-sensitive |
|---|---|---|---|---|
| 1 | ShareCraft May 2 custom hero | High | 1 prompt | **YES — May 2** |
| 2 | Solshine bottle + botanical + lifestyle | Highest | 3 prompts | YES — first sale ASAP |
| 3 | MM /webinar/ hero | High | 1 prompt | YES — every Friday |
| 4 | MM /consult/ hero | High | 1 prompt | Medium |
| 5 | Stripe product imagery batch (top 5 highest-revenue) | High | 5 prompts | Medium |
| 6 | MM /education/, /case-studies/, /automation-build/ heroes | Medium | 3 prompts | Low |
| 7 | Stripe product imagery batch (remaining 13) | Medium | 13 prompts | Low |
| 8 | Brady Hugins logo | Low | 1 prompt | Low |
| 9 | Small Stage logo | Low | 1 prompt | Low |
| 10 | LH/Brady/RIG site heroes | Low | 3 prompts | Low |

---

## Workflow — Brady's MJ session

1. Open MJ Discord, paste each prompt above as a `/imagine` command
2. Wait for 4-image grid; pick best, upscale, download
3. If brand voice / kill-phrases compliance is questionable: regenerate with adjusted prompt
4. Drop the WebP / PNG into `~/Desktop/mj-uploads/` (CC will help upload to R2 from there)
5. CC ingests via existing pipeline `~/builders/build_mj_ingest.py` — auto-uploads to R2 + records in Prompts Airtable
6. Builder code that needs the new asset gets updated as Brady requests

**For Stripe product images:** after R2 upload, manually drop the URL into Stripe dashboard product → image field.

---

## What this doc supersedes

- S83-H89-A napkin assessment (covers napkin only, not full asset stack)
- S83-H26d Penny Knights MJ brief (still valid, scope-limited to LH chapters)
- S83-H79-E 4 MJ briefs (WHG Solshine + Penny Knights + CC:Universe + per-brand OG) — Solshine prompt above is the canonical version
- S83-H20a brand asset audit (status snapshot — this doc is the action plan)
- S83-H78-E creative asset shoot list (photo shoot scope, complementary to MJ)

---

## Defer / Out of scope

- Photography (Brady-action, separate creative_asset_shoot_list doc)
- Print collateral (cards, stickers, etc.)
- Video assets (covered by Descript pipeline, S83-H6e)
- Music + cortinas (covered by Music Publish Dispatch)

---

## Verification

Once a P0 asset ships:

- [ ] WebP at correct R2 path, HEAD returns 200
- [ ] Builder pulls the new asset (rebuild, deploy)
- [ ] Live page shows new hero, no gradient fallback
- [ ] OG card preview check via opengraph.xyz
- [ ] Mobile + desktop visual sanity

---

## What changes for future sessions

- This doc becomes the canonical "what's missing" reference; supersedes ad-hoc per-brand briefs
- Brady runs MJ in batches; CC + builders pick up from R2
- Decision rule for new assets: matches one of the prompts above OR a new one is added here first (don't ship one-off briefs that don't get consolidated)
