The shift in mental model
Build Plan v1 was about making the existing modal modal-flow valuable — wiring pledges to a tracker, branding shares, minting collectible cards. That's still good, and it ships next.
Build Plan v2 is the bigger thing you've been describing: the platform isn't one modal — it's a year-long, gamified awareness journey. 998 already-authored Airtable records become real content across five connected surfaces, each pulling its appropriate slice. The modal is just one of them.
What you already have that we're not yet using
| Asset | Where it lives | Current state |
|---|---|---|
| 998 editorial records | Airtable: 2025 Editorial Calendar | Authored · Not platform-connected |
| 12 monthly CHAMP badges | WordPress: my-healthy-awareness | Designed · Not earnable yet |
| 12 STAR Health Month Awareness CHAMP badge | WordPress: my-healthy-awareness | Designed · No award trigger |
| Quiz Q&A library (correct answers marked) | Airtable: same calendar table | Authored · Modal uses 36 hand-written Qs instead |
| 10 of 12 monthly course pages | /monthly-health-awareness/ (live) | Partial · May & Dec gaps |
1 · How the 998 records distribute across 5 surfaces
Every record gets routed to its right home based on three Airtable fields: day-type, type (Activity Post / Quiz / Awareness Day / etc.), and topic (the awareness theme).
Routing logic — Airtable field → surface
| Airtable type | Daily Modal | Feed | Gallery | Locker | CHAMP |
|---|---|---|---|---|---|
| Activity Post (Monday Motivation, etc.) | ⭕ Light | ✅ | ✅ | — | — |
| Quiz Section | ✅ Anchor | — | ✅ | — | ✅ Score |
| Quiz Question + Answers | ✅ | — | — | — | ✅ |
| Health Month Awareness | ✅ | ✅ | ✅ Anchor | — | ✅ |
| Health Awareness Day | ✅ On its date | ✅ | ✅ | — | ✅ |
| Health Awareness Week | — | ✅ | ✅ | — | ✅ |
| User-saved (pledged or starred) | — | — | — | ✅ | ✅ |
2 · Community Feed — the river of daily content
The cadence you defined this morning (Mon Motivation through Sun Soulful Science) becomes the spine of the feed. Every day's post auto-publishes on its scheduled date. Members can like, comment, save to locker, and re-share.
Mockup — feed on a typical Wednesday in May
Auto-publish + author attribution
| Day type | Author avatar | Feed treatment |
|---|---|---|
| Monday Motivation | Dr. Rob | Top-of-feed pin all Monday |
| Tuesday Member Tips | Coach Lucy | Standard feed post |
| Wednesday Wisdom | Dr. Rob or Coach Lucy | Standard, links to a related lesson |
| Thursday Thoughtfulness | Coach Lucy | Mindfulness moment + Live It pledge |
| Friday Fit Families | Community submissions | User-generated spotlights |
| Saturday Civics & Service | Coach Lucy or Director | Share It call-to-action anchor |
| Sunday Soulful Science | Coach Lucy | Reflection + weekly recap |
3 · Awareness Calendar Gallery (/health-awareness-calendar/)
The visual map of the whole year. Members land here when they want to see what's coming, jump back to a past month they missed, or browse the topic library.
Mockup — full year at a glance
What clicking a month does
- Hero strip with month theme + badge artwork + your CHAMP progress (e.g., "4 of 8 items completed — earn your May badge")
- Awareness Days strip on a horizontal timeline (May 12 · International Nurses, May 19 · Hepatitis Testing, May 31 · World No Tobacco, etc.)
- Quiz card per topic — tap to do that topic's 3-Q quiz (pulled from Airtable, not the modal's hand-written set)
- This month's cadence posts — all Mon-Sun posts from the feed, archived for replay
- Earned cards from this month — your collection from this month's shares
4 · CHAMP Challenge Hub (/awareness-champ/)
The gamification spine. Members see their progress through the 12 monthly awareness tracks plus the year-long capstone. The badge wall.
Mockup — mid-year (June, 4 months earned)
The capstone
Earn rules (draft — your call to confirm)
| Action | Reward |
|---|---|
| Complete a quiz Q correctly | 1 LEARN It Coin |
| Pledge a Live It commitment | Add to Locker · 2 coins |
| Complete a pledged Live It | 1 LIVE It Coin + streak bump |
| Share a Tip Card | 1 SHARE It Coin + card minted into Collection |
| Complete 8 items in a month (across the three types) | 🏅 Monthly Awareness CHAMP Badge |
| Earn all 12 monthly badges in 12 calendar months | 🌟 12 STAR Health Month Awareness CHAMP + Foundation recognition |
Coach Lucy moments
- Mid-month nudge (day 15): "You're at 4 of 8 May items. Two more this week locks the Mental Health badge."
- Month-end celebration: "You did it. May Mental Health CHAMP badge unlocked. 5 months down. 7 to go."
- Capstone reveal: a real, ceremonial 12-STAR animation + Foundation thank-you + optional certificate generated to PDF.
5 · Daily Modal — what changes
The modal you love stays. The shape stays (3 facts → 3 quiz → pledge → share). Three things change underneath:
Change 1 · Content source switches from hand-written to live Airtable data
// BEFORE — mobile-chrome.js (fictional, 36 facts/year) function thisMonthAwareness() { return AWARENESS_BY_MONTH[new Date().getMonth() + 1]; } // AFTER — pulls today's record from the synced Airtable async function todaysAwarenessRecord() { const cal = await fetch('/_shared-assets/2025-editorial-calendar.json').then(r => r.json()); const today = new Date().toISOString().slice(0, 10); // Pick a Health Awareness Day if today matches one; else pick this week's anchor topic return cal.findExactDateMatch(today) || cal.findWeekAnchor(today); }
Change 2 · "Already earned today" return-state replaces the silent suppression
Right now: if (lastShown === todayKey()) showTipBar(...) — modal just doesn't open. You get nothing.
New: a short celebration screen — "You've already earned today's PHIT Daily Dose. Here's your coin haul + tomorrow's preview" + a "Add today's topic to my Locker for a deeper dive" CTA.
Change 3 · "Add to Locker for deeper dive" upsell after completion
After the win screen: "Want to keep learning about Mental Health Awareness? Add to your Locker — Coach Lucy will surface 3 more facts and a deeper-dive lesson tomorrow." One-tap save.
6 · Sync architecture — Airtable as source of truth
One source of truth (Airtable), one cached JSON on the platform, every surface reads from it.
The flow
┌─────────────────────────────────────────────────────────────────┐ │ AIRTABLE · 2025 Editorial Calendar (998 records · authored) │ └──────────────────────────┬──────────────────────────────────────┘ │ │ Nightly cron OR on-demand sync ▼ ┌─────────────────────────────────────────────────────────────────┐ │ /_shared-assets/2025-editorial-calendar.json (one cached file) │ │ ~250KB · cdn-served · Vercel edge cache │ └──────┬──────────────┬───────────────┬────────────────┬─────────┘ │ │ │ │ ▼ ▼ ▼ ▼ Daily Modal Community Feed Calendar Gallery CHAMP Hub (today's (chronological (12-month (progress record) feed of all visual map) tracking) cadence + awareness)
Sync script
A small Python script (_sync-editorial-calendar.py) that:
- Pulls all 998 records via Airtable API
- Transforms into a flat JSON optimized for client read
- Drops to
/Deploy Ready/_shared-assets/2025-editorial-calendar.json - Logs which records changed since last sync (so admins can review)
Runs nightly via GitHub Actions cron OR manually before any deploy. Lucy/Dr. Rob keep editing in Airtable — the platform always shows the most recent sync.
Why JSON-cached vs. live Airtable calls
| Approach | Pros | Cons |
|---|---|---|
| Live Airtable per page load | Always current | Slow · API rate limits · Airtable token in client = security risk |
| Synced JSON (recommended) | Fast · No API key in client · Edge-cacheable · Offline-friendly | Up to 24-hr delay on edits (acceptable for editorial content) |
7 · Build phases — sequencing the work
Five surfaces, but we don't build all five at once. Each phase ships standalone value.
_shared-assets/2025-editorial-calendar.json so all subsequent work has real data to consume./health-awareness-calendar/ as the visual year hub. Wire the "Add to my Locker" upsell from the modal into the Locker panel on Live It Trackers (already built in Plan v1)./awareness-champ/ with the 12-badge wall + capstone. Implement the 8-items-per-month earn rule. Hook up monthly badge unlock celebration + 12 STAR capstone trigger. Wire badges into the user's Profile + Chamber leaderboard./feed/ as the chronological river of all cadence posts. Auto-publish on scheduled dates. Like / comment / save / re-share affordances. Author attribution to Dr. Rob / Coach Lucy. Mobile-first.Total estimated lift
~22 hours of build spread across 5 sessions. Each phase is independently shippable — you can pause anywhere and still have a working slice.
How do you want to drive this?
This is a multi-week build with significant scope. Tell me which phase to start with, or send edits on the earn rules, distribution map, badge thresholds, or surface boundaries. I won't touch code until you green-light.