One Subscription: Web + Mobile (Stripe + RevenueCat + Supabase)
Pay on web or mobile, unlock both, never double-charge. One Supabase column is the source of truth.
Get it on Gumroad — €19 Instant download
➜ tree what-you-get/
- ├── ✓ The Supabase migration (subscription_tier + stripe_customer_id + RLS)
- ├── ✓ A Stripe checkout function and the Stripe webhook that maps events to the tier
- ├── ✓ A canonical RevenueCat webhook mapping mobile events to the same tier
- └── ✓ The one entitlement-check helper, identical on web and mobile, plus a full README
Stop reconciling two billing systems at runtime. One Supabase column, profiles.subscription_tier, is the single source of truth: the Stripe webhook writes it on web purchases, the RevenueCat webhook writes it on mobile purchases, and every app just reads it. The architecture from a production web app plus Expo app sharing one subscription, packaged into a drop-in kit.
For anyone building a SaaS on both web and mobile who needs unified entitlements without double-charging or runtime billing-SDK checks.