All work

Read Chinese

A mobile app, in development, for learning Chinese by reading real books with help on every word and sentence.

Read Chinese home screen, course screen, and a lesson exercise on iPhone

Overview

Graded readers and flashcard apps only take a Chinese learner so far. Reading real books is where vocabulary and grammar stick, but it means constantly stopping to look up words, guess at word boundaries, and untangle sentence structure, and most tools don't connect that reading back to practice.

Read Chinese turns any EPUB into a study environment: tap-to-define words, AI sentence breakdowns, a conversation tutor, and practice generated from the words you save.

It's in development, started in late September 2026 with Expo, targeting iOS first.

What it does

Reading real books

  • Import EPUB books, with reading progress saved
  • Optional tone-marked pinyin and word spacing
  • Tap any word for its definition and HSK level

Sentence analysis

  • English translation of a selected passage
  • Part-by-part breakdown with pinyin and grammatical role
  • Grammar notes

Conversation tutor

  • Replies in simplified Chinese at around HSK 4
  • Models corrections of the learner's mistakes
  • Weaves in saved words

Practice

  • Personal exercises generated from saved words and phrases
  • A course with five exercise types

Motivation

  • Daily XP goals and XP for active reading time
  • Streaks with a weekly freeze

How it's built

A reader that understands Chinese

EPUBs are parsed into chapters with jszip and fast-xml-parser. Chinese text is segmented into words, pinyin comes from pinyin-pro, and definitions come from CC-CEDICT, which is downloaded on first launch and cached on the device. A bundled HSK 3.0 word list has 11,000 entries.

Trusting AI-generated lessons

A wrong word, reading, or meaning in an exercise is costly for a learner. OpenAI responses are constrained by strict JSON schemas, every generated exercise is checked against CC-CEDICT, and a second AI validator pass reviews it before use.

Local today, synced later

Everything is stored on the device for now. Each feature lives in its own module, and AsyncStorage, SecureStore, and the file system are reached only through repository interfaces. Records already carry ids, timestamps, soft deletes, and schema versions, so a sync backend can replace local storage without touching feature code.

Course content checked by script

Course content is versioned and validated by script against the dictionary.

Have an app idea like this?

Tell me about it on a free 30-minute call. You'll leave knowing what to build first and what it would cost.