I can't stop adding features to the app no one asked for

Last week I built Vocaboo — a vocabulary quiz app for my daughter. Six hours of vibe coding. Problem solved. Ship it.

I can't stop adding features to the app no one asked for

Last week I built Vocaboo — a vocabulary quiz app for my daughter. Six hours of vibe coding. Problem solved. Ship it.

That was supposed to be the end.

It wasn't.


The danger of fun projects

Once something works, you start noticing what could work better.

"What if the app spoke the words out loud?"
"What if typos didn't count as wrong?"
"What if I could see her practicing in real-time?"

Before I knew it, I'd spent another couple of hours adding features to an app with exactly one user.


What's new

Text-to-speech

The app now speaks every word. Click the speaker icon and hear the pronunciation. My daughter uses it to check if she's saying words correctly — turns out "through" and "though" sound nothing like she thought.

Typo tolerance

Duolingo doesn't mark you wrong for typing "teh" instead of "the". Now Vocaboo doesn't either. The Levenshtein distance algorithm catches small typos and accepts them with a gentle "almost correct" message.

Real-time activity

I can see when she's practicing — live. A small panel shows active sessions, current progress, and scores as they happen. Is this helicopter parenting or legitimate interest? I choose not to answer.

Background music

Lo-fi study beats play during practice. Because apparently vocabulary drills need ambiance now.

Better imports

The scan feature now tracks import history. I can see which word lists came from photos, which from CSV uploads, and assign them to different users.


The vibe coding trap

Here's the thing about low-friction development: it removes the natural stopping point.

When building something took days, you'd ship the MVP and move on. The cost of "one more feature" was high enough to enforce discipline.

With AI-assisted coding, that friction is gone. Adding text-to-speech took an hour. Typo tolerance took thirty minutes. Each feature felt too small to skip.

The result? An overengineered vocabulary app that my daughter loves and will probably outgrow in six months. 😄


Was it worth it?

Objectively? Probably not. I could have spent those hours on Dotmap, which actually needs users.

Subjectively? Absolutely.

Building for someone you care about hits different. Every feature request came from watching her use the app. Every improvement made her experience better. There's no user feedback loop tighter than "Dad, can it do this?" followed by "Done, refresh the page."


The real lesson

The apps we build for ourselves — and the people we love — often become our best work. Not because they're the most complex or the most polished. But because we actually use them. We feel the friction. We care about the details.

Vocaboo will never have a hundred users. It doesn't need to.

It has one user who aced another vocabulary test this week.

That's enough.


Building something for someone you love? I'd love to hear about it. Sometimes the smallest projects teach us the most.

The app no one will ever use (except my daughter)
Last week, my daughter came home with a vocabulary list. Fifty English words. Test on Friday.