These components are required by every product. Build them once before starting any individual product backend.
User authentication and account management
Not startedSupabase Auth integration — email/password signup, login, session management, and protected routes. Required before any product can grant access post-purchase.
Blocked by
- -Supabase project configuration (env vars currently empty)
Post-purchase access provisioning
Not startedLink Stripe subscription status to user accounts. When a checkout completes, grant the user access to the product they purchased. Handle upgrades, downgrades, and cancellations.
Blocked by
- -User authentication system
Transactional email system
Partially doneSend welcome emails, subscription confirmations, and account notifications. Stripe receipt emails are now enabled, but product-specific emails (onboarding, digests, alerts) require a dedicated email provider.
Blocked by
- -Email provider selection (Resend, SendGrid, or Postmark)
Billing portal integration
API onlyThe /api/stripe/portal API route exists but there is no UI to access it. Users need a way to manage subscriptions, update payment methods, and view invoices.
Blocked by
- -User authentication (need to identify the customer)
Stripe webhook fulfillment
Logging onlyWebhook route exists and validates signatures, but only logs events. Needs to: create user accounts on checkout.session.completed, update access on subscription changes, and handle failed payments.
Blocked by
- -User authentication
- -Database schema for subscriptions
Production environment configuration
Stripe done, Supabase pendingVercel deployment is live at pinehavenventures.io with all Stripe env vars configured. Supabase env vars are still empty. Stripe is using live keys.