Meditation App Boilerplate for iOS
A SwiftUI starter kit built around the two things that actually decide whether a meditation app makes money: clean audio session handling and a subscription wall that gates your premium sessions without locking out the free ones.
The Swift Kit is a meditation app boilerplate for iOS that costs $99 one-time and ships with the audio plus subscription-gating plumbing the wellness category lives and dies on. It pairs Supabase storage and Edge Functions for hosting and streaming session audio with RevenueCat multi-tier entitlements for gating premium tracks, free previews, and trial flows. You get a native SwiftUI codebase you own outright — unlimited commercial projects, lifetime updates, and a 14-day refund — instead of rebuilding audio routing and paywall logic from zero.
Why wellness apps are really an audio + paywall problem
Strip a meditation app down to its core and you find two engineering problems wearing a calm UI. The first is audio: sessions need to keep playing when the screen locks, duck under phone calls, show up on the lock screen and in Control Center, and resume cleanly after an interruption. The second is monetization: the category runs almost entirely on subscriptions, so you need a paywall that gates premium tracks while still letting free users sample enough to convert. The Swift Kit treats both as first-class concerns instead of afterthoughts. RevenueCat handles the entitlement layer — tiers, trials, and restore — and Supabase storage plus Edge Functions handle where the audio actually lives and how it reaches the device. The meditation timer, breathing UI, and streak counter that every wellness app ships are the easy part; the boilerplate exists so you don't burn your first month on the AVAudioSession configuration and the StoreKit edge cases.
How the subscription gating works for sessions
Wellness apps convert on a specific funnel: a generous free catalog, a clear premium tier, and a wall that appears at exactly the right moment. The Swift Kit wires RevenueCat entitlements so you can mark individual sessions, full series, or whole categories as premium and check access before playback starts. Because entitlements are multi-tier, you can run a monthly, annual, and lifetime offering — the pricing shape most meditation apps land on — without hand-rolling receipt logic.
- Gate individual tracks, series, or categories behind an entitlement check before audio starts
- Offer free-preview sessions and short samples of paid tracks to drive trial conversion
- Multi-tier RevenueCat offerings for monthly, annual, and lifetime wellness pricing
- Restore purchases and trial-eligibility handled by RevenueCat, not custom receipt parsing
- Per-user rate limiting via Supabase Edge Functions if you add AI-guided or generated sessions
The audio and content infrastructure you start with
Session audio has to be hosted somewhere, delivered securely, and played reliably — and that is exactly the unglamorous work a boilerplate should already have done. The Swift Kit uses Supabase storage for your session files and Edge Functions to issue signed access so premium audio is not just a public URL anyone can scrape. Auth (email and Sign in with Apple) ties a listener to their entitlements and their saved progress in Postgres, so a user's unlocked sessions and streaks follow them across devices.
- Supabase storage for session audio with signed, server-issued access URLs
- Postgres for user progress, favorites, and streak history synced across devices
- Email and Sign in with Apple so entitlements and progress map to a real account
- Edge Functions to keep premium audio and any API keys off the client
- 5-surface DesignSystem.swift to retheme the calm, minimal UI wellness apps need from one file
When you should NOT use this boilerplate
Be honest with yourself about scope before you buy. If your meditation app is purely offline — a fixed set of bundled audio files, no accounts, no subscription, no sync — then the Supabase backend and RevenueCat layer are weight you won't use, and a single-screen AVFoundation project from scratch is the cleaner path. If you're building for Android or want a cross-platform codebase, this is native SwiftUI and not the right tool. And if your differentiator is something exotic — live spatial audio, real-time biofeedback hardware, or HealthKit-deep sleep tracking — the boilerplate gives you the account, audio-host, and paywall foundation but the hard, novel work is still yours to write. The Swift Kit saves you the months of plumbing that every subscription wellness app shares; it does not pretend to ship your unique idea for you.
Swift Kit vs building a meditation app from scratch
| Feature | The Swift Kit ($99) | Build from scratch |
|---|---|---|
| Time to first gated audio session | A day or two | Weeks of AVAudioSession + StoreKit work |
| Subscription gating | RevenueCat multi-tier entitlements wired in | Hand-rolled receipt validation |
| Premium audio hosting | Supabase storage + signed URLs | Pick and integrate a backend yourself |
| Cross-device progress & streaks | Supabase Postgres + auth included | Build sync from zero |
| Lock-screen / background audio | Configured in the kit | DIY and easy to get wrong |
| Cost | $99 one-time, lifetime updates | Your time (the real expense) |
| You own the code | Yes, unlimited commercial apps | Yes |
Frequently Asked Questions
Does the boilerplate handle background and lock-screen audio for meditation sessions?
How do I gate premium meditation sessions behind a subscription?
Where does my session audio actually live?
Can free users preview paid sessions before subscribing?
Do user streaks and unlocked sessions sync across devices?
Is this overkill if my meditation app is fully offline with no subscription?
Keep exploring
Ship your meditation app, not your audio plumbing
Get the audio hosting, background playback, and RevenueCat subscription gating already wired up. $99 one-time, unlimited commercial apps, lifetime updates, and a 14-day refund if it's not the right fit.
Get The Swift Kit — $99One-time purchase · Lifetime updates · 14-day refund