Combinations that work together, with the reasoning for each layer, the friction that specific combination creates, and a CLAUDE.md written for it. Every recipe here has boilerplates in the catalog that use at least part of it.
Next.js with Supabase, Supabase Auth and Stripe is the default web SaaS stack, and the reason is that three of the four layers barely need integration code. Postgres holds your data and your users in the same database, and Stripe covers every subscription shape you are likely to invent. It suits a self-serve product where you want full control over billing behaviour.
Next.js with Supabase, Supabase Auth and Lemon Squeezy trades billing control for a much shorter path to revenue. Lemon Squeezy sells as merchant of record, so tax is handled and checkout is hosted, leaving Supabase to store little more than the entitlement each order granted. It suits a solo developer shipping a paid product without wanting to own a billing subsystem.
Next.js with Supabase, Supabase Auth and Paddle is aimed at software with real revenue and real tax exposure. Paddle takes on global tax registration, dunning and business-to-business invoicing, while Supabase keeps the application data and the session. It suits a product past the experiment stage that is starting to sell into companies rather than only to individuals.
Next.js with Firebase, Clerk and Stripe pairs a document store built for realtime and offline with auth you do not have to design. Firestore handles collaborative and event-shaped data well, Clerk gives you sign-in and organizations on day one, and Stripe covers billing. It suits a product with live-updating screens and a team plan behind them.
Next.js with Firebase, Clerk and Lemon Squeezy is the realtime app that wants to start charging without building billing. Firestore drives the live screens, Clerk covers login and profile UI, and Lemon Squeezy sells as merchant of record. It suits an indie product with interactive features where tax compliance is not something you want to own.
React Native with Supabase, Supabase Auth and Stripe is a mobile client on a Postgres backend where money is collected for things that happen outside the app. It works for marketplaces, bookings, delivery and business tools that charge for real-world transactions rather than for digital features unlocked inside the app itself.
React Native with Supabase, Supabase Auth and RevenueCat is the subscription mobile configuration the app stores actually permit. RevenueCat normalizes receipts and entitlements across both stores, Supabase holds the application data, and the app never touches a card. It suits a consumer app selling premium features or gated content by subscription.
Expo with Supabase, Supabase Auth and Stripe is the fastest route to a shipped mobile app that charges for real-world transactions. Expo removes the native build work, Supabase provides the Postgres and the session, and Stripe handles payment for goods and services delivered outside the app.
Expo with Supabase, Supabase Auth and RevenueCat is the standard shape for a subscription mobile product built by a small team. Expo manages the native layer, RevenueCat manages store purchases and entitlements, and Supabase holds the users and the content. It suits a consumer app shipping on both platforms from one codebase.