Skip to main content

Best Boilerplates for Mobile Apps in 2026 (React Native + Flutter)

·StarterPick Team
mobilereact-nativeflutterboilerplate2026

Mobile SaaS in 2026

Mobile-first SaaS is increasingly common — AI assistants, productivity tools, health apps, and habit trackers all live primarily on mobile. The challenge: iOS and Android have different toolchains, app stores require in-app purchases, and the approval process adds lead time.

The right boilerplate handles app store billing, push notifications, and native UI from day one.

The Framework Decision First

Before choosing a boilerplate, choose a framework:

FrameworkLanguageTeam BackgroundPerformanceBest For
FlutterDartAnyExcellentNew project, max performance
React Native + ExpoTypeScriptWeb devsGoodWeb + mobile sharing
Native iOSSwiftiOS devsBestiOS-only, max UX
Native AndroidKotlinAndroid devsBestAndroid-only, max UX

For new cross-platform projects: Flutter for maximum performance, React Native + Expo for web code sharing.

Quick Comparison

StarterFrameworkPriceBillingAuthPushBest For
ShipFlutterFlutter$149RevenueCatFirebase/SupabaseFCMFlutter SaaS
Very Good CLIFlutterFreeManualManualManualProduction architecture
Expo RouterRNFreeManualManualManualReact Native baseline
t4-appRN + Next.jsFreeManualClerk/SupabaseManualWeb + mobile monorepo

ShipFlutter — Best Mobile SaaS Starter

Price: $149 | Creator: IndependentDevs

Purpose-built Flutter SaaS with everything mobile-specific:

  • In-app purchases: RevenueCat integration for iOS StoreKit + Android Billing
  • Auth: Firebase Auth or Supabase Auth (your choice)
  • Push notifications: Firebase Cloud Messaging (FCM)
  • Analytics: Firebase Analytics + Mixpanel
  • Onboarding flows: Multi-step user onboarding screens
  • Remote config: Feature flags and A/B testing without app updates
  • CI/CD: Fastlane + GitHub Actions for App Store and Play Store

What RevenueCat handles for you:

  • StoreKit 2 (iOS) integration
  • Google Billing Library 5 (Android) integration
  • Cross-platform subscription state
  • Receipt validation
  • Subscription status webhooks

Mobile-Specific Requirements

App Store Billing

You cannot use Stripe for in-app payments in a mobile app. Apple and Google require their own billing for digital goods:

// Flutter - RevenueCat cross-platform billing
import 'package:purchases_flutter/purchases_flutter.dart';

// Initialize RevenueCat
await Purchases.configure(PurchasesConfiguration(apiKey));

// Get available products
final offerings = await Purchases.getOfferings();
final monthly = offerings.current?.monthly;

// Purchase
final customerInfo = await Purchases.purchasePackage(monthly!);
final isPro = customerInfo.entitlements.active['pro'] != null;

Push Notifications

// Flutter - Firebase push notifications
import 'package:firebase_messaging/firebase_messaging.dart';

final messaging = FirebaseMessaging.instance;

// Request permission (iOS)
await messaging.requestPermission();

// Get FCM token
final token = await messaging.getToken();
await saveTokenToServer(userId, token);

// Handle foreground messages
FirebaseMessaging.onMessage.listen((message) {
  showLocalNotification(message.notification!);
});

App Store Review Time

Plan for app store delays:

  • iOS App Store: 24-48 hours (first submission: up to 7 days)
  • Google Play Store: 3-7 days for new apps, hours for updates

This means mobile SaaS requires more planning than web SaaS — bugs can't be hotfixed instantly.


Compare mobile and web SaaS boilerplates on StarterPick.

Check out this boilerplate

View ShipFlutter on StarterPick →

Comments