title: Onboarding description: What the first-launch flow asks and why.
Onboarding
The first-launch flow. Three quick screens to seed a sensible starting state, then you're in. Designed to take under 90 seconds including reading the medical disclaimer.
What happens, screen by screen
Welcome
A single-screen hello with the slogan ("Move right. Every time.") and a Beat Hook visualization — a pulsing dot that pulses with two alternating high/low tones for ~4 seconds. The hook demonstrates the core concept (rhythm) before any text explains it.
Continue proceeds.
Pick a goal
Three buttons, large, with brand-color illustrations:
-
Boost Performance — Beat-driven HIIT, intervals, and Tabata. Recommends a Tabata template afterward.
-
Learn Movements — Step-by-step technique on the beat. Recommends a tempo-strength starter (3-1-3 push-up).
-
Build Healthy Habits — Daily rhythm — breath, stretch, streak. Recommends a Box-breathing template.
You can change this answer later in Settings → Onboarding. Nothing about the rest of the app locks based on this; it's a gentle bias on recommendations.
-
Health & Safety
The medical disclaimer (same content as Settings → About → Health & Safety). Four short paragraphs:
- Not medical advice
- Consult a professional
- If you feel pain, stop
- AI-generated content disclaimer
Big I understand button at the bottom. Can't be skipped.
Recommended workout — start now or later
The template that matches your goal answer, ready to run. Three buttons:
- Start now — straight into Execute. The most common path.
- Save for later — adds to My Library, drops you on the My tab.
- Browse other options — opens the Library tab. We don't surface the AI Create option here on purpose — first workouts go better with a known template.
What we don't ask
Onboarding doesn't ask for:
- Email / sign-in. You can use the whole app without an account. We ask at first-save-of-a-session (Stats screen) when there's a reason.
- Age, weight, body measurements. The AI generator doesn't need them (it asks in-prompt if relevant); the engine doesn't need them.
- HealthKit / Notifications / Microphone permissions. We ask each one when the user first hits a feature that needs it.
- Apple Music. Same — we ask when you first open the Music Picker.
The principle: never ask for something we don't immediately need.
What gets recorded silently
We do track a few things during onboarding (locally only, not network-side):
- Which goal you picked.
- Whether you tapped Start Now / Save for Later / Browse.
- The acknowledged-disclaimer flag (so we don't re-ask).
- A timestamp of first-launch (used for streak day counting).
Nothing about the user is sent off-device during onboarding. No account, no analytics events.
Re-opening onboarding later
Settings → About → Re-run onboarding (under the version number — tap 5 times for the debug menu if you don't see it). Useful for testing or genuinely wanting to reset your goal answer.
This doesn't reset achievements or library — just re-runs the welcome flow.
Design decisions worth knowing
Three things we got asked about during testing:
-
Why no email signup at start? Email walls before users experience the product produce 30%+ abandonment. We sacrifice the email list to keep the conversion funnel open.
-
Why a forced disclaimer? Apple's Health & Fitness category review process expects medical disclaimers to be acknowledged, not just available. The disclaimer is a hard gate by App Store requirement.
-
Why no permission requests up front? Same reason as #1. Asking for 5 permissions before the user knows what they're for produces decline-by-default. We ask each at the feature's first use, when context makes the request obvious.