← All case studiesBuilt by our team · 2025 to now

Voice AI writing app

Speak your memories and the app writes your life story. It asks a guided question, listens, asks at most two follow-ups, then writes one paragraph in your own words. Chapters become a book you can export or share.

Surface
iOS, Android and web from one Flutter codebase
Models
Deepgram for speech, Gemini Flash for writing
Release
Version 1.6, live in both stores
Publisher
The product studio our team runs
318guided questions across 19 chapters of a life
2follow-ups at most before a paragraph is written
0model calls for free users
80product events tracked, read through 11 BigQuery views
The challenge

A memoir app fails the moment it sounds like someone else.

People tell a phone about their mother, their first job, the years nobody talked about. If the paragraph that comes back praises them, invents a feeling or smooths their voice into brochure prose, they stop writing. The AI had to be a patient interviewer and a strict editor, and cost nothing for people who had not paid.

What we did

A fixed pipeline, not an agent.

Speech streams from the device to Deepgram as the person talks. Every answer runs the same short pipeline, the model decides only one thing, and the paragraph streams back as it is written. The book itself is rebuilt by plain code.

How one answer becomes a book

  1. 01
    You speak
    Speech streams from the phone to Deepgram as you talk. Free users type, and their words are kept exactly as written.
  2. 02
    The answer is saved first
    Before any model runs, so nothing is lost if the app closes.
  3. 03
    Photos become context
    Gemini describes each photo once, within 15 seconds. It is used as context only, never stated as fact in the story.
  4. 04
    Follow up, move on, or help
    A structured decision: ask one more question, write the paragraph, or answer a crisis with a kind message pointing to real help. About 30 "I'm done" phrases skip the model entirely.
  5. 05
    The paragraph streams in
    In the person's own words, grammar fixed and nothing added. "Looks good" or "Make changes" decides what happens next.
  6. 06
    The book is rebuilt by code
    Chapters assembled in order on every write, then exported to PDF or DOCX, or shared by link.

The four tests, on this project

We judge every product on the same four questions. This is how this one answered each of them.

01 · Design
Led here
Does it feel right?
  • The prompts forbid praising, coaching or inventing feelings. The writer fixes grammar and keeps the person's words.
  • The paragraph appears as it is written, and the person approves it or asks for changes.
  • An answer about a crisis gets a kind message pointing to real help, not another question.
02 · Mobile and backend
Does it hold up?
  • The paragraph is saved before the stream reports done, so closing the app never loses an answer.
  • A trace id travels from the server into crash reports, so one user's error maps to one log line.
  • Daily reminders scheduled in each person's timezone, one named task per user per day, so nobody gets two.
03 · AI, retrieval and evals
Is it right?
  • The follow-up decision is structured output with three allowed actions, validated before anything uses it.
  • Photos are described once and used as context only, never stated as fact.
  • Internal builds can switch to a candidate model per request, so a new model meets real use before release.
04 · Metering and pricing
Does it pay?
  • Free users never call the model, so free-user growth never grows the model bill.
  • A three-day trial on iOS and web, and a yearly offer when someone closes the paywall.
  • Purchases reported from the server, matched to the ad click and de-duplicated by transaction id.

Three decisions we made

01
Two follow-ups, then write
An interviewer that never stops asking is worse than one that asks too little. A hard cap, plus shortcut phrases that end the thread without a model call.
02
The book is code, not a prompt
Chapters and paragraphs are assembled in order by plain code on every write. The model writes a paragraph at a time; it never rewrites a life.
03
New models tested live, safely
A header from internal builds switches the model for that request only, isolated per request and covered by tests. No release needed to try one.

What we are adding next

An eval set for the paragraph writer, built from the changes people ask for when they tap "Make changes". Those edits are the best record there is of where the writer drifts from someone's voice.

Cost per paying user, tracked monthly. And languages beyond English: the questions, the speech model and the prompts are all English today.

What this means for you
If your product turns what people say into something written
Voice capture, a model that interviews without leading, writing that keeps the user's voice, and a free tier that costs nothing to run. We have shipped that pipeline on three platforms and we pay its bills ourselves.
Closest track: Build it from zeroSee the two weeks
What we can build for you
  • Live speech-to-text on iOS, Android and web
  • AI output streamed as it is written
  • Structured model decisions with safety handling
  • Free tiers with zero model spend
  • Trials, offers and server-side purchase attribution
Stack
FlutterRiverpodFirebaseCloud FunctionsCloud TasksLangChainGeminiDeepgramRevenueCatMixpanelBigQueryCodemagicShorebird

Want this in your product?

Thirty minutes, no deck. Tell us what you are building and which of the four tests worries you most. We say no when we are not the right people.