# FounderVibe OPS Cockpit — Platform Guide (Go Live)
*How to turn the static OPS Cockpit and local app package into a real, paid subscription product without building auth yourself.*

---

## What you have vs. what production needs

`foundervibe-ops-core.html` is the complete **UI layer**: login screen, product library with owned/locked logic, in-app reader with module navigation, progress marking, copy-to-clipboard prompts, task board, agent board, local app view, agent packet generator, skill tracking, local browser persistence, export, reset, and upsell cards. It runs anywhere as a single file.

`foundervibe-ops-cockpit-local-app.zip` is the member download package. It contains the same cockpit as a local app, a small dependency free Node server, and member instructions. Treat it as the downloadable customer artifact for the monthly subscription.

What it deliberately does **not** do (and no single HTML file safely can):
- verify that a license key was really purchased
- sync progress across devices
- protect content from someone reading the page source

**Rule for production: never gate real paid content with client-side keys only.** The prototype's `ACCESS_KEYS` object exists for demo and development. Content protection happens server-side.

---

## Path A — Recommended: License keys + one serverless function (≈ half a day)

The sweet spot: no user database, no password resets, your payment provider does the heavy lifting.

**How it works**
1. Sell via **Lemon Squeezy** (recommended for DE/EU, Merchant of Record, handles VAT), Stripe, or Gumroad. Enable **license keys** for the monthly OPS Cockpit subscription.
2. Customer buys → receipt contains their key → they enter email + key in OPS Core.
3. OPS Cockpit calls **your serverless function** (Netlify/Vercel/Cloudflare, free tier is plenty), which calls the provider's license validation API server-side and returns the entitlements.
4. The function returns a short lived signed token; OPS Cockpit loads content sections and download links from protected endpoints (or the function returns the content payload directly).

**Implementation steps**
1. Deploy `foundervibe-ops-core.html`, `foundervibe-ops-cockpit-sales-page.html`, and the local app ZIP to Netlify/Vercel.
2. Create `/api/verify` (serverless): input `{email, key}` → call provider license API → map product-ID → entitlements → return `{ok, entitlements, token}`.
3. In OPS Core, replace `validateKey()` with a `fetch('/api/verify', …)` call (the function is marked in the file's header comment).
4. Move the `PRODUCTS` content object out of the HTML into `/api/content?product=…`, gated by the token — now paid content never ships to non-buyers.
5. Progress: simplest is `POST /api/progress` writing to a tiny KV store (Cloudflare KV / Upstash) keyed by license key. One endpoint, ten lines.
6. Downloads: expose `foundervibe-ops-cockpit-local-app.zip` only after `/api/verify` confirms an active subscription.

**Monthly cost:** €0 at your scale. **Maintenance:** near zero.

## Path B — No-code membership layer (≈ 1 day, no functions)

Use **Outseta** or **Memberstack** on top of the OPS Core front-end: they handle signup, login, payments, and gated content via their scripts; you keep the FounderVibe UI and mark sections as protected. Trade-off: ~€30–50/month and some vendor lock-in, but zero code beyond configuration. Choose this if serverless functions feel like a step too far.

## Path C — Full custom (only when the Founders Club launches)

**Supabase** (auth + Postgres + row-level security) behind the same UI. Real accounts, magic-link login, per-user progress, community features later. This is the right foundation for the €199/mo Founders Club tier — but it's over-engineering for four digital products. Build it when recurring membership demands it, not before.

---

## Decision rule

| Situation | Path |
|---|---|
| Selling the 4 products this month | **A** |
| Allergic to code, budget for tools | B |
| Founders Club / community going live | C |

## Launch checklist

- [ ] Payment provider set up as Merchant of Record (VAT!), license keys enabled for the monthly OPS Cockpit subscription
- [ ] `/api/verify` deployed and tested with a real test purchase
- [ ] `PRODUCTS` content moved server-side; page source contains no paid content
- [ ] Demo keys removed from the login screen footer
- [ ] `support@` address live and in the receipt email
- [ ] Receipt email template: key + OPS Cockpit link + local app download link
- [ ] Custom domain: `ops.foundervibe.___` or `core.foundervibe.___` with HTTPS
- [ ] Impressum + Datenschutz linked (required in DE); note that license validation processes buyer emails → mention processor in the privacy policy
- [ ] Test the full journey: buy → receipt → login → read → progress persists → upsell card links work

## Content updates

The reader's module structure maps 1:1 to your product markdown files. To ship v1.1 content: edit the module HTML (or the server-side content payload in Path A), rebuild `foundervibe-ops-cockpit-local-app.zip`, upload it behind the member download endpoint, and announce the update to active subscribers.

---
*Internal · v1.0 · The prototype's demo keys are for development only.*
