template

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.

What's included

  • 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.

solves this fix One subscription across web and mobile (Stripe + RevenueCat + Supabase)

Reviews appear here as the first buyers land. ( social proof — coming soon )