PM analysis · page coverage
Do we have all
the right pages?
Honest audit of what's built vs. what a real, transacting, launchable product needs. STRIPE = Stripe hosts it, we wrap it. P0 = needed for launch. P1 = fast-follow.
The verdict
We have a strong happy path — 30 pages that cover a fan booking a call and an artist running a night. What we're missing is almost everything that isn't the happy path: the payout/Stripe wrapper and its states, payment-failure and refund states, trust & identity, and the booking lifecycle (cancel / reschedule / no-show). That's not polish — for a product that moves money, those states are the product.
On your Stripe / payout / "connect your bank" question
Good news, and it's a real architecture decision: because we use Stripe Connect Express, Stripe hosts the scary pages — connect a bank, connect a debit card, SSN / ID verification, tax forms. We deliberately do not build those (we deleted our SSN screen for exactly this reason). We redirect out to Stripe's flow and they send the user back.
So the gap isn't "build a bank-connect page." The gap is the wrapper around Stripe's hosted flow — the entry, the return/status page Stripe redirects back to, and the ongoing payout states. Those are on us, and today only the entry (/payout) and a payout list (/payday) exist.
💸 Money out — creator payouts & Stripe Connect
2 have · 7 missing
Have
- /payout — "Get paid" entry (link a debit card)
- /payday — payout history list
Missing
- Onboarding return / status — the page Stripe redirects back to: "you're verified" / "we need a bit more" / "pending". Stripe's flow requires a return_url + refresh_url. P0 STRIPE
- Payout account states — pending, restricted (needs more info), active, paused, payout failed. P0
- Change payout method — swap debit card / bank (links to Stripe). P1 STRIPE
- Instant vs standard payout — choice, eligibility, the instant fee. P1
- Tax documents — 1099-K access, W-9 status. P1 STRIPE
- Single payout detail / receipt — one payout, its calls, status. P1
- Bank-account fallback entry — the "use a bank instead" toggle actually going somewhere. P1 STRIPE
💳 Money in — fan payments
2 have · 6 missing
Have
- /book — checkout (confirm, verify, pay)
- /confirmed — receipt-ish confirmation
Missing
- Payment failed / card declined — the single most common real path. P0
- 3-D Secure / bank challenge — return handling after Stripe's redirect. P0 STRIPE
- Refund confirmation + status — we promise refunds in copy; no page shows one. P0
- Payment methods management — /account links to nothing real. P1
- Proper receipt / invoice — emailable, itemized. P1
- Add-time charge confirmation — the mid-call authorization result. P1
🛡️ Trust, safety & identity
0 have · 6 missing
Missing
- Creator identity verification + "verified" badge — how does a fan know it's really that athlete? Impersonation is existential for a celebrity product. P0
- Report a call / a person — /wrapped links to it; no page. P0
- Block a user (both directions). P1
- Dispute / partial-refund request — "the call cut out." P1
- Community guidelines / acceptable use — the SFW line that protects the brand. P0
- Age gate / eligibility at sign-up. P1
📅 Booking lifecycle
1 have · 5 missing
Have
- /booked — upcoming + past
Missing
- Cancel a booking (fan) + refund result. P0
- Reschedule a call. P1
- Artist cancels → auto-refund confirmation to fan. P0
- Artist-initiated refund (goodwill). P1
- Sold out / no availability state on a payphone. P1
📞 The call — edge states
3 have · 4 missing
Have
- /lobby, /call, /oncall — the live states
Missing
- Artist no-show → refund flow (copy exists, no screen). P0
- Reconnecting / connection lost. P1
- Camera/mic blocked — permission-denied help. P1
- Unsupported browser / device. P1
👤 Accounts & auth
2 have · 3 missing
Have
- /signin — passwordless
- /account — settings shell
Missing
- Account recovery — lost or changed number. P0
- Email capture — for receipts & reminders. P1
- Delete account / data export — CCPA/GDPR. P1
⚖️ Legal & 📣 marketing
4 have · 5 missing
Have
- /terms, /privacy, /help, /compare
Missing
- Creator agreement — separate from consumer ToS; the talent contract. P0
- Refund policy — explicit, linkable. P0
- Cookie consent banner. P1
- Category / browse-by-type pages (SEO). P1
- About / press / trust page. P1
✉️ Notifications (comms, not pages — but required)
1 partial · 5 missing
Missing
- Email/SMS: booking confirmed, reminder before doors open, receipt, payout sent, recording ready. P0
P0 launch list (build before we take a real dollar)
Payout onboarding return/status · payout account states · payment-failed · refund confirmation · creator identity + verified badge · report a person · community guidelines · cancel booking · artist-cancel auto-refund · artist no-show refund · account recovery · creator agreement · refund policy · the core transactional emails.
Net: ~14 P0 pages/flows and ~20 P1. None are blocked by engineering — they're blocked by decisions (SFW policy, refund rules, identity method) and the same three accounts (Stripe, LiveKit, Twilio). Stripe Connect Express spares us the hardest ones.
Have: 30 pages · Missing: ~34 (14 P0, ~20 P1). PM coverage audit, 07/2026.