Stillwater, a calm wellbeing app: a complete Xcode project with mood check-ins, guided breathing, short courses, a journal, widgets and three brand presets.
A wellbeing app on a five-tab shell. First run is the Onboarding screen with a reminders request and a StoreKit 2 paywall for Stillwater Plus. Today checks in around the mood orb and suggests a session, Breathe opens the guided session, Learn pushes the reader, Journal starts from a ghost state, and Profile holds settings and sign out.
$199 once, every piece included. See how installing works · Sign in
The screens this template wires together, in the order someone meets them.
First run
Welcome pages, a reminders request and the Stillwater Plus paywall. Runs once, then records completion.
Tabs
Today, Breathe, Learn, Journal and Profile on the App Shell. Today's check-in is built on the mood orb; Journal starts from a ghost state.
From the tabs
Breathing sessions open full screen, lessons push the reader, and a logged mood lands as a toast with Undo.
SwiftUI source you own, built on Apple frameworks only.
Onboarding, Welcome, Purchase, Paywall, App Shell, Lessons, Mood, Breathe, Reader, Projects, Notifications, Settings. Installed together, automatically.
In-App Purchase capability
Meditation and Sleep (brief). Your agent builds around this template in the same design.
How it behaves, what it handles, and the decisions behind it.
MeditationApp is one root view. On first launch it shows the Onboarding screen: three welcome pages, a reminders request, then the Purchase screen's StoreKit 2 paywall for Stillwater Plus as the handoff. Purchasing, restoring or closing the paywall finishes onboarding and records it under a completion key, so the root switches to the home on its own.
Home is the App Shell with five tabs. Today is a mood check-in around the mood orb with five faces and the session suggested for now; logging a mood lands as a toast with Undo, and "Add feelings and a note" opens the full Mood screen. Breathe lists patterns that open the guided Breathe session full screen. Learn lists short courses that push the Reader. Journal shows the week as face-capped bars and starts from a ghost state. Profile is Settings, where Manage subscription reopens the paywall and Sign out returns the app to first run.
The downloadable Xcode project goes further: SwiftData history, a session player with rounds, haptics and a summary, course and lesson screens with read-aloud, journal insights, a daily reminder, deep links, and a mood streak widget that logs a check-in without opening the app.
productIDs. Until they exist, the paywall shows its designed "plans didn't load" state and its close button still finishes onboarding.completionKey is the UserDefaults key the flow writes and the root reads. Change it to show onboarding to everyone again.StillwaterSample at the top of MeditationApp.swift; the session is PhaseOrbExample, the full check-in NoiseOrbExample and the lesson MorphNavScreenExample. Swap each for your own store..environment(\.spTheme, SPBrandTheme(.stillwaterEditorial)) or .stillwaterCandy on MeditationApp to re-skin every tab.@main: put MeditationApp() in your own WindowGroup.Pieces that work well next to this one.