raxx.app Launch Readiness Triage — 2026-06-03
Scope: Customer-facing raxx.app (Antlers Next, Raptor, Queue) — not getraxx.com marketing site. Frame: One user opens raxx.app, creates an account, and completes a first paper trade. What breaks them?
Customer-Day-1 Blockers
Items that prevent a user from completing the core loop: visit → sign up → onboard → paper trade.
| # | Item | Card / Issue |
|---|---|---|
| 1 | CF Access wall on raxx.app — the site is still gated by Cloudflare Zero Trust. No customer can reach the signup page without an Access login. | Escalation: #3209, primary: #1025 |
| 2 | No Stripe Checkout / upgrade path — there is zero code in Antlers or Raptor to take a user from Free to Founders ($29). Every signup dead-ends at Free tier with no way to pay. | New card: #3206 |
| 3 | No Privacy/ToS links in signup flow — EmailFormStep.js has no reference to Privacy Policy or Terms of Service, and getraxx.com/privacy + /terms 404. Attorney review will require these present at signup. |
New cards: #3205, #3211 |
| 4 | Email verification not confirmed live — FLAG_EMAIL_VERIFICATION_UI + auth_email_verification are both OFF on prod. There is no smoke test confirming the round-trip works on staging before flipping. |
New card: #3208 |
| 5 | End-to-end onboarding smoke not run — the wizard (#3180) merged but no test confirms signup → wizard → paper-mode → Dashboard is fully functional on prod. | New card: #3210 |
| 6 | raxx.app is noindex — _headers blocks all search engine indexing. Must be removed on or before launch day. |
New card: #3204 |
Founders-Conversion Blockers
Items between a signed-up free user and a paying Founders customer.
| # | Item | Status |
|---|---|---|
| 1 | Stripe Checkout session endpoint — no POST /api/billing/checkout-session exists in any service |
New card: #3206 |
| 2 | Founders upgrade CTA in Antlers — no UI surface offers the upgrade | Part of #3206 |
| 3 | Stripe live keys confirmed in vault — unresolved per #2443 §7 | Operator-action (existing #2443) |
| 4 | Queue prod deploy — if Queue owns billing, it must be live; currently zero-dyno (#2719) | Operator-action (existing #2443) |
| 5 | Stripe Price IDs backfilled — #1632 (backfill Stripe Price IDs onto founders-tier subscriptions) is pre-launch-blocker + blocked |
Existing #1632, unblocked once Queue is live |
Compliance / Legal (Gated Items)
| # | Item | Status |
|---|---|---|
| 1 | Privacy Policy + ToS live on getraxx.com — attorney must draft; #3149 is open pre-launch-blocker. Blocks #3205. |
Existing #3149, blocked on #3141 |
| 2 | Securities attorney engagement (#3141) — §202(a)(11) MBT narrative review, hero copy clearance, IP assignment | Existing #3141, operator must engage |
| 3 | IP assignment to LLC (#3142) — cannot do business until executed | Existing #3142, operator must execute |
| 4 | PA fictitious-name (DBA) registration (#3145) — Raxx under MooseQuest LLC | Existing #3145, operator must file |
| 5 | Privacy Policy Findings 5 + 7 — operator acknowledged these are still on their plate; no card yet per operator directive | Operator plate, not carded per directive |
| 6 | Quebec + EU geoblocks — both implemented and tested in code (validate-region endpoint + EmailFormStep). Flags FLAG_QUEBEC_GEOBLOCK and FLAG_SIGNUP_GEOBLOCK_EU confirmed in Raptor. Flag-flip to ON is an SRE action. |
No new card needed; SRE flip |
CE Skin Gap
| # | Item | Status |
|---|---|---|
| 1 | Login, Settings, Onboarding wizard steps still use raw react-bootstrap chrome. All other customer-facing pages in the Day-1 path (Dashboard, Signup) are further along but these three are visibly unfinished. | New card: #3207 |
| 2 | Backtesting, Trading, Options, HistoricalData, Demo steps also use raw Bootstrap but are less critical for Day-1 loop. | Parked as Phase 2 of #3207 |
Nice-to-Have / Post-v1 (Explicitly Parked)
- Clarity analytics (#214) — privacy gate says do not flip until consent layer ships
- Demo → real account conversion (#477, #493)
- iOS app (#167) — icebox
- PostHog cohort analytics (#214)
- Billing portal, tier management, win-back flow (#1635)
- BYOB full build (#495)
- i18n / Quebec fr-CA parity — geo-blocked for v1
- EU GDPR compliance work — geo-blocked for v1
- Referral bonus (#project_referral_bonus_deferred)
- Options backtesting (ORATS license pending)
- obfuscate-mode (#project_obfuscate_mode) — concept, not carded for v1
Existing Cards Still Blocking (No New Card Needed)
These are already groomed and tracked; referenced here for completeness.
| Card | Title | Status |
|---|---|---|
| #1025 | CF Access removal from raxx.app | operator-action, needs execution |
| #1022 | B2: Wire auth routes (WebAuthn env vars) | groomed, pre-launch-blocker |
| #2443 | Queue prod deploy gates | operator-action, blocked |
| #3141 | Engage securities attorney | operator-action, open |
| #3142 | Execute IP assignment | operator-action, open |
| #3149 | Attorney-drafted Privacy Policy + ToS live | pre-launch-blocker, blocked on #3141 |
| #1632 | Backfill Stripe Price IDs | pre-launch-blocker, blocked on Queue prod |
| #2621 | docs: SC-D14 noindex flip (docs.raxx.app) | CLOSED — confirmed done |
Operator-Action Recommendations — This Week
1. Execute CF Access removal on raxx.app + api.raxx.app (#1025, #3209) This is a 10-minute Cloudflare dashboard operation. Until it is done, no customer can reach the app at all. Unblocks everything downstream.
2. Engage securities attorney (Greenberg Traurig or equivalent) (#3141) Unblocks ~10 cards including Privacy Policy (#3149), hero copy clearance (#2856), IP assignment (#3142). One engagement letter unblocks the entire legal cluster.
3. Confirm Stripe live keys in vault + decide Queue vs Raptor for billing (#2443 Cluster C) Answering the 3 questions in #2443 §4 Cluster C unblocks the Queue prod deploy, the Stripe webhook cutover (#2446), and now also the new Founders Checkout card (#3206). One sitting, three unblocks.
4. Create privacy@ alias + ensure getraxx.com/privacy + /terms pages exist (#3211, #3149) Placeholder pages at both URLs stop the 404 from the waitlist today, and unblock the Privacy Policy draft review with the attorney.
5. Complete the operator walkthrough of the full signup → onboarding → paper-trade flow (#3210) Before any launch announcement, Kristerpher should walk through the door every customer will use and confirm it works end-to-end. This is the final AC gate on #3210.