Reduce stress and muscle tension, improve sleep and long-term health, all while tapping into the wisdom of millenia old traditions? These were the promises of a breathing method called “Coherent Breathing” or “Perfect Breathing” that I came across while reading “Breath” by James Nestor. It involves slow consistent breaths that are meant to synchronize the breath with the heart. All you have to do is breathe in for 5.5 seconds, breathe out for 5.5 seconds, and repeat. It sounded simple so I decided to try it. Finding a reliable method of calmly pacing my breathing, however, was more challenging than I thought. I got distracted counting and using my watch required too much math. While I knew there must be apps out there, it seemed like the perfect opportunity to vibe code my own solution.
Defining the Product in Partnership with Gemini
First, I took a pass at writing some very rough requirements. As a seasoned product manager who also happened to be the target user of the app, I already had a strong understanding of the user, the problem, and best practices for this type of product. I worked quickly, not worrying about too much detail
Next, I partnered with Google Gemini. I gave it context on who I was, the role I wanted it to assume, and the requirements I had written. I asked it to:
- Ask me any clarifying questions needed to create a PRD (product requirements document)
- Suggest ways to improve the product and ask me if we should include them
- Produce a PRD that is ready to be given to Lovable for vibe coding
We went back and forth, deciding to use local storage since it was an MVP and to forgo too much context on the what and why of coherent breathing for the same reason. Gemini made several suggestions and I chose to incorporate two of them:
- Voice Cues: Adding audio prompts in addition to visual cues, in case users wanted to close their eyes.
- Circular Pacer: Replacing a standard progress bar with a calm, expanding/contracting circle, a more organic and less stressful visualization for a meditative practice.
Gemini output a PRD specifically designed for Lovable. It was heavy on technical instruction but did not follow best practices of PRDs that would explain the why behind the requirements. As a result, I prompted Gemini to produce a version of the PRD designed for collaborating with design and engineering counterparts. After a few manual edits, I had what I needed. The whole process had taken less than an hour.
Building, Iterating, and Troubleshooting the MVP with Lovable
Moving to Lovable, I uploaded the PRD and instructed Lovable to build a mobile web app according to the instructions. Lovable consistently pushed me to sign up for its cloud integrations with other products but each time I was able to skip doing so. I wanted to keep my tech stack as simple as possible. In a few minutes, I had a first pass of the app. Eagerly, I started my first session…
I cringed.
The synthesized voice was as far from relaxing as I could imagine. I tried several iterations, using different voice settings, volumes, other sounds, etc. Finally, I arrived at one that was passable.
As I tested I discovered and fixed a few small usability issues before I came upon a bigger one. When the countdown expired, the app would end a session mid breath. I hadn’t thought about this when writing requirements but, as a user, it was jarring. I updated the app to always finish the breath before ending the session. Finally, I had a version I was happy with. I published it, loaded it up on my Pixel and started a session.
I heard nothing. The visual prompting was working but not the audio prompts. I tested on an iPhone…still nothing. Working with Lovable, I found that mobile operating systems often have issues with the synthetic voice rendering so I recorded my own audio files. It’s always awkward to hear one’s own voice recorded, but after several attempts I got a version I could stand. I uploaded the files, published the app and opened it on my phone. The moment of truth came as I started a new session. It worked!
Wrapping Up
The process wasn’t entirely plug and play and I certainly relied heavily on my skills and experience as a product manager. Nonetheless, the results were impressive, total time from idea to working MVP: less than 3 hours.
I was excited but fortunately, I had just the thing to get my heart rate back to baseline. I started a session and settled in, a familiar voice prompting me to inhale…
Want to try the app for yourself? You can! Check out Perfect Breath and let me know what you think using the feedback form linked from the app.

Leave a comment