← Operating Docs · What could go wrong + how to prevent it

Pre-Mortem Assessment — Launch Sprint

Date: May 18, 2026 Window analyzed: T-13 days to June 1 launch + T-6 to Foundation Cohort May 24 Method: Imagine we ship the launch and it underperforms. Walk backward and identify what broke. Then fix proactively.


What "success" looks like (so we know what we're protecting)

By June 8, 2026 (one week post-launch):


🔴 RED — Things that could kill the launch

R1. Bannerbear templates aren't ready for prime time

Risk: Christiane has 1 working template (elina-instagram-quote-card). The engine has 3 voices × 5+ formats = 15+ template combinations the cron tries to fill. Most won't be mapped on June 1, which means most posts ship without branded images.

Likelihood: HIGH — we know this is the state today Impact: HIGH — undermines "premium clinical brand" positioning Mitigation:

R2. GHL Foundation Cohort workflow isn't built yet

Risk: May 24 outreach to 300 patients doesn't fire because workflow isn't published.

Likelihood: MEDIUM — I got the trigger 95% set up; Brian needs to finish + add the 22 actions Impact: SEVERE — the Foundation Cohort moment dies on the vine Mitigation:

R3. Stripe Foundation Cohort price routing isn't wired

Risk: Foundation Cohort patients click the link, get sent to the $19.99/mo public checkout instead of the $9.99/mo lock-in price. Bad first impression, breaks the promise, contaminates the cohort.

Likelihood: UNKNOWN — Brian said Stripe is "already wired" but the lock-in price routing is a NEW behavior, not the standard checkout Impact: SEVERE — breaks trust with 300 existing patients Mitigation:

R4. Engine cron failures during launch week

Risk: Worker crashes, Fly.io hits a memory limit, content-generation cron fails on June 1 morning. We launch with nothing on the social feed.

Likelihood: LOW — worker has been stable, has health checks every 15 min Impact: MEDIUM — launch day looks empty on social, but recoverable Mitigation:

R5. Daily check (the actual product) breaks on launch day

Risk: The scan flow has a regression. A new user opens the app, the scan fails or hangs at BUFFERING/BASELINE_LOCK, they bounce.

Likelihood: MEDIUM — scan flow has 5 phases, complex enough to break Impact: SEVERE — the product IS the scan Mitigation:


🟡 YELLOW — Things that will probably bite but won't kill us

Y1. AI agent in GHL not configured yet

Risk: Inbound DMs from Foundation Cohort outreach land in GHL and there's no AI agent to handle them. Brian has to manually respond to 30+ DMs over launch week.

Likelihood: HIGH — we have the spec, not the deployment Impact: MEDIUM — Brian gets buried in DM volume but it's manageable for 1 week Mitigation:

Y2. Investor demos aren't rehearsed

Risk: Investor watches you click around the engine and something breaks live. Or a tab is empty and you stammer. Or the scan fails to lock and you panic.

Likelihood: MEDIUM Impact: HIGH — investor first impression is sticky Mitigation:

Y3. Pipeline tab content is stale

Risk: When Christiane or an investor opens the Pipeline tab in the admin dashboard, it shows status pills like "🟡 code shipped" and "⚪ next" that don't match reality (engine is much further along than this tab claims).

Likelihood: CERTAIN — I just confirmed the content is stale Impact: LOW — internal credibility ding Mitigation:

Y4. Video filming compresses into 2 days

Risk: Brian doesn't film the 7 Atlanta boardroom videos before May 21. Foundation Cohort Touch 2 (May 27 send) ends up without a video, breaking the campaign cadence.

Likelihood: MEDIUM — filming friction is real Impact: HIGH — Touch 2 is the emotional center of the Foundation Cohort sequence Mitigation:

Y5. Bannerbear templates use wrong layer names (Christiane's earlier 2 broken templates)

Risk: Christiane forgets to rename messageheadline and the broken templates stay broken. Engine drops the layer text silently.

Likelihood: MEDIUM — she has the spec but may not prioritize this week Impact: LOW — engine falls back gracefully; broken templates just aren't used Mitigation:


🟢 GREEN — Things on track


🎯 Top 5 actions before May 24

In order of leverage:

  1. Finish GHL Foundation Cohort workflow (Brian: 60 sec to pick the tag in the trigger + Save → then 30 min to add the 22 actions per the build guide; if too much, I'll drive Brave once more with patience)
  2. Confirm Stripe Foundation Cohort price routing works (Brian: test a self-checkout with the foundation tag applied to your own contact record by May 22)
  3. Film Atlanta boardroom videos (Brian: pick a 4-hour window today or tomorrow; one outfit, one location, knock out 7 videos)
  4. Paste AI agent prompt into PV GHL (15 min, prevents DM-overwhelm during launch week)
  5. Test scan flow end-to-end on production daily (Brian: 60 sec/day until June 1 — catches regressions before customers do)

What I dropped the ball on / will do better

Brian called this out directly: "What else didn't get done that should have gotten done, what you are going to do to help."

Honest accounting:


Pre-mortem ritual going forward

Once a week (Mondays, before standup), I'll run this same template and flag what changed:

That gives you a single doc that's current rather than 14 stale docs.