Cash'em · Launch Tracker
Cash'em — June 1, 2026
Launch readiness · June 1 items only
—
All tracked items · including fight-week + deferred
—
Today's wins · May 12 (full day)
35/35
Done
PR #62 merged · /api/sets?game=ufc 503 fix
PR #63 merged · TIER_CONFIG['elite'] crash fix
PR #64 merged · Pricing architecture lock (17 files, +114/-138)
$14.99/$149 Pro, $25 additional, $50 standalone. requireElite→requirePaid. LAUNCH_ELITE_2026 removed. TS errors 101→84.
PR #59 merged · Bug debug batch (binder auth, UFC boundary, 404 unicode, /search route)
PR #65 merged · UFC fight-week Phase 1 (countdown, featured card, Pick'em backend)
PR #56 merged · Design polish (slab overflow, scanner toast, empty states)
PR #53 merged · Charter waitlist system (7 files)
PR #60 merged · Failure mode fire drill (7 of 8 fixes)
PR #66 merged · SEO polish (Organization + MobileApplication JSON-LD)
PR #67 merged · Charter pop Variant A lock
PR #68 merged · Launch day runbook (T-7 through T+7)
PR #69 merged · iOS Build 14 prep
PR #70 merged · Design polish audit doc
PR #71 merged · Typography + empty state + loading polish
PR #72 merged · Pick'em UI Phase 1.5 + demo mode + BETA removal
PR #73 merged · Pick'em Hyder page
PR #74 merged · Demo mode banner on Home
PR #76 merged · Stripe credentials Railway compatibility
P0 net-new: Stripe env vars weren't loading on Railway (Replit Connectors pattern). Fixed same session.
PR #77 merged · /api/health/launch-readiness endpoint
PR #61 closed · superseded by #65
moonshot-web PR #12 merged · SEO foundation
moonshot-web PR #13 merged · Clerk middleware fix for SEO
moonshot-web PR #14 merged
moonshot-web PR #15 merged
moonshot-travel PR #18 merged
moonshot-travel PR #19 merged
moonshot-travel PR #20 merged
Pricing architecture fully locked
Stripe unblocked on Railway (P0 caught + fixed same session)
/api/health/launch-readiness live, reporting "ok"
Pick'em UI live in production
iOS Build 14 in TestFlight
Migration 0039 (Pick'em predictions) applied production
Migration 0040 (Charter waitlist) applied production
admin.moonshotos.ai DNS verified live
Open PRs · still in review
0/1
For Review
PR #48 · Sentry observability (deferred May 26-31)
Keeps launch debug surface clean. Merge in Week 3.
Decisions locked
18/18
Decided
Pricing architecture locked May 12
Free $50 · Pro $14.99/$149 + 3 free grades on yearly + $25 additional · pro_founder $7.99 · Charter $250/$3,000 + 24 credits/yr + $25 additional
requireElite → requirePaid (24 endpoints, PAID_TIERS check)
LAUNCH_ELITE_2026 promo + scan-to-elite removed. New users start free.
UFC fight-week two-phase build pattern proven (Phase 1 done, Phase 2 = 5-min fill-in)
Stripe Railway env var path (replaces Replit Connectors)
PR #76. Test→live mode swap planned May 26-28.
Referral system: travel bank credit only at v1.0.1 (revenue share via spec doc)
iOS Build 14 carries scanner + Pick'em + Charter waitlist
24 Cashem PRs merged May 12 without regression
Launch date · June 1, 2026
D1 · pro_founder has iOS users (B)
D2 · Live in App Store (version iteration not first submit)
D3 · Charter pop Variant A locked (Gold Card)
D4 · Sentry under existing Moonshot OS org (deferred Week 3)
D5 · Hard close Charter at 1,000 + waitlist for v1.0.1 perks
D6 · iOS + web together June 1
D7 · Alex primary, Jimmy backup
Slab budget · $5k working assumption
UFC fight-week activation spec · drafted, executed, committed
Shipped May 11 (yesterday)
21/21
Done
PR #14 merged · UFC theming + SGC grader
PR #16 merged · Photo bucket startup warning fix
PR #41 merged · Production runbook (575 lines)
PR #45 merged · P0 audit batch (pool 50, webhook dedup, 8 indexes, structured logging)
PR #47 merged · ADDING-A-SPORT.md
PR #49 merged · RevenueCat tier mapping fix
PR #50 merged · Home search 0-width bug · VERIFIED LIVE
PR #51 merged · Design polish batch (3 P0 must-fixes)
PR #52 closed · Frankenstein recovery successful
PR #57 merged · Security batch (April audit, 3 P0 fixes)
PR #58 merged · .env.example completeness (32 vars)
PR #54 merged · Home hero game switcher chips
PR #55 merged · Charter pop Variant A lock
Migration 0038 applied to production Neon
UFC catalog · 500 cards, 5 sets imported
5 pro_founder users grandfathered
Design completeness audit (12 surfaces, 85%+ complete)
Documentation completeness audit (7 areas, 6 P0 net-new found)
Failure mode audit (11 services, 10 P0 fire-drill items found)
Neon DB password rotated
Admin dashboard deployed
External dependencies · Alex action
9/12
Critical Path
Hyder Amil hero/Pick'em/slab picks — TEXTED, awaiting response
Phase 1 build engineered with placeholders. 5-min fill-in once he picks.
Confirm Ben slab design status (May 15 lock)
Verify SENDGRID_FROM_EMAIL + SENDGRID_CASHEM_API_KEY in Railway
Both confirmed present. Charter waitlist emails will send.
Decide Pro per-grade price
Locked May 12: $25 additional · 3 free with yearly · $50 standalone · 24 credits/yr for Charter.
Clarify 2-of-5 pro_founder accounts (both Alex's emails)
Verify Jimmy Railway access
Verify Jimmy Stripe access
Add CNAME admin to cname.vercel-dns.com at moonshotos.ai DNS host
Confirmed live today. admin.moonshotos.ai resolves.
5 pro_founder user IDs identified + migrated
Slab budget · $5k working assumption set
Neon password rotated
Stripe credentials path Railway compatibility (PR #76)
P0 caught + fixed same session. Replit Connectors pattern replaced.
Audit findings · P0 net-new items not yet in PRs
2/10
P0
/api/sets?game=ufc returns 503
Fixed in PR #62 (catalog_sets fallback for non-pokemon games). DONE.
CSP enablement (security.ts:124)
aiUsageMap memory leak pruning
Graceful shutdown SIGTERM hook
Request correlation IDs middleware
BetterUptime monitoring
Supabase Storage timeout for photo uploads
Charter Stripe webhook atomicity (handleCharterSubscriptionActivated)
Stripe customer ID atomicity (routes.ts:5833)
Stripe credentials path Railway compatibility
Net-new P0 discovered during health endpoint build. Fixed in PR #76 same session.
iOS · App Store
2/11
P0
Verify native scanner plugin in Build 14
Cut iOS Build 14 with scanner + Pick'em + Charter + pricing
PR #69 merged. Build in TestFlight.
TestFlight internal smoke (Alex downloading)
App Store screenshots refresh (6-screen)
App Store metadata refresh
Apple Sign In verified on TestFlight
RevenueCat IAP verified on TestFlight
Push notifications verified on TestFlight
Deep link smoke test
Submit to Apple Review by May 27
Monitor Apple review status daily
Smoke testing + QA
0/9
P0
E2E · signup to charter to scan to seal to grade to R/Y/G
E2E · re-scan dedup (60s silent + different-copy modal)
E2E · Charter Stripe checkout end-to-end
E2E · grading credits buy + spend
E2E · Charter waitlist submission + confirmation email
Unblocked by PR #53 merge.
On-device slab QA (iPhone 13/14/15/16 + SE)
Scanner field test (varied lighting/finishes)
Seal ID format spot check
Public /s/:sealId page anonymous render
UFC fight-week · Hyder Amil · June 20 · post-launch, not in launch %
12/15
Post-Launch
UFC catalog imported (500 cards, 5 sets)
UFC theming + chip verified live
Hyder Amil confirmed in catalog (20 cards)
Fight-week activation spec drafted (3 surfaces)
Phase 1 CC build executed (PR #65)
Fight-week countdown banner shipped
Featured Hyder card slot shipped (placeholder)
UFC Pick'em backend shipped (schema + API + cron)
UFC sets API fixed (PR #62)
Pick'em UI Phase 1.5 live (PR #72)
BETA badge removed from UFC (PR #72)
Demo mode banner live (?fightweek=demo, PR #74)
Phase 2 · fill in Hyder's 3 card IDs (5-min prompt)
UFC Home crash root cause (interim boundary in place)
Activation checklist morning of June 14
Stripe + Payments verification
2/8
P0
Stripe credentials path Railway compatibility (PR #76)
Health endpoint reports stripe: ok
Publishable key endpoint verification (curl test)
Stripe SDK balance check
Webhook events table accessible
Stripe CLI webhook round-trip test
Checkout session creation verification
Real TestFlight Charter checkout end-to-end with test card
Monitoring + Observability
3/6
P1
/api/health/launch-readiness live
Cron-based Pick'em resolution
Stripe webhook events table + dedup
BetterUptime polling configured
Alert routing (Slack/email)
Sentry (PR #48, deferred to May 26-31)
Deferred · v1.0.1 and beyond · not in launch %
0/28
Defer
v1.0.1 · Clean up remaining elite/master refs (if any)
PR #64 removed most. Audit for stragglers post-launch.
v1.0.1 P0 · RevenueCat must not downgrade pro_founder/charter to pro
v1.0.1 · Charter A/B/C variants (data-driven test)
v1.0.1 · Public R/Y/G recommendation toggle
v1.0.1 · Pick'em 30-day reveal celebration
v1.0.1 · Retry 3 failed UFC sets with backoff
v1.0.1 · UFC catalog full pagination
v1.0.1 · Map 20 unknown UFC rarity strings
v1.0.1 · club-join onError defensive String() for nested errors
v1.0.1 · Expand UFC catalog depth for top fighters (McGregor, Khabib, GSP, Silva, Jones)
Post-launch · Moonshot Travel failure mode audit (same methodology)
v1.0.1 · Cashem SEO Phase 2 (react-helmet-async per-route meta)
v1.0.1 · Cashem SEO Phase 3 (card detail SEO landing pages — the big organic-traffic moat)
moonshot-web · Live data-pipeline-stats endpoint follow-up
Currently using honest static fallback (111,000+ obs, $156 avg). Live query is in flight via CC #2.
v1.1 · UFC custom illustrations (replace emoji icons)
v1.1 · UFC fighter metadata in card detail
v1.1 · UFC-specific empty states
v1.1 · First-scan guided tutorial
v1.2 · Foil v1 AI authenticity verification
v1.1 · Real-time AR card identify in viewfinder (Cash'em Vision)
v1.1 · Public profiles at /u/:handle
v2.0 · Multi-TCG (MTG, Yu-Gi-Oh, One Piece)
v2.0 · Full sports cards (NFL, NBA, NHL, Soccer)
v2.0 · Cash'em Intelligence B2B layer
v1.0.1 · Audit Replit-specific code paths beyond Stripe
Replit Connectors pattern may exist in other helpers.
v1.0.1 · Unify ?demo=1 and ?fightweek=demo into single demo flag
v1.0.1 · Sentry observability (PR #48)
v1.0.1 · Referral system Phase 1 (per spec doc, travel bank credit)