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.