Stripe tiered subscriptions
Close the split-brain gap. Price the product once, then fetch truth from Stripe.
This billing flow follows Theo's eager-sync pattern: the customer is created before checkout, success returns into your app, and the billing hub always refreshes from Stripe.
Use a billing email to bind this prototype visitor to a Stripe customer before checkout.
Environment status
Stripe is not configured yet. Missing: STRIPE_SECRET_KEY, STRIPE_STARTER_PRICE_ID, STRIPE_GROWTH_PRICE_ID, STRIPE_SCALE_PRICE_ID
Solo operators
Starter
For founders who need a live source of truth for creative performance.
- +Track up to 250 creatives
- +AI labels, hooks, and CTA extraction
- +Weekly creative scorecards
- +Single workspace access
Best for brands
Growth
For teams comparing angles, assigning ownership, and scaling winning ads faster.
- +Track up to 2,000 creatives
- +Creative strategist attribution
- +Shared team billing workspace
- +Priority AI analysis queue
For agencies
Scale
For multi-brand operators that need portfolio visibility and premium support.
- +Unlimited creative history
- +Portfolio-level billing oversight
- +Quarterly creative review exports
- +White-glove onboarding support
1. Create the customer first
Every checkout is anchored to a real Stripe customer before the user ever sees Checkout.
2. Sync on success
The success route eagerly fetches Stripe instead of trusting webhook arrival order.
3. Refresh billing on demand
The billing hub re-reads Stripe whenever the user returns from the portal or wants fresh state.