Phase 35 Β· Live capture board

Don't lose anything

Running list of everything you've surfaced in this session. Updated as we go. Anything you add gets pinned here so it survives across turns and sessions.

Last updated: 2026-05-25 Β· captured by Claude
πŸ§ͺ iPad test results Β· 2026-05-25

8 findings from the founder's iPad walk-through

FIXED
#1 Tokyo pick at onboarding β†’ app still opened to Williamsburg
Root cause: AppShell never remounted when onboarding gate flipped β†’ useState initializer kept its null value. Fix: handleOnboardingComplete now explicitly sets active city.
FIXED
#2 + #8 Red urgent banner stacked all cities' alerts on first open
Same root cause as #1 (null active city β†’ filter let all alerts through). Indirectly fixed.
FIXED
#3a Real estate listings from Williamsburg showed in non-NYC feeds
feedListings now filters by active city. International cities show no listing inserts.
FIXED
#3b "Happening Tonight" + "New on Your Block" + "New Here Guide" all WB content
SocialNudgeCards now reads per-city tonightEvents. NurturingStrip ("new here guide") gated to NYC only.
CONFIRMED
#4 Briefings + calendar + map work once city is switched
Per-city wiring landing as expected.
CONFIRMED
#5 Vesta lands ("looks good")
Hard-hitting tone shift validated.
CONFIRMED
#7 City selection persists across reload
localStorage round-trip works.
PARK
Calendar UX polish β€” color-coded dots + upcoming-dates wiring (Phase 36)
Currently tapping a day shows nothing. Wants dots per category + mock data at upcoming dates.
DISCUSS
Story bubbles β€” should they appear in non-NYC? Should they exist at all?
Decision pending next session.
πŸ”— Quick links Everything click-through in one place
πŸ†• New this turn Don't lose
Cross-app feature concept

Live photo threading on event posts

For any post about something happening right now β€” a march forming, parade, fire, block party, marathon, concert, protest β€” anyone in proximity can attach photos directly to that single post. Click the pin on the map β†’ see the post β†’ see the live photo gallery contributed by neighbors as the event unfolds.

Why this matters
Nabe becomes the live sensor of the neighborhood. One canonical post per event, not 50 scattered Instagram stories. The map pin is the live coverage.
Open questions
β€’ Who can contribute? (Anyone in neighborhood? GPS-verified within 200m? Trusted neighbors only?)
β€’ Time decay β€” photos sorted newest first, post auto-archives after how long?
β€’ Moderation β€” how do you handle bad-actor photos?
β€’ Should the post escalate to a "Right Now" banner item if 5+ photos arrive in a short window?
Cross-app pattern Likely Phase 36 Not in current phase scope
⚽ WC Hub 14 ideas captured · gallery linked

14 World Cup hub concepts

Founder said: "I like all your World Cup content ideas, all of them. Can we mock them up, I don't want to lose them." Done.

Open the gallery β†’
All 14 concepts (click to expand)
πŸ”₯ Hyperlocal:
1. Pickup games (β˜…β˜…β˜…β˜…β˜…)
2. Goal celebration meeting points (β˜…β˜…β˜…β˜…β˜…)
3. Block-level leaderboards + trash talk (β˜…β˜…β˜…β˜…)
🌍 Cross-city:
4. Live cross-city reaction stream (β˜…β˜…β˜…β˜…β˜…)
5. Sound/cheer heatmap (β˜…β˜…β˜…β˜…)
6. Same-team different-cities thread (β˜…β˜…β˜…β˜…β˜…)
✈️ Tourist/diaspora:
7. Argentine fans in your neighborhood this week (β˜…β˜…β˜…β˜…β˜…)
8. Neighbor-hosted watch parties (β˜…β˜…β˜…β˜…β˜…)
9. 7-day visiting-fan guide (β˜…β˜…β˜…β˜…)
🍽 Business:
10. Game-day curated map (β˜…β˜…β˜…β˜…β˜…)
11. Restaurants doing match specials (β˜…β˜…β˜…β˜…)
12. Jersey-spot photo wall (β˜…β˜…β˜…)
πŸ•Š Civic/cultural:
13. Vesta featured story (β˜…β˜…β˜…β˜…β˜… β€” pitch climax)
14. Player neighborhood roots (β˜…β˜…β˜…)
Claude's 3-card recommendation
1. Live cross-city reaction stream β€” the pitch shot, proves D-15
2. Game-day curated map β€” local commerce activates around the moment, monetizable
3. Vesta featured story β€” pitch climax, last thing Reffkin sees
Everything else β†’ roadmap park for "if Compass wants to scale this"
Status: You haven't reviewed the gallery yet. Decision pending: which 3-5 of the 14 make it into the hub before pitch.
πŸ•Š Vesta tone Founder override of Plan 04 D-11

Make Vesta hard-hitting

βœ“ DONE 2026-05-25 β€” see diff page

Plan 04 used dignified euphemisms ("displaced families," "rebuilding") per D-11. Founder direction now: go harder. Still fictional (no Ukraine/Gaza/Israel/etc. names) but the vocabulary should land. 5 new posts shipped + 2 new Right Now alerts + 1 emergency hotspot.

Open the kept-vs-added diff β†’
Add (founder's list)
  • β€’ Shelter-in-place alert in the red banner
  • β€’ Bomb shelter posts (which ones are open, capacity)
  • β€’ Aid posts β€” where aid is needed (location-tagged)
  • β€’ Aid posts β€” where aid is arriving (international supplies)
  • β€’ Missing person found after latest bombings / attacks
Keep
  • β€’ Fictional only β€” no Ukraine, Gaza, Syria, Sudan, etc.
  • β€’ Mixed tone β€” civic vitality AND practical aid coexist
  • β€’ WC viewing event (kids at community center) β€” joy persists
  • β€’ Universal-archetype names (Ana Rivers, Marek Sun, etc.)
  • β€’ Resilience tone, not pity tone
What changes in the data
src/data/mockPosts.ts Vesta section gets ~3-5 new posts in the harder register, existing Vesta posts stay or get slight vocabulary tightening. MOCK_ALERTS in mockPosts gets a shelter-in-place Right Now item.
πŸ” Audit 11 issues found in cross-city consistency Β· 2 more user-reported
🚨 Critical (3) β€” fix before any demo
Picked city doesn't persist
AppShell.tsx:77 β€” state inits to null, never reads localStorage. Pick Paris in onboarding β†’ app falls back to WB. ← your report
Onboarding lets you skip the picker β†’ silent WB default
OnboardingFlow.tsx:32 β€” defaults to 'williamsburg' if skipped. ← your report
Hotspot reports default to WB coords
AppShell.tsx:262 β€” same null-state footgun.
πŸ”΄ High (4) β€” visible in demo
Briefing subtitle hardcoded to "Williamsburg"
MorningBriefingDrawer.tsx:37-39 β€” "Since 6am Β· Williamsburg" shows in every city.
Briefing content is 100% NYC venues
mockBriefing.ts β€” Devocion, Paulie Gee's, Nabe Building Rooftop everywhere.
Calendar fallback says "Williamsburg"
CalendarDrawer.tsx:100 β€” when no neighborhood selected.
Emma Chen (Meet Your Agent) shows in every city
FeedContainer.tsx:94-95 β€” fix: hide entirely in non-NYC cities. ← your report
🟑 Medium (2) + 🟒 Low (2)
β€’ MorningBriefingDrawer doesn't receive activeNeighborhood prop at all
β€’ Onboarding allow-skip is a subset of Critical #2
β€’ Map cold-start defaults to WB before FlyTo activates (acceptable)
β€’ Hotspot fallback overlaps with Critical #3
πŸ“Œ User-reported, not auto-detected by audit (2)
Right Now banner / red banner β€” same WB content for all cities
The audit caught briefings but not this. Need to verify what the red banner reads and whether MOCK_ALERTS filters by neighborhood.
Events calendar β€” only WB events show across cities
Plan 03 added 12 international events + Plan 04 added 3 Vesta events β€” but the calendar UI may not actually filter to active city.
πŸ“‹ Suggested fix order ~3-4 hours total
# Task Status
βœ“Persist picked city to localStorage + restore on mountdone
βœ“Block onboarding "Continue" until city picked (already had check; hardened defensive path)done
βœ“Hide Emma Chen card in non-NYC citiesdone
βœ“Make briefing accept neighborhood prop + show city namedone
βœ“Right Now banner per-city filtering + add international + Vesta hotspotsdone
βœ“Events calendar β€” filter by active city (was already filtered; subtitle now shows city)done
βœ“Build per-city briefing data structure (8 hand-tuned briefings)done
βœ“Rewrite Vesta posts with hard-hitting tone β€” 5 new + diff pagedone
9Pick 3-5 WC hub concepts from gallery + build themawaiting your pick
βœ“Calendar fallback fixdone
βœ“Hotspot report fallbackdone
πŸ…ΏοΈ Parked for later Bigger ideas β€” likely own phases
  • Live photo threading on event posts
    From this turn. Cross-app feature. Likely Phase 36 candidate. See top of page.
  • 9 WC hub concepts not in the chosen 3
    If Compass funds scaling, these are the next-up. Goal celebration meetups, sound/cheer heatmap, jersey-spot wall, etc.
Status Β· 2026-05-25

Where you are right now

βœ… Phase 35 shipped (6 plans, 5 waves, all gates green)
βœ… Vite + file servers running for iPad review
βœ… All session feedback captured to this page
βœ… 10 of 11 cross-city consistency issues fixed and committed
βœ… Vesta tone shift complete β€” 5 new posts + shelter alert + diff page
⏸ WC hub gallery awaiting your review + pick of 3-5 concepts
iPad bookmarks (worth saving):
App Β· http://192.168.1.171:5173/
Capture board Β· http://192.168.1.171:8001/phase-35-capture-board.html
WC ideas gallery Β· http://192.168.1.171:8001/wc-hub-ideas-gallery.html
WC placement mockups Β· http://192.168.1.171:8001/wc-hub-placement-options.html
Vesta tone diff Β· http://192.168.1.171:8001/vesta-tone-shift-diff.html
Phase 35 docs Β· http://192.168.1.171:8002/
Pitch deliverables Β· http://192.168.1.171:8000/