Adaptive games
Letters, counting, and finger tracing. Difficulty moves up or down automatically from each child’s answers, and look-alike letters such as b, d, p, and q are used as distractors on purpose.
Case study · Personal project
Learning app for children
A learning app for early learners, guided by parents: letters, numbers, tracing, and early reading in a playful experience that keeps working without a stable connection.
Role: Product design, full-stack build, and content direction, together with AI coding assistants
Offline-first
games and progress run on the device
4
stages in the reading adventure
8
adaptive levels in the letters game
Parent-led
dashboard, daily limit, and consent
Why I built it
Young children learn best in short, playful sessions, and parents want to see what is actually working. I wanted an app that keeps running without a stable connection, never shows a “fail” screen, and gives the parent clear visibility, so the adult stays in the loop instead of handing over a tablet.
Letters, counting, and finger tracing. Difficulty moves up or down automatically from each child’s answers, and look-alike letters such as b, d, p, and q are used as distractors on purpose.
Forest of letters, sound bridge, word world, then short stories. Each word is highlighted in sync with the voice, followed by a picture-based comprehension question.
Cilu, a layered-SVG mascot with 12 customization slots and 52 items. Every mission earns 1–3 stars (never zero), plus a daily streak and 13 stickers. There is no ranking between children.
A learning path per game and category, today’s activities, printable progress reports, a daily play limit, and an assessment that suggests a starting level. One account can hold several child profiles.
Parent consent is part of onboarding, designed with Indonesia’s personal data protection law in mind. Linking a child profile to another adult needs approval from the profile’s owner.
Progress lives in the browser database, pages are cached by a service worker, and voice clips are packed into one file that is played from memory.
A wrong answer gets a friendly hint and a retry. After a second miss the right answer pulses. There is never a fail screen.
Five correct answers in a row move a child up; repeated misses move them down. Weak items return more often, mixed with a review question.
Setup, limits, and reports belong to the parent. The child gets a simple, large, voice-guided screen.
Learning should not stop when the connection does.
Each game is a self-contained module with the same interface (init, start, destroy). Adding a game means one config entry, one view, and one module.
Stars are stored as transactions and the balance is computed, so offline play and later syncing cannot lose or duplicate rewards.
Avatar items, stickers, levels, letters, and stories live in catalogs, so new content does not need changes to the core code.
Voice-over clips ship as a single pack per voice instead of hundreds of separate audio requests, with the device voice as a fallback.
Click a screenshot to enlarge
Next case study
Affiliate content automation