Skip to content
Muhamad Aminuloh
Back to portfolio

Case study · Personal project

Cilukba

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.

In developmentLaravel 13Alpine.jsTailwind CSS 4ViteIndexedDBService WorkerSocialite

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.

What I built

1

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.

2

4-stage reading adventure

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.

3

Mascot and rewards

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.

4

Parent dashboard

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.

5

Consent and privacy

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.

6

Offline-first

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.

Design principles

Mistakes are safe

A wrong answer gets a friendly hint and a retry. After a second miss the right answer pulses. There is never a fail screen.

Small steps

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.

The parent stays in the loop

Setup, limits, and reports belong to the parent. The child gets a simple, large, voice-guided screen.

Works anywhere

Learning should not stop when the connection does.

Under the hood

  1. Games as modules

    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.

  2. Stars as a ledger

    Stars are stored as transactions and the balance is computed, so offline play and later syncing cannot lose or duplicate rewards.

  3. Content as data

    Avatar items, stickers, levels, letters, and stories live in catalogs, so new content does not need changes to the core code.

  4. One voice pack

    Voice-over clips ship as a single pack per voice instead of hundreds of separate audio requests, with the device voice as a fallback.

Screens

Click a screenshot to enlarge

Customize Cilu with the stars a child earns
Letters game: listen, look, then choose
Tracing numbers and letters with a finger
Sound bridge: build syllables from letters
Story adventure with picture questions
Parent dashboard home
Learning path per category
Today’s activities and play time
Daily play limit and settings
  • Status: in development. Progress is currently stored on the device; syncing it to the server is still on the roadmap.
  • Screenshots use a demo account with a fictional child profile.
  • Character illustrations and voice clips were created with AI tools, and the app is built together with AI coding assistants (Claude Code and Codex). Asset licensing will be reviewed before any public release.