The Flutter Kit logoThe Flutter Kit
Boilerplate · Wellness

Flutter Meditation App Boilerplate

A production-ready starting point for a meditation or wellness app: background audio sessions, a free-trial-to-subscription paywall, and entitlement gating that decides who hears the full library — shipped to iOS and Android from one Dart codebase.

Last updated: 2026-06-11 7 min read By Ahmed Gagan, Flutter Engineer
Quick Answer

The Flutter meditation app boilerplate is a $69 one-time Flutter starter kit built around the two hard problems of a wellness app: playing audio reliably in the background and gating that audio behind a subscription. It ships RevenueCat paywalls, trials, and entitlements alongside Firebase Auth and a Material 3 design system, all from a single Dart codebase that compiles to iOS and Android. You own the full source, get lifetime updates, and pay once — not a subscription.

Price
$69 one-time (was $149), unlimited apps
Monetization
RevenueCat trials, subs & entitlement-gated audio
Platforms
iOS + Android from one Dart codebase
Stack
Flutter 3.24+, BLoC + get_it, Firebase, Material 3

The two things a meditation app actually has to get right

Strip a meditation app down and you are left with two engineering problems that decide whether it ships or stalls: audio that keeps playing when the screen locks, and a paywall that quietly separates the three free sessions from the paid library. Everything else — the calming gradients, the streak counter, the breathing animation — is the easy part. This boilerplate is organized around those two hard parts. The RevenueCat layer handles trials, monthly and annual subscriptions, restore, and entitlement checks, so a 'Premium' entitlement is what unlocks the rest of your audio catalogue rather than a hand-rolled flag you have to keep in sync. The BLoC + get_it architecture keeps your player state, your subscription state, and your UI decoupled, which matters the moment a track has to keep going while the user backgrounds the app to answer a text.

How the subscription gating works

Wellness apps live and die on the trial-to-paid funnel, so the gating is the part you should not be writing from scratch at 2am. The kit wires RevenueCat entitlements into a single source of truth that your audio screens read before they let a locked track play.

  • A RevenueCat paywall (StoreKit 2 on iOS, Play Billing on Android) with monthly/annual packages and intro free trials wired to offerings
  • An entitlement gate — locked sessions show the paywall; active subscribers stream the full library; the check reacts to purchase and restore events
  • Restore purchases and cross-device entitlement sync via the user's RevenueCat App User ID, tied to Firebase Auth
  • Feature-flagged modules so you can ship a free tier, a freemium tier, or a hard paywall without ripping out code

The audio and content side

A meditation track is not a notification sound — it has to survive a locked screen, a phone call, and a Bluetooth handoff. The boilerplate gives you a clean place to drop that audio behavior in without fighting the architecture, plus the supporting screens every wellness app needs on day one.

  • Repository-pattern data layer for sessions/courses, ready to back with Firestore collections and Cloud Storage audio files
  • Onboarding (Carousel, Highlights, or Minimal) to set a daily intention or reminder before the paywall appears
  • Material 3 theming with centralized design tokens — retheme the whole calm-blue palette from one file
  • GA4 analytics with GDPR/CCPA consent so you can measure trial-start and session-complete events without a compliance scramble
  • Optional FCM push with diagnostics for daily 'time to meditate' reminders

When you should NOT use this boilerplate

Be honest with yourself about scope. If your meditation product is really an audio-streaming platform with adaptive bitrate, offline DRM-protected downloads, and a CMS for a content team — that is a custom build and a generic starter kit will get in your way more than it helps. If you have never written Dart and want to drag-and-drop screens, FlutterFlow's visual builder will feel friendlier than a code-first repo (you trade ownership and escape-hatch flexibility for that). And if you are iOS-only and want native StoreKit and AVAudioSession behavior with zero Dart layer, the sister product The Swift Kit ($99, SwiftUI, iOS-only) is the more direct fit. This kit is for the maker who wants real source they own, on both stores, with the subscription plumbing already done.

The Flutter Kit vs building the meditation app from scratch

The Flutter Kit ($69 one-time) vs Build from scratch comparison
FeatureThe Flutter Kit ($69 one-time)Build from scratch
Subscription gating (trials, restore, entitlements)RevenueCat pre-wiredWeeks of StoreKit/Play Billing work
Background audio architectureClean BLoC slot, decoupled player stateDIY state management
iOS + Android from one codebaseTwo native codebases or your own setup
Auth + content backendFirebase Auth + Firestore + StorageBuild and secure yourself
Consent-aware analyticsGA4 + GDPR/CCPA consentWire and audit yourself
Cost$69 once, unlimited appsYour time (weeks to months)

Frequently Asked Questions

Does this meditation boilerplate handle audio that keeps playing when the screen is locked?
The architecture is built for it — player state lives in its own BLoC, decoupled from the UI, so it survives backgrounding and navigation. You add your preferred Flutter audio package (such as just_audio with audio_service) into that slot; the kit gives you the clean place to put it rather than forcing you to refactor to add background playback.
How are free sessions separated from paid ones?
Through RevenueCat entitlements. A 'Premium' entitlement is the single source of truth: locked tracks trigger the paywall, active subscribers stream the full library, and the gate reacts to purchase and restore events automatically. You decide which sessions are free by checking the entitlement before playback.
Can I offer a free trial before the subscription starts?
Yes. RevenueCat supports intro offers and free trials configured in the App Store and Play Console, surfaced through your offerings. The kit's paywall reads those packages, so trial-to-paid is a configuration step rather than custom receipt-validation code.
Will trial starts and session completions show up in analytics?
GA4 is integrated with consent management, so you can fire events like trial_started and session_completed and respect GDPR/CCPA opt-in. That funnel visibility is what tells you whether your onboarding-to-paywall flow is actually converting.
Is this better than The Swift Kit for a meditation app?
It depends on your target. If you want iOS and Android from one Dart codebase, this kit is the fit. If you are iOS-only and want native StoreKit and AVAudioSession behavior with no Dart layer, The Swift Kit ($99, SwiftUI) is the more direct route. Neither is universally better — it comes down to platforms and language.
Can I swap Firebase for my own audio/content backend?
Yes. You own the full source, so the repository-pattern data layer lets you back sessions and courses with Firestore and Cloud Storage out of the box, or swap in Supabase or your own API. The subscription and audio logic does not depend on which backend stores the files.

Keep exploring

Ship your meditation app this month

Get the audio architecture and subscription gating done on day one. The Flutter Kit is $69 one-time — full source, unlimited apps, iOS + Android, lifetime updates. No subscription.

Get The Flutter Kit — $69

One-time purchase · Lifetime updates · Unlimited projects