ToddlerTones: offline, toddler-proof soundboard

Designing and building a distraction-free Android app in Kotlin/Compose with low-latency audio and a gentle 'Find it' game.

ToddlerTones hero image

Why I built it

I wanted something my toddler could enjoy without ads, network calls, or fiddly UI. The brief was simple: big tiles, instant sounds, and a guided way to learn words that feels like play.

Design constraints

  • Offline only. No analytics, no trackers, no surprise pop-ups.
  • Distraction-free. Full-screen, back button disabled, screen stays on.
  • Big, obvious tap targets. A 3×3 grid per page with next/prev controls—no vertical scroll.
  • Delightful motion. Quick press feedback and tiny "wins" without being noisy.

Interaction model

There are two modes:

1) Soundboard — tap a tile, hear the animal/vehicle. Each tile also has a short friendly sentence (e.g., "The duck says quack!"). 2) Find it — the app says, "Where is the duck?" You tap until you get it right. Misses get gentle feedback; success gets a tiny celebration.

The 'Find it' loop

  • Pick a random target from the current page.
  • Play "where-is-the" + target word.
  • Track wrong streaks; alternate feedback between "try again" and "that's not it."
  • After two misses, replay the target hint.
  • On success: confetti burst + a congratulatory voice line.

This tiny bit of structure turns a passive tap toy into vocabulary practice, and kids love the feedback cycle.

Audio architecture

  • Short effects (animal sounds) use SoundPool for low latency.
  • Spoken words and phrases use MediaPlayer from assets/words/<name>.wav with a res/raw fallback.
  • A simple cache keeps repeat taps snappy.

Compose and motion

The UI is Jetpack Compose + Material 3. Tiles use press-state animations (tilt/scale/translate) and the hero header gently bobs. Nothing is gratuitous; the goal is clarity, not spectacle.

Toddler-proofing details

  • Immersive sticky mode; back button disabled to avoid accidental exits.
  • No scrolling lists; big pages with explicit navigation.
  • Consistent placement and iconography so kids don't have to relearn.

What I'd ship next

  • More pages and categories (farm, jungle, vehicles, instruments).
  • Simple parental settings (volume cap, auto-lock time).
  • Optional text labels for early readers.

Download APK

I built ToddlerTones to be boring in all the right ways: fast, predictable, and safe. If you have ideas or a kid-tested wishlist, I'd love to hear it.