diff --git a/projects/business/memory/state.json b/projects/business/memory/state.json index dcd9c10..3dbab69 100644 --- a/projects/business/memory/state.json +++ b/projects/business/memory/state.json @@ -1,9 +1,9 @@ { - "phase": 2, - "phaseLabel": "Launch & First Customers", - "status": "live-with-ssl", + "phase": 1, + "phaseLabel": "Build MVP — Fix & Polish", + "status": "broken-needs-fixing", "product": "DocFast — HTML/Markdown to PDF API", - "currentPriority": "Get first paying customer. SEO, content marketing, dev community outreach.", + "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.", "infrastructure": { "domain": "docfast.dev", "url": "https://docfast.dev", @@ -12,9 +12,8 @@ "server": "docfast-1 (CAX11, nbg1)", "serverIP": "167.235.156.214", "sshKey": "/home/openclaw/.ssh/docfast", - "ssl": "Let's Encrypt (expires 2026-05-15, auto-renew)", - "apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a", - "stripeCheckout": "working (live mode)" + "ssl": "Let's Encrypt (auto-renew)", + "apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a" }, "credentials": { "file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env", diff --git a/skills/business/SKILL.md b/skills/business/SKILL.md index e34b69d..98ea272 100644 --- a/skills/business/SKILL.md +++ b/skills/business/SKILL.md @@ -133,11 +133,28 @@ You have a Hetzner API token with full read+write access. You can: - Message tool for contacting the user - Cron for scheduling (if needed) +## Quality First — MANDATORY + +**NEVER move to customer acquisition until the product actually works end-to-end.** + +Before Phase 2 (Launch), you MUST verify: +- Every button on the landing page works (not mailto: links, not broken JS) +- Free tier signup works completely — user gets an API key without human intervention +- Pro tier checkout works completely — Stripe payment → API key provisioned +- Every API endpoint works with a real API key +- Error handling works (bad input, rate limits, expired keys) +- Test it yourself. If you can't click through the entire flow and get a working PDF, it's not ready. + +**You are the QA team.** The human should never find broken buttons. Test everything before declaring it done. + ## Anti-Patterns (Don't Do These) +- Don't move to marketing with a broken product — TEST FIRST +- Don't use mailto: links for signup — build actual self-service flows - Don't spend 5 sessions on research without building anything - Don't build features nobody asked for - Don't optimize before you have customers - Don't send the user long updates — be concise - Don't assume expenses are approved — ask first - Don't start coding before the business model is approved +- Don't declare something "working" without testing the full user flow yourself