I built Halo because bedtime kept becoming a screen-time problem.
As a new parent, I wanted a calmer way to share my faith with my son at the end of the day. The apps I found were made for adults, built around games, or designed to keep children watching. I decided to build the one I had been looking for: a five-language audio library for iOS and Android.
- Role
- Founder · Designer · PM · Engineer
- Product
- Christian bedtime audio for families
- Platforms
- iOS + Android
- Production window
- September 2025 – March 2026
Bedtime gave me the brief.
By the end of the day, I did not need another product competing for my son’s attention. I wanted something that could help us settle down, listen together, and share our faith. Most of the products I tried missed that moment. Adult meditation apps treated children’s content as an extra; Bible apps leaned on games; Christian streaming services led with video.
“I am having trouble getting my kids to bed.”
I wrote down the feeling I wanted: sitting beside a kind storyteller in a quiet room. I used that sentence to judge the features and the visual direction.
searches each month
for “bedtime bible stories,” with a long tail of parents looking for the same kind of help.
searches each month
for “bible app for kids.” The demand was visible before I drew the first screen.
monthly active readers
were already coming to Christian Pure, while very little of its content served parents and children.
of the opportunity was hidden
When Keyword Planner and Keywords Everywhere disagreed, I reconciled the two sources instead of trusting one dashboard.
I started with the wrong visual reference.
Gentle.Reverent.Whimsical.
What changed
I borrowed the restraint of Calm and Headspace. The result was clean and quiet, but it also felt empty—closer to an adult meditation app than the warm children’s library I had in mind. I kept the breathing room and changed the rest: richer illustration, more visible content, warmer color, and a home screen that felt generous without becoming noisy. Hallow showed me how much warmth and density a sacred product could hold, while Halo kept its own child-friendly voice.
- I removed streaks, badges, urgency, and springy motion.
- I used warm parchment in light mode and a cozy night sky after dark.
- Each content family received its own color, balanced by generous space.
- Every view kept one primary action and touch targets large enough for children’s hands.
- Playpen Sans carried the warmth; Inter carried the interface.



I measured whether Halo earned a place in the bedtime routine.
The target was a parent returning between 7 and 9pm on three evenings in one week. That was the clearest sign that Halo belonged in a real bedtime routine.
- Five to fifteen minutesEnough time for one story or prayer before putting the phone away.
- Twenty minutes was a warningA longer session would suggest that Halo was becoming a pacifier rather than helping the family wind down.
- Refunds below two percentIf a parent paid, the value should be clear quickly.
- A rating of 4.6 or betterI used the store rating as a practical signal that parents trusted the experience.
- The words behind the numberI also looked for language that described the effect I wanted: calm, peaceful, beautiful, and “my child loves it.”
FlutterFlow got me moving, then made the hard parts harder.
I built the first version in FlutterFlow.
It let me get audio playback, Firebase, RevenueCat, and both platforms moving quickly. It also showed me where the visual builder would become a liability. Dual-track background audio, consumable purchases, conditional initialization, and debugging across several tools all became harder than they needed to be.
I took over the exported Flutter code.
I kept the exported code and changed it in place. My first priorities were the parts parents would feel immediately: account merging, purchase preservation, validation, contrast, and reliable audio loading.
I made five languages behave like one library.
Search, favorites, richer story data, filters, and a two-column discovery layout made the collection easier to use. The five-language architecture also had to preserve purchases and favorites when a family changed languages.
On March 6, I completed the overhaul.
In one concentrated push, I shipped seven bug fixes, eight performance and security improvements, disk image caching, lazy carousels, selective rebuilds, a homepage overhaul, more careful spacing, stronger verse cards, and native-feeling transitions.
I shipped iOS on March 10 and Android on March 24.
Halo reached both stores with five languages, subscriptions, individual story purchases, and more than one hundred stories, prayers, songs, devotionals, and affirmations.
The first release showed me what still needed work.
I found issues that mattered on older devices and across languages: loading, search, authentication, paywalls, and bookmarks. I also built a five-screen SwiftUI exploration. It showed how much native iOS could improve audio, accessibility, and performance, and it made the migration cost visible.
I used AI throughout the work, from research to production.
Work I handed to AI
- Claude Code helped me implement and debug Flutter, write tests, and improve performance.
- It helped me build the five-language content system and the fallbacks that kept it reliable.
- I produced emotion-tagged narration with ElevenLabs and explored original music with Suno.
- Midjourney and Ideogram helped me explore illustration directions.
- I used AI to structure keyword research, ad groups, release notes, and conversion work.
Decisions I kept
- I defined the bedtime problem and the length of a healthy session.
- I chose the name Halo and the emotional character of the brand.
- I reviewed theological accuracy for Catholic and Protestant families.
- I changed the visual direction after the first version felt too sparse.
- I decided when to put the product in front of real parents.
- I kept working in the shipped Flutter code instead of restarting for a cleaner architecture.
Halo shipped on both stores in March 2026.
What I would do differently
- I would write the design brief on day one.
- I would start directly in Flutter.
- I would build the conversion path before launch.
- I would talk to five parents before writing code.
The part I am proudest of is straightforward: I started with a problem in my own house and shipped something another family could download and use.
