Inspiration.
Breath is the quickest way back to the present moment. It's always with you, and it works in a minute. I wanted a meditation app built entirely around it.
Calm and Headspace inspired me, but music apps inspired me more. People want to open Spotify, Apple Music, and Tidal: they have rich artwork, a library to get lost in, and a player at the center of everything. So Pulmonaut looks and feels like a music app.
What it does.
The app will allow the user to listen to breathing guided sessions and breathscapes that are samples of ambient music with breathing cues. We explore many breathing techniques so the user can use whichever will be most useful for a specific situation:
- Guided sessions. 30 voice-led sessions for Focus, Restore, and Sleep.
- Breathscapes. 18 practices that the app plays live, with a bell, a voice, and a soundscape you pick.
- And more. Soundscapes to breathe to, paths that teach one technique step by step, and emergency breathwork for the minutes that can't wait.
- The Frontier. Four labs for the deep end: breath-hold training, pranayama, Tummo, and holotropic breathing.
How I built it.
I started on vibe-coding platforms, then started over in native Swift and SwiftUI, with Claude Code as my engineering partner. RevenueCat runs the membership, and Supabase handles sign-in and the audio library. ElevenLabs gives the sessions their voices, and Midjourney makes the artwork. Greptile reviews every pull request, and I test every build on my own iPhone.
Challenges I ran into.
This is my first digital product, so everything was new: Xcode, git, App Store Connect, subscriptions. I switched tools a few times before I settled. Really, everything was a challenge. A few problems surprised me:
- Over AirPlay, the screen ran about 2 seconds ahead of the voice. Now the screen waits for the speaker.
- Two soundscapes weren't what their names said. A noise's color is the slope of its spectrum, $S(f) \propto 1/f^{\alpha}$. Our "white" noise had $\alpha = 2$, which makes it brown, and our "grey" was pink. I replaced both before launch.
- Apple rejected the app twice before it approved it.
Accomplishments that we're proud of.
Pulmonaut is live on the App Store, five months after its first line of Swift. I'm proudest of the content and the look and feel: 174 pieces of artwork, timings you can count along to, and layouts that fit every iPhone, down to the 13 mini in my pocket.
What I learned.
- The value is in the content: useful practices, and honesty about what breathwork can and can't do.
- Good design is essential. And so is good taste :)
- Design can make or break the user experience.
- Planning before you build is super important.
- Do not be afraid to pivot.
- Measure things instead of trusting their labels.
- If possible, write every lesson down, so your AI partner doesn't repeat a mistake.
- Keep track of your UI components.
- The value is in the content: useful practices, and honesty about what breathwork can and can't do.
What's next for Pulmonaut.
Getting it to the people it's built for. Next up are the first update. Start promoting it on social media. Get some paying users. I'm still learning, and loving it.
Built With
- claude
- swift
Log in or sign up for Devpost to join the conversation.