A journal you text instead of write.
People may want to journal or turn memories into a scrapbook but never follow through for different reasons: busy memory keepers struggle to find time; perfectionists delay because they want every page to look beautiful; reluctant writers don't know what to say; overwhelmed collectors have photos and memories scattered across apps; in-the-moment people prefer enjoying experiences over documenting them; inconsistent journalers lose momentum and feel guilty about catching up; and emotionally hesitant reflectors find revisiting certain memories difficult. Across these personas, the central tension is wanting the finished keepsake without wanting the work of creating it.
"People find journalling hard" isn't a cause, it's a restatement. The useful question was why it's hard in a way that a nicer text editor has never fixed.
That gave me two mandates, and they're the reason the product looks the way it does. Move the cost down: take composition away from the person entirely โ talking about your day isn't a skill you have to practice. Move the reward forward: what you make has to be worth holding tonight, not in ten years.
The smallest thing that tests both mandates at once: one conversation in, one finished page out, in an album you can flip. Everything in v1 is on the path between those two points.
What I left out is the part I'd defend hardest. No accounts, no sync, no sharing, no tags, no search, no export, and โ deliberately โ no streaks and no reminders. A streak applies pressure to a habit whose entire problem is that it already feels like homework. If the cost is genuinely gone, nobody needs nagging; if it isn't, nagging won't save it, and I'd rather find that out than hide it behind a notification.
A conversation over a blank page with prompts
The root cause is composition, not topic selection. A prompt-of-the-day is a better blank page; it's still a blank page.
Cost: every entry now depends on a model behaving well, which is why the prompts below are the most carefully written part of the project.
The AI writes it in your words over the AI writes it for you
Entries are stitched from what you actually said, in your own first person. An entry you don't recognise as yours is worse than no entry โ it's the Instagram caption problem with extra steps.
Open tension: it still writes more smoothly than I text, and I'm not sure where the line is. The edit-rate guardrail below exists to catch it if I've got this wrong.
A 3D album you flip over a scrollable list
The reward has to arrive tonight, and it has to feel like an object you own. A list is a list โ you don't leaf through one for pleasure.
Cost: almost the entire bundle, and a page that can't paint anything until Three.js lands.
Paper that bends over a page that pivots
A rigid hinge reads as cardboard, and cardboard breaks the illusion the whole reward depends on. Each page is a skinned mesh with a bone chain across its width, so it resists at the spine and whips at the outer edge.
Cost: per-page skeletons, hand-tuned curve strengths, and GSAP easing on every flip.
Fourteen recycled meshes over one mesh per page
An album with a page count is a demo, not a journal. A fixed pool slides a window across an unbounded index, so you can flip forward forever.
Cost: a recycling system that has to stay invisible โ see below for how it hides.
Local-first storage over accounts and a server
Nobody signs up before their first page, and the album lives in IndexedDB on your own device rather than in an account on my server. To be exact about it: the storage is local, not the whole pipeline โ what you type is sent to a model to be written up, and only the finished page comes home to stay.
Cost: no sync between devices, clearing site data is destructive, and I can't measure a single thing (see below).
A visible non-AI floor over an error state
With no key configured the album still works: scripted prompts, your own words kept as the entry, a mood classified by keyword, a caption from a hand-written bank. The status line says which one you're getting โ "Connected โ real AI conversation is on", or "kept your own words as the entry".
Cost: two paths to maintain, and a fallback that's honestly worse. It's never passed off as the model's work.
Each of these maps to one half of the root cause: did the cost actually come down, and did the reward actually arrive early enough to matter.
โTime to a finished page
First message to saved page. A written entry is ten to twenty minutes, and most nights it's infinite because it doesn't happen. Target: under three minutes. This is the cost, measured directly.
โActivation
Share of first sessions that end with a saved page. A conversation abandoned halfway is the blank page wearing a new costume.
โWeek-4 retention
Entries per person in week four against week one. Journalling apps die in week two, so week four is the honest test of whether the cost came down or just moved.
โReturn-to-read rate
Weeks in which someone opens the album without writing anything. This is the reward-moved-forward hypothesis measured directly โ if nobody flips back through it for its own sake, the album is decoration and I was wrong about the second mandate.
โEdit rateGuardrail
Share of a generated entry the person rewrites. Past roughly a quarter, "in your own voice" is failing and the feature is adding work instead of removing it.
โRegenerations per pageGuardrail
Try another AI take and Try another look are already instrumented as buttons; pressing either more than once or twice means the page isn't landing and the person is now doing art direction, which is a new job I just gave them.