Back to blog

Building tinymissions: Why I Removed AI from the Critical Path

A local-first app, a deterministic recommendation engine, and one metric: seconds until play.

Chris Eberl

Chris Eberl

Founder • Engineering Leader, GenAI, Data, ML

Product EngineeringAug 1, 20266 min read
Building tinymissions: Why I Removed AI from the Critical Path

A funny thing happened while I was designing my next product. The more I thought about it, the less I wanted AI to be involved.

That probably sounds strange coming from someone who spends most of his day building AI-powered systems.

The original idea

It started with a simple observation. Parents don't actually struggle to find activity ideas. There are thousands of them. Pinterest has them. Instagram has them. Books have them. ChatGPT can generate an infinite number of them.

The problem isn't a lack of ideas. The problem is the few seconds between thinking "we should do something" and giving up because finding the right thing takes just a little too much effort.

That tiny amount of friction usually wins. The TV goes on. Everyone reaches for a phone. The moment disappears. I wanted to build software that removes that friction.

My first instinct was to use AI

Like many engineers in 2026, my first instinct was straightforward: use an LLM. Let it understand the situation. Generate the perfect activity. Easy.

Except every AI call introduces friction:

  • A network request
  • Latency
  • Cost
  • Another dependency
  • Another point of failure

And worst of all: the recommendation changes every single time. That felt wrong.

The product should disappear

After a few days of sketching ideas, I realized something. tinymissions shouldn't feel like an AI assistant. It should feel like a household utility.

When a parent opens the app, I don't want them to browse. I don't want them to prompt. I don't even want them to press "Start." I want them to read one sentence and begin.

Open it. Start playing.

That became the product principle. Everything else became secondary.

tinymissions activity screen showing Cushion Mountaintinymissions activity screen showing Mug Match
One activity, one sentence, one button. If it isn't the right fit, "Too calm", "Too wild" or "Later" nudges the next pick.

Local-first by design

Once I accepted that idea, the architecture became surprisingly simple. There is no backend in the MVP:

  • No accounts
  • No passwords
  • No cloud profile
  • No recommendation service
  • No vector database
  • No runtime AI request

The app ships with a carefully curated catalog of activities, and the recommendation engine runs entirely on the phone. It considers things like:

  • The child's age range
  • Time of day
  • Day of week
  • Recently completed activities
  • Locally learned preferences

That's enough. The app launches instantly. It works in airplane mode. It doesn't care whether my internet connection exists. And from a privacy perspective, it's refreshingly boring: the activity history never leaves the device.

tinymissions onboarding asking how many kidstinymissions onboarding asking the age rangetinymissions settings screen with household preferences
The whole setup is two taps, and every preference stays on the device.

AI still matters

This doesn't mean AI disappeared. It simply moved to where I think it belongs. Instead of generating activities while a parent is waiting, AI helps me build the activity catalog itself. I can generate variations, check readability, identify duplicates, translate, review safety, and expand coverage.

But every activity that ships becomes deterministic. The parent gets a polished experience instead of a fresh hallucination. AI becomes part of my editorial workflow — not the runtime experience.

My favourite metric

Most apps optimise for engagement: time in app, daily active users, session length. tinymissions optimises for something completely different — seconds until play.

If it takes longer than a few seconds to begin, I've already failed. Ironically, the best session is probably the shortest one. The parent opens the app, reads a sentence, and puts the phone away. Mission accomplished.

The MVP

The first version is intentionally small. One age selection. One activity. No dashboard, no endless browsing, no account, no cloud backend, no push infrastructure. Even reminders are scheduled locally on the phone.

The first five activities are free. After that, a simple subscription unlocks unlimited moments, widgets, local reminders, and ongoing content updates.

Sometimes the hardest engineering decision isn't choosing another technology. It's deciding what not to build.

Final thoughts

I've spent years building distributed systems, cloud architectures, media platforms, and AI solutions. This project reminded me that great software isn't always about adding more intelligence. Sometimes it's about removing everything that stands between a person and the thing they wanted to do in the first place.

tinymissions isn't trying to become another AI app. It's trying to become invisible. And I think that's a much more interesting engineering challenge.

You can follow the app at tinymissions.app, where I post new activity packs, release notes and the roadmap.

tinymissions.app — the official tinymissions websiteActivity packs, release notes and roadmap

Try tinymissions

A local-first activity app for parents. No account, no cloud, no wait. Just open it and start playing.

tinymissions.appApp StoreSoonGoogle PlaySoon

Download links will be added here once the app is available.

Read next

Newsletter

New posts, straight from Chris

A short note from me whenever a new article goes live — product engineering, AI workflows, IoT, indie apps, and engineering leadership. No spam, unsubscribe anytime.

By subscribing, you agree to our Privacy Policy. We do not share your email.