Two domains, one journey.
speedplus.app is the cacheable marketing front door. speedplus.app/portal is the universal buyer surface (one login, every product). speedplus.app/kungfu-panda is the obscured admin console. Stripe Checkout is the single point of payment; paying is approval.
The buyer journey
Five steps, one domain handoff, zero accounts with passwords. The buyer never sees the word "license key" — their identity is their email.
Discover
Lands on the hub or the Bless+ product page. Pricing tiers are the only CTA that matters.
speedplus.appPick a tier
"Add to cart" or tier button carries the plan into checkout via ?tier= param. Cart drawer for multi-buy.
blessplus.speedplus.appPay with Stripe
Hosted Stripe Checkout: email + card + optional Discord username (custom field). One-time price per tier.
checkout.stripe.comBuild compiles
Webhook creates the buyer, queues a per-user mutated build. Success page shows live expectations, email arrives when done.
systemPlay
Universal portal (magic link) shows all your products, status, unlimited downloads, and machine session. Renew or extend returns to Stripe.
speedplus.app/portalWhere every page lives
The rule: if a page touches money, identity, or operations, it lives on the product subdomain. Everything else stays on the marketing domain.
Marketing
Hub
Brand, product roster, why-Speed+, community proof. Static, edge-cached, no cookies.
/blessplus.speedplus.app public
Product page: features, pricing, FAQ. The top of the purchase funnel.
blessplus.speedplus.app/Checkout stripe
Hosted Stripe Checkout, preselected tier, Discord custom field, receipt email.
/checkout → checkout.stripe.comCheckout success
Payment confirmed. What-happens-next timeline (payment → build → email → download), portal teaser.
/checkout/successBuyer + operator
Portal login buyer
Magic-link by email. One link, every product you own. No passwords, nothing to phish.
speedplus.app/portalPortal dashboard buyer
Products rail (Bless+ live, coming-soon slots), per-game subscription, unlimited downloads, machine/session, security, invoices (Stripe), extend via Stripe.
speedplus.app/portalAdmin console operator
Dashboard, games, buyers, buyer detail, offset tables (two-person publish), build pipeline, audit log. Obscured slug + IP-allowlisted at the edge.
speedplus.app/kungfu-pandaTransactional email system
Receipt + portal link (Stripe), build-ready, patch-updated, expiry reminder at T-7 days.
resend / stripe receiptsRecommended additions
Elements the current product does not have yet, ranked by impact on buyer experience and support load.
Live patch status
A "Build 2026.08 · Live / Patch pending" pill on the product page and portal. Kills the #1 Discord question before it is asked.
Checkout deep links
Pricing CTAs carry ?tier=90d into Stripe Checkout so the tier is pre-selected. One less decision between intent and payment.
Stripe in portal
Invoice history + one-click extend. Renewals stop being a manual admin action and start being a self-serve button.
Self-serve HWID reset
One free machine reset per 30 days from the portal, extra resets via support. Removes the most common support ticket.
Discord identity link
Discord username collected at Stripe checkout (custom field) so support can match payments to Discord members instantly.
Expiry reminders
T-7 day email with a pre-filled Stripe extend link. Cheapest retention win available.