My daughter asked for an app. I said yes — on one condition.
Every kid asks their programmer parent to build them something eventually. This time I actually did — a daily English vocabulary app. There was a catch.
The deal: I build it, you use it every day.
My daughter had asked for something like this for a while. Fine — but not another app that gets opened twice and forgotten. If I was going to spend the time building it, the condition was simple: it gets used daily, no exceptions.
The real problem behind the request: she'd learned the alphabet, but couldn't functionally read or spell in English yet. She didn't need more grammar rules — she needed practical vocabulary, repeated often enough to actually stick.
A 6-step practice chain, not a flashcard app.
Every word goes through the same sequence, in order, so a word isn't "known" until it's survived all six angles on it — not just recognized once and ticked off.
How the sequence builds
- 0 · Introduction — picture, written word, and spoken audio together, no scoring yet
- 1 · Listening → meaning — hear the word, pick the matching picture, no text shown
- 2 · Meaning → word — see the Thai translation, choose the right English word from three options
- 3 · Reading → meaning — see the written word alone, pick the matching picture
- 4 · Seeing → spelling — see the picture, type the English word from scratch
- 5 · Seeing → speaking — say the word out loud, record it, and play it back next to the native pronunciation to judge it herself
Step 5 didn't work the way it was supposed to at first: browser speech recognition on Android Chrome turned out to be unreliable for a Thai accent, often just staying silent instead of scoring anything. Rather than fake a "correct/incorrect" verdict it couldn't actually give, it now records her attempt, plays it back right next to the real pronunciation, and lets her decide 👍 or 🔁 herself — which ended up more honest, and more stable across every phone in the house.
Weak or overdue words come back more often than ones she already knows — real spaced repetition, not a random shuffle. On top of that: a Thai/English UI switch (the vocabulary itself never translates, only the interface does), a confetti hit every five correct answers in a row, and a range picker for the 101-word Numbers module so she isn't drawing randomly from all of them at once.
The deal is enforced automatically, every night.
Every evening at 20:00, a Telegram message lands in my phone — one section per child, broken down by module and by minute: "Numbers: 12 min, 8/10 correct", that kind of line, repeated for every module she touched that day, plus the two or three words she's still struggling with. If she didn't open the app at all, it says so too — "Hasn't practiced anything today 😴" — because the deal only works if there's no quiet way around it.
Tell me who
it's for.
Kids, staff training, language practice — describe who needs to actually use it daily, and I'll tell you what it would take to make that happen.