What flutter create leaves out
flutter create gives you a running app. It does not give you authentication, a database, error tracking, analytics, subscriptions, a paywall, store metadata, a privacy policy, or account deletion. All of those are non-negotiable for a real launch.
The seven pieces of a production Flutter app
(1) State management (Riverpod or Bloc). (2) Authentication (Supabase or Firebase). (3) Database with row-level security. (4) In-app purchases (RevenueCat). (5) Analytics (PostHog). (6) Error tracking (Sentry). (7) Store submission scaffolding (metadata, screenshots, privacy declarations).
Supabase vs Firebase for Flutter
Supabase is Postgres-native, gives you SQL, and enforces row-level security in the database. Firebase is document-based, gives you Firestore, and enforces security rules in a rule language. For an AI-built app, Supabase RLS is easier to reason about and audit; Firebase Firestore rules are harder to get right the first time.
RevenueCat for Flutter subscriptions
RevenueCat abstracts App Store and Google Play billing into one SDK, handles the platform differences for you, and gives you restore purchases, entitlement checks, and subscription analytics. It is free below a revenue threshold and is what most production Flutter apps use.
PostHog for Flutter analytics
PostHog offers a Flutter SDK for product analytics, funnels, feature flags, and session replay. Configure it once and every screen view + event captures automatically.
Sentry for Flutter error tracking
Sentry captures native crashes, Dart exceptions, and performance data. It is essential for any real launch because Apple rejects apps that crash on launch and Google delists apps with high ANR rates.
Store submission scaffolding
ios/Runner/PrivacyInfo.xcprivacy, android/app/build.gradle signing config, Info.plist usage descriptions for every native permission, launch screens for every device size, App Store screenshots at required resolutions. ShipForge Launch Doctor checks each of these against the current guidelines and generates missing files.
Frequently asked
- Do I need Riverpod or is Provider enough?
- Provider is fine for small apps. Riverpod is preferred for anything with authentication + database + purchases because it composes cleanly across those async sources.
- Can I ship a Flutter app without RevenueCat?
- Yes — you can use the native in_app_purchase plugin. But you will re-implement restore purchases, receipt validation, and entitlement checking yourself. Almost no production Flutter app does this in 2026.
- Is Flutter still allowed on the App Store?
- Yes. Flutter is a first-class supported framework and Apple has never rejected apps for being built with Flutter.
Primary sources
Official documentation this page is grounded in. Verified to resolve.