← Operating Docs · What you paid for, what you started, what is still pending

Audit · Things Started But Not Finished

Date: May 19, 2026 Method: Cross-referenced Fly secrets, codebase modules with env-gated init, conversation history, and prior promises.

Everything below is something you started, paid for, mentioned, or promised, but isn't producing daily value yet.


🔴 RED · Critical for launch, not finished

1. Sentry (your team is asking)

Sign up here: https://sentry.io/signup Free tier: 5K errors/month, 10K performance events. Plenty for launch. Upgrade later if needed.

Setup (5 min):

  1. Sign up with the email you want as org admin (probably brian@krytera.com or brian@posture.vision)
  2. Org name suggestion: krytera or posturevision
  3. Create 4 projects (one per service):
    • pv-auth-service (Node.js backend)
    • posture-vision-frontend (React)
    • lead-seg-worker (Node.js worker on Fly)
    • posturevision-sitemap (browser/Cloudflare Pages)
  4. Sentry gives you a DSN per project (looks like https://abc123@o123456.ingest.sentry.io/4567)
  5. Set as env vars on each service:
    • Fly worker: flyctl secrets set SENTRY_DSN=<dsn> -a lead-seg-worker
    • Vercel pv-auth-service: add SENTRY_DSN env var
    • Frontend: add VITE_SENTRY_DSN (or NEXT_PUBLIC_SENTRY_DSN)
  6. Install SDK in each service (npm install @sentry/node or @sentry/react)
  7. Add 3 lines to each app's entry point to init Sentry with the DSN

Want me to wire the Fly worker side? Say "wire Sentry" and I'll add init code + a test error endpoint. ~15 min.

Invite teammates after setup: Settings → Members → Invite → christiane@krytera.com, alain@..., etc.

2. Stripe Foundation Cohort price routing (still unverified)

Status: You said it's wired live in GHL. Hasn't been tested with a real cohort tag. Action: Apply foundation-cohort-2026 tag to your own contact, click the signup link, confirm checkout shows $9.99/mo correctly. Test today. Risk if not done: May 24 outreach sends patients to a broken checkout.

3. GHL Workflow 1 — 22 actions

Status: Trigger saved. 22 follow-up actions not built. Action: Open the workflow in Brave + paste the prompt from /docs/paste-blocks.html Block 1 OR follow /docs/ghl-workflows.html manually. Risk if not done: Foundation Cohort outreach doesn't fire May 24.

4. GHL AI Agent system prompt

Status: Spec written. Not pasted into GHL. Action: GHL PV subaccount → Conversational AI → System Prompt → paste from /docs/voice-agent-script.html (the full system prompt block at the bottom). Risk if not done: Inbound DMs during launch week land on you personally, no triage.

5. 300 patient bulk tag

Status: Not applied. Action: GHL Contacts → filter patient list → Bulk Actions → Add Tag → foundation-cohort-2026. Must complete before May 24. Risk if not done: Workflow has no audience to fire to.


🟡 YELLOW · Started, paid, not producing daily value yet

6. ElevenLabs (✅ key set, ❓ voice clone status)

Fly secret present: ELEVENLABS_API_KEYStatus unclear: Have you actually cloned your voice yet? The engine has voice synth code wired but I don't see evidence of a saved voice ID. Action: Log in at https://elevenlabs.io/app, go to Voices → Create a voice → Instant Clone → upload ~1 min of clean audio of you talking → save the voice ID Then: tell me the voice ID and I'll set ELEVENLABS_VOICE_ID_BRIAN on Fly. Engine can then voice-over screen recordings + AI Elina videos.

7. HeyGen (not configured, code is waiting)

Fly secret NOT set: HEYGEN_API_KEY is missing Code exists: lib/heygen.mjs and jobs/video-generator.mjs are written and waiting for the key Setup doc: Code/lead-seg-worker/HEYGEN_SETUP.md walks you through it Cost: $24/mo Creator plan + ~10 min to pick 3 avatars What you get when wired: engine takes TikTok scripts from overnight cron + auto-renders them as AI Elina videos. Zero filming for video content.

8. Imagen 3 (Vertex AI) and Gemini Nano Banana (not configured)

Fly secrets NOT set:

Code exists in lib/ai-image.mjs: the AI image fallback ladder will try Imagen → DALL-E → Gemini in order, but right now only DALL-E is wired. So images you generate via the engine only fall back to DALL-E (~$0.04/img), never the cheaper Gemini ($free tier) or higher-quality medical-grade Imagen ($0.02/img).

Recommendation: add Gemini in 5 min (free, lowest risk), skip Imagen until you have specific need for medical-grade imagery.

Gemini setup (5 min):

  1. https://aistudio.google.com/app/apikey → Create API key (uses your existing Google account)
  2. flyctl secrets set GOOGLE_AI_STUDIO_KEY=<key> -a lead-seg-worker
  3. Done. Engine starts using it as fallback.

9. PostHog (you just invited the team ✅)

Status: ✅ Confirmed by Brian. Alain and Christiane invited. Next: verify they accept the invite. Once they're in, walk them through:

10. Slack alert webhook (live but underused)

Fly secret present: SLACK_ALERT_WEBHOOK_URLCurrent usage: Worker health check failures fire here every 15 min if engine breaks Underused for: Launch-day alerts, conversion notifications, brand-mention high-value hits (currently fire Pushover, not Slack) Recommendation: add Slack mirrors for the same events so the team sees them, not just you. ~30 min wiring.

11. Pushover (working ✅)

Status: ✅ Live, brand mentions + conversions + slot decisions all fire here. Underused for: none, this is healthy.

12. Tavily (wired into 2 jobs but could do more)

Fly secret present: TAVILY_API_KEYCurrently powers: trending scraper + brand mention monitor Could also power: competitive intelligence (Squat U / Aaron Alexander / Foundation Training new content alerts), press monitoring beyond just "PostureVision" mentions

13. Meta Graph API (for both subaccounts)

Fly secrets present: META_GRAPH_TOKEN_DH, META_GRAPH_TOKEN_PV, META_IG_USER_ID_DH, META_IG_USER_ID_PVCurrently powers: engagement ingestion every 14:00 UTC Token expiration risk: Meta tokens typically expire every 60 days. If you set these in March/April, they may expire mid-launch. Test now: hit your IG insights endpoint manually and confirm it doesn't return 401.

14. Resend (transactional email)

Fly secret present: RESEND_API_KEYCurrently powers: unclear — needs verification Action: confirm Resend is the email provider for transactional emails (welcome, receipt, password reset) OR confirm GHL handles all email. If both are wired, decide which is canonical.


🟢 GREEN · Started and producing daily value


💸 Subscriptions / services you've mentioned but I can't verify

I have no way to check these from inside the engine. Tell me which ones you actually have active:

Service Why I think you might have it Status (you fill in)
CapCut Pro ($7.99/mo) I recommended for video editing ❓ subscribed?
Opus Clip ($19/mo) I recommended for long → short cuts ❓ subscribed?
HeyGen ($24/mo Creator) For AI Elina video pipeline ❓ subscribed?
Sentry (free tier) Team is asking for it now ❌ not yet (see above)
Shutterstock You mentioned having an account ✅ confirmed
Cloudflare Access Gates your sitemap + content engine ✅ confirmed (need to add Christiane)
Stripe (via GHL) Live payment processing ✅ confirmed live
GHL (both subaccounts) Calendar + CRM + AI agents ✅ confirmed live
Notion All operating data ✅ confirmed live
Fly.io Worker hosting ✅ confirmed live ($5/mo machine)
Cloudflare Pages Free tier for both sites ✅ confirmed live
Vercel pv-auth-service hosting ❓ confirm
OpenAI ($0.04/img DALL-E) AI image fallback ✅ confirmed (key set)

🎯 What I'd ship today to clear the runway

In order of effort × launch impact:

  1. Sign up for Sentry (5 min) → unblocks team request, gives error visibility for launch week
  2. Set up Gemini AI Studio key (5 min) → strengthens AI image fallback ladder for free
  3. Apply 300-patient bulk tag in GHL (10 min) → makes May 24 outreach actually fire
  4. Verify Stripe Foundation Cohort routing (5 min) → highest-risk pre-launch check
  5. Paste GHL AI Agent system prompt (15 min) → DM avalanche protection
  6. Verify ElevenLabs voice clone exists + grab voice ID (10 min) → unblocks voiceover for screen recordings

That's ~50 minutes of work that takes you from "lots of risk" to "ready to ship."


What I'm tracking that you may not have given me yet

Drop me answers on any of these and I'll ship them.