Algoace

Work / DreamWhisp

DreamWhisp

Industry
Parenting and kids, US
Service lines
Mobile app engineering, AI product engineering
Stack
React Native, TypeScript, Supabase, Google Gemini, ElevenLabs, RevenueCat
Engagement
Since April 2026
StoryDream-banner

The Situation

A founder wanted a bedtime story app for parents of children aged 2 to 12. A parent creates a profile for their child and picks a theme. The app writes a new story with the child’s name woven through it, then reads it aloud, highlighting each word as it’s spoken. Paid parents can clone their own voice, so the story is told in Mum’s or Dad’s voice.

The Constraint

AI-written stories for young children had to be safe, calm and the right length for every age, every time. Every story and every narrated minute has a real AI cost, so free use had to be limited in a way users couldn’t get around. Because the app handles children’s details and parents’ voices, it also had to meet Apple’s and Google’s rules for AI apps used by families.

What we did

We built the app and its Supabase backend from the first commit.

Safe stories: stories are written on the server, never on the phone. Each draft is checked before a parent sees it. It has to use the child’s name often enough and stay within the word range for that age, and the prompt rules out anything violent or scary. If a draft fails, the server tries again, up to three times. Lengths are capped by age, because narration is billed per character.

Read-along narration: ElevenLabs narrates every story and returns timings for each word. The reader uses those timings to highlight the text in step with the voice.

Try before signing up: a parent can make a first story as a guest. Saving it turns the guest into a full account with the same ID, so nothing is lost.

Limits that hold: story, child and voice limits are checked on the server and again in the database. Only the server can change a parent’s plan, using purchase events from RevenueCat.

Voice cloning with consent: the parent reads their consent aloud as part of the recording. The raw recording is deleted once the voice is created, and deleting an account removes the cloned voice too.

Family-safe by design: an AI notice before the first story, a “report this story” button, and a parental check before every purchase.

storydream-what-we-did-banner-1
storydream-what-we-did-banner-2
storydream-what-we-did-banner-3

The trade-off

We launched with text and narration only, and no illustrations. Generating artwork for each story reliably would have meant adding a new AI service and its cost, so we left it for later. We also accepted a gap of a few seconds after a trial starts, while the server waits for confirmation from RevenueCat. In that window a parent can make a story before their plan shows as updated. Making them wait would have harmed the purchase moment for a very small risk.

Outcome

MetricValueSourceDate
First commit to App Store release16 weeksRepository and App Store records6 Apr to 27 Jul 2026
Live onApp Store and Google PlayStore listingsOct 2026
Story themes12, plus “Surprise me”App sourceOct 2026
Ages served, with length set per age2 to 12App sourceOct 2026
Server functions8Backend sourceOct 2026
Automated test files52RepositoryOct 2026

What we would do differently

We would settle the free plan before writing any code. It changed three times: three stories a month, then three in total at one a day, then one story ever. Each change touched the app, the server and the paywall copy, and the project docs fell behind the code. Deciding up front would have saved several rounds of rework.

Ready when the work has to be right the first time.

A 30-minute scoping call with a senior engineer, designer or growth lead. You will leave with a written view of scope, risks and a realistic timeline, whether or not you hire us.

12 years40+ shipped products6 industries
Karachi and Sharjah