Inspiration
My best friend's wife is pregnant, and she was looking for a safe way to stay active. Every app she tried gave her a generic video library and left her guessing: is this move still okay at my week? What should I do on a day my back hurts or I barely slept? She didn't need more content. She needed someone to just tell her what to do today.
That's the question Nara answers every morning: one session that fits the body you woke up in. Not more advice.
What it does
Nara is a daily prenatal Pilates and movement companion.
- 30-second morning check-in: how you slept, what hurts (lower back, pelvis, fatigue). The session changes to match.
- Built around your week, not your trimester: all 40 weeks are mapped. Movements that stop being appropriate are quietly removed (no lying flat after week 16, no deep twists, no breath holding). You never have to look up whether something is safe.
- Content built with professionals: every movement, cue and safety rule was created with certified instructors and professionals.
- 5–20 minute sessions: Pilates, mobility, strength, breathing and wind-down. No equipment, with animated movements and spoken cues.
- A coach that already knows your week: ask anything without explaining yourself first.
- Evening diary: a mood, what your body did, one line. It becomes a keepsake after the birth.
- Birth preparation from week 30.
- Safety first: Nara screens for conditions that need a doctor's sign-off and says so instead of handing out a workout.
How we built it
- iOS app: native SwiftUI, iOS 17+, fully localized in English and Turkish.
- Session engine: every movement is tagged with the weeks it's safe for and the conditions that rule it out. Each morning, Nara first removes everything that isn't safe for your week and symptoms, then picks the best session from what's left based on your check-in. Unsafe movements never make it into a session.
- Expert-reviewed content: we worked with certified professionals to choose the movements, set the safe week ranges and write the cues.
- Safety testing: a headless test builds all 400 week × symptom combinations and confirms that no session contains a restricted move, that the short session is always a subset of the full one, and that the same input always gives the same session.
- Movement art: each exercise is a short AI-generated animation. We built our own pipeline to prompt the clips, close the loops locally and normalize the backgrounds. A realistic video mode sits alongside the illustrated style.
- Spoken cues: roughly 250 cues in two languages, rendered with ElevenLabs.
- AI coach: Google Gemini, streamed, with the user's week, recent check-ins and today's plan as context. A fallback chain across several models keeps it reliable under load. It never suggests exercise when someone reports a warning sign, and tells them to call their midwife or doctor instead.
- Monetization: RevenueCat subscriptions with a free trial on the yearly plan. If someone declines the paywall, they're offered a one-time discounted plan that keeps the lower price at renewal. Prices are set for every App Store territory.
- Backend & analytics: Firebase/Firestore for app metrics and an admin panel, plus Meta attribution.
Challenges we faced
- Safety versus personalization: personalization usually means more options, but here every option has to be safe. Filtering first and choosing second let us personalize freely inside a safe space.
- Removing without alarming: when a movement drops out at week 16, we didn't want a scary warning. We just replace it quietly.
- Keeping it to 30 seconds: we cut the check-in again and again until it felt effortless on a tired morning.
- Generated animation is hard to control: clips came back with drifting backgrounds, disappearing props and moves that wouldn't render correctly. We rewrote prompts, fixed backgrounds in post, and dropped three exercises rather than ship a wrong demonstration.
- Cues you can follow mid-move: our first spoken cues were too long to follow while holding a pose. We rewrote every one shorter and slowed the delivery.
- Localization: shipping in English and Turkish meant a long round of translation fixes after launch.
What we learned
- The hardest part of wellness isn't information, it's deciding. Removing choices helped users more than adding content.
- Consistency comes from small, flexible targets (2–6 days a week, chosen by the user), not streaks that punish a bad day.
- In a health app, tests are a product feature. Checking all 400 sessions is what lets us say "safe for your week" and mean it.
- Pricing is a product decision too. A discount that keeps its price at renewal is easier to explain honestly than a teaser rate.
What's next
- Postpartum recovery and core rehab, so Nara stays with mothers after the birth.
- Apple Health integration and more languages.
Built With
- elevenlabs
- openai
- revenuecat
- storekit
- swiftui
- vercel
- xcode
Log in or sign up for Devpost to join the conversation.