Nubi

A parent records a bedtime story out loud. It comes back as an illustrated book, narrated in their own voice.

The Project

Nubi turns a three-minute spoken story into a paged, illustrated book that plays back in the parent’s own recorded voice. The premise is small and specific: parents already invent stories at bedtime, and those stories disappear the moment they finish telling them.

The work covered the whole product: naming and brand, the recording and reading experience, the states that only exist because generation is slow and imperfect, the pricing model, and the web surface the finished stories are shared through.

Designing for the ten minutes before a child falls asleep

Every decision was measured against one constraint: the parent is tired, holding a child, and in a dark room. That ruled out most of what a media app normally does.

Two steps to start, not one

The first prototype opened straight into recording, and testing my own bedtimes with it made the flaw obvious: you tap record and then have nothing to say.

A short idea step now sits in front of the microphone. It proposes a premise, lets you swap it or write your own, and keeps the chosen one on screen while you talk. Recording itself is deliberately blunt: a live waveform, a blinking REC pill, and a visible three-minute budget so nobody is cut off mid-sentence.

Reading, and then not reading

A finished story has two audiences on the same night. The parent reads it aloud with the child in normal mode: dot pagination, artwork first, no chrome. Then the child asks to hear it again and the parent wants to stop performing.

Bedtime mode plays the recording back and turns pages by itself. Its controls (progress, pace, volume) stay permanently on screen rather than hiding, because a tap to reveal them is a tap that wakes a nearly-asleep child. The screen dims on its own and brightens when touched.

Designing around a model that takes its time

Writing, paging and illustrating a story takes minutes and sometimes fails. Most of the design effort went into the states around that, not the happy path.

  • The waiting screen is the mascot asleep, one shape, eyes closed, stars drifting off him, with the caption carrying the stage. Abstract progress marks were tried and thrown out.

  • A dropped connection never loses the recording; it stays on the device and resumes.

  • A failed generation is our mistake, so it never counts against the monthly allowance.

  • Mangled anatomy is common enough that a one-tap re-roll lives inside report-a-problem.

  • Notifications are capped at four, and none fire between bedtime hours.

Permission prompts were moved behind the first real action: the microphone is asked for when you tap record, notifications while that first story is being written.

The wall, placed after the work, not before it

The business model was designed as part of the product, not bolted on. A new parent records first and sees their own finished story before any payment screen appears; the free tier illustrates that first story in full.

The trial is seven days rather than three, because the value is re-listening: the fourth night the child asks for the same story, and that cannot happen in a weekend. After it ends, everything already made stays readable, playable and shareable forever. Only new generation stops, and there are exactly three places the app ever mentions it.

One plan, $9.99/mo or $79.99/yr. Writing, pages and narration are never metered: illustrations are the only cost that scales, so they are the only thing counted.

A mark that had to work at 4am

The product was renamed from a descriptive working title to Nubi, and the mascot became the app’s only illustration: a honey cloud with a face. The rule is that only the face changes, asleep while a story is generating, awake on the shelf. The palette is a plum-indigo night with a single honey accent for everything actionable, warm enough to sit next to storybook art without competing with it.

Quicksand carries the display type over Nunito Sans for text. Honey #f4bf4f is the only action color in the app; periwinkle carries the second voice and mint appears once, as a detail.

Where it stands

The app is built on Expo and Supabase, with the story pipeline (transcription, writing, paging, illustration) running server-side and the audio kept as a single file made addressable per page.

Finished stories are shared as unlisted, revocable web links, so the grandparent who receives one can listen without installing anything. Design, brand and implementation were done by me.