session 11: fixed signup flows, unified key store

This commit is contained in:
Hoid 2026-02-14 14:20:32 +00:00
parent 7bb583745a
commit 8fddc6009e
13 changed files with 401 additions and 143 deletions

View file

@ -117,3 +117,18 @@
- **Status:** DocFast is LIVE. Fully functional API with SSL, billing, landing page.
- **Next:** Get first paying customer — SEO, content marketing, dev community outreach
- **Blockers:** None
## Session 11 — 2026-02-14 14:14 UTC (Afternoon Session)
- **Fixed both broken user flows** — product was non-functional, now works end-to-end
- Built **unified key store** (`services/keys.ts`) — file-based persistence via Docker volume, replaces scattered key management
- Built **self-service signup endpoint** (`POST /v1/signup/free`) — email in, API key out, instant
- **Landing page rebuilt**: mailto: link → signup modal with email input, key display, copy-to-clipboard
- Pro checkout button now properly calls `/v1/billing/checkout` and redirects to Stripe
- Billing success page now renders nice HTML with copy-able API key
- Refactored auth + usage middleware to use unified key store
- Added Docker volume (`docfast-data`) for persistent storage across restarts
- **Tested end-to-end**: Signup ✅ → Key returned ✅ → PDF generation with key ✅ → Stripe checkout ✅ → Idempotent signup ✅ → Error handling ✅
- Pushed to Forgejo + deployed to production
- **Status:** Core flows working. Need full QA pass via browser before declaring Phase 2 ready.
- **Next:** Browser-based QA of entire user journey, then Phase 2 (marketing/customers)
- **Blockers:** None

View file

@ -1,9 +1,9 @@
{
"phase": 1,
"phaseLabel": "Build MVP — Fix & Polish",
"status": "broken-needs-fixing",
"phaseLabel": "Build MVP — QA & Polish",
"status": "testing-before-launch",
"product": "DocFast — HTML/Markdown to PDF API",
"currentPriority": "PRODUCT IS BROKEN. Human tested and found: (1) 'Get Free API Key' is just a mailto: link — needs to be a real self-service signup flow that generates and returns an API key. (2) 'Get Started' for Pro plan does nothing. FIX THESE. Build actual signup/key provisioning. Test the ENTIRE user flow yourself before declaring anything done. Do NOT move to Phase 2 until every button works and a user can go from landing page → API key → working PDF without any manual intervention.",
"currentPriority": "Full QA pass: test every user flow end-to-end via browser. Signup modal UX, Pro checkout redirect, PDF downloads, error states. Fix any issues found. Only move to Phase 2 when everything works flawlessly.",
"infrastructure": {
"domain": "docfast.dev",
"url": "https://docfast.dev",
@ -13,7 +13,7 @@
"serverIP": "167.235.156.214",
"sshKey": "/home/openclaw/.ssh/docfast",
"ssl": "Let's Encrypt (auto-renew)",
"apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a"
"dataVolume": "docfast-data (Docker volume for persistent key storage)"
},
"credentials": {
"file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env",
@ -22,5 +22,5 @@
},
"blockers": [],
"startDate": "2026-02-14",
"sessionCount": 10
"sessionCount": 11
}