Best Boilerplates for Mobile Apps in 2026 (React Native + Flutter)
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:
| Framework | Language | Team Background | Performance | Best For |
|---|---|---|---|---|
| Flutter | Dart | Any | Excellent | New project, max performance |
| React Native + Expo | TypeScript | Web devs | Good | Web + mobile sharing |
| Native iOS | Swift | iOS devs | Best | iOS-only, max UX |
| Native Android | Kotlin | Android devs | Best | Android-only, max UX |
For new cross-platform projects: Flutter for maximum performance, React Native + Expo for web code sharing.
Quick Comparison
| Starter | Framework | Price | Billing | Auth | Push | Best For |
|---|---|---|---|---|---|---|
| ShipFlutter | Flutter | $149 | RevenueCat | Firebase/Supabase | FCM | Flutter SaaS |
| Very Good CLI | Flutter | Free | Manual | Manual | Manual | Production architecture |
| Expo Router | RN | Free | Manual | Manual | Manual | React Native baseline |
| t4-app | RN + Next.js | Free | Manual | Clerk/Supabase | Manual | Web + 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 →