I shipped a better version of LittleStory and a parent at daycare never got it. On two version numbers, one automatic and one mine, and why a bedtime story has to be a habit rather than something you install once.

app storeshippingmaintenanceindie devexpo

A week after I shipped

A parent at daycare told me she had tried LittleStory and it still read the story in that flat, borrowed voice. She was not wrong. She was also not running the version I had spent a month fixing.

LittleStory is the thing my daughter and I built our evenings around: she picks a photo, records a few seconds of her own voice, says one sentence, and gets an illustrated bedtime story that reads itself back in her voice. It had gotten better three times since that parent installed it. Her phone knew about none of it.

Two version numbers, only one of them mine

Every build bumps a version code on its own. That is the number the store uses to compare builds against each other — it climbs quietly, and I never touch it. It is a counter for a machine.

The other number is the one a person can see, and it is manual. Go from 1.0.0 to 1.1.0 in the config file by hand, or ship a brand-new app that politely claims to be the old one.

One is automatic and invisible. The other is a promise to a human, and it is entirely my job. It is easy to forget which is which until a stranger tells you.

The app never says anything

LittleStory has no in-app banner that says an update is waiting. Neither do most apps, and now I understand why it matters. Once the build clears review — one to three business days — the store will offer the update. But the store page is somewhere people visit when they are installing something, not when they already have it.

So the update reaches the people who were curious. It does not reach the people who were happy. And the people who were happy are exactly the ones whose voice recordings I spent the month fixing.

A bedtime story has to be a habit

That is the part that changes the shape of the whole thing. A tool somebody opens once a month can wait for them to wander past it again. A bedtime story is a ritual — same hour, same bed, or it does not happen at all. If the fix that finally made the story sound like her arrives six weeks late, it arrives after the ritual broke.

So shipping stopped feeling like the finish line. It is now three steps I do the same way every time: change the code and test it locally, build the package, upload it and wait for review. Not because it is exciting. Because a version that only exists on my phone is a version nobody has.

The app will never announce itself. I just have to keep showing up at the same hour it does.

← Back to all posts