← Back to After hours

InkChinese

A Chinese read-along app I built for my 6-year-old, with a curriculum grounded in reading research.

React, TypeScript, Python, SQLite, hanzi-writer

Shipped2026 · iPad

An iPad reading app for kids who hear Chinese at home but are just learning to read it. It follows a real textbook's sequence, and every story is a short lesson in four steps: listen, write, read aloud, review.

The story in the video is 门上的春联, recorded with a test profile. The app is private to my family, behind a Google sign-in.

The problem

My 6-year-old hears and speaks Chinese at home but is only starting to read it. That is the typical profile of a heritage learner in the US: a large spoken vocabulary and weak literacy. Research on US Chinese–English bilingual children finds that speaking tracks conversation at home, while reading tracks exposure to print and practice with a phonetic script (Ke, Xia & Zhang, 2023).

So the bottleneck is not vocabulary. It is connecting characters to the sounds and meanings the child already knows. Flashcards teach characters without a story, and audiobooks tell the story without asking the child to do anything. I wanted short lessons a child can finish alone, in words they already say, that build reading one character at a time.

The lesson: four steps

Every story is a lesson in four steps, shown as four buttons at the top of the screen. A step opens only after the one before it is done.

  1. 听 Listen. A natural Mandarin voice reads each page while the characters light up one by one, then the page turns itself.
  2. 字 Characters. The lesson's new characters come up on a practice grid, on the page where they appear, and the child writes each one stroke by stroke with a finger or an Apple Pencil.
  3. 读 Read. The child reads the page aloud. Speech recognition follows along character by character; if the child is stuck, the character pulses, and after a pause the app says it and moves on.
  4. 复 Review. Five mixed questions: pick the character you heard, complete a word from the lesson, fill the blank in a sentence from the lesson, and write a character from memory. Four out of five passes.

Why these steps: what the research says

Before designing anything I read the research on how children learn to read Chinese, and rated how strong each finding was. Each step answers a specific finding.

How the curriculum is built

The catalog is the hard part of a reading app, and most of the work went into rules for writing and placing stories.

Follow a real textbook. The spine is 暨南大学《中文》, a series used in many overseas weekend Chinese schools. Its five volumes are the app's five levels, with required textbook lessons in the book's own order. Companion stories sit in optional units after them. Finishing every required lesson at a level unlocks the next level's lessons and stories. Optional stories never hold a child back.

Two lists per level. Each volume has a list of characters it explicitly teaches (the 生字表: 133 in volume 1, 275 cumulative by volume 2) and a larger set of characters that actually appear in its reading texts (236 in volume 1, 433 cumulative by volume 2). Lessons teach and test from the first list. New stories are written within the second, so the language stays natural without going beyond what the child has met.

A coverage rule for every new story. Comfortable independent reading needs roughly 95–98% of the words to be known (Hu & Nation, 2000; widely used, though debated). Companion stories target 98% of characters from the level's list, with a hard floor of 95% of all character occurrences and 95% of distinct characters. That second floor stops a story from hiding new characters behind lots of easy repetition. A level 1 story may use at most one character from outside the list and a level 2 story at most two, each one declared with its word and meaning and supported by audio or the picture.

Length and sentence limits by level.

Level 1 story Level 2 story
Body length 10–50 characters 51–160 characters
Distinct characters at most 30 at most 60
Longest sentence 12 characters 24 characters
Story shape one familiar scene, repetition with a small change one goal or problem, 2–3 actions, a visible outcome
Comprehension check who or what; match an action order the events; explain one cause stated in the text

Review is built into the writing. Each story picks 3–5 characters already taught, uses them naturally 2–4 times, and they come back across 3–5 stories. A page holds at most 16 characters.

Page turns follow the story, not the punctuation. Each page is one meaningful moment: an action, a discovery, a change of feeling. A setup and its reveal go on different pages, and a reaction stays with the action it belongs to. Stories are storyboarded and read aloud before any art or narration is made.

What this is not. These limits are my editorial choices, informed by the research above and checked against how my own child reads. They are not published proficiency thresholds, and a review by teachers and native speakers is still to come.

Features

How it's built

The hardest part

Getting every page to agree with itself. Many Chinese characters have more than one reading, and the pinyin, the narration, the tap-to-hear clip and the quiz all have to use the reading that fits this sentence. A full audit of the catalog corrected the readings in nearly 200 books, and the rule now is to annotate the whole story before it is split into pages, so a page break never loses the context.