About Mandarin Stack
Why this exists
There are great apps for learning Mandarin, but no single one matched the way I wanted to study: read graded stories, drill stroke order on the characters that gave me trouble, and have a TTS reader I could paste anything into. So I started building the pieces, and decided to leave them in the open in case they help someone else.
Everything here is a real personal tool — if it gets in my way, I rebuild it; if I don't use it, I take it out. That's a slower way to grow a site, but I think the result is more honest than a feature list chasing other apps.
What's here
Stories
Short HSK-graded stories with line-by-line literal and natural translations, plus inline pinyin.
Reader
Paste any Chinese text and get an annotated reading: inline pinyin, line-by-line TTS, save for later.
Writer
Stroke-order practice with built-in HSK / radical / shufa decks. Installs as a full offline app on iOS and Android.
Flashcards
Quick SRS-style drills over any deck you build in the Writer plus the bundled HSK / radical library.
Dictionary
Full offline CC-CEDICT lookups in three directions — Chinese ↔ English plus tone-agnostic pinyin search.
Translator
Sentence-level 中文 ↔ English running entirely in your browser via Mozilla's Bergamot engine. One-time model download then fully offline.
How it works
Offline first
Every page is cached the first time you visit. Once installed as a home-screen app, the whole stack works without a connection.
Pure static site
No backend, no accounts, no tracking beyond a privacy-respecting pageview counter. Built with jingxian, served by GitHub Pages.
Your data stays with you
Decks, readings, settings — all stored in your own browser. Nothing is sent to a server. Export anytime, import anywhere.
Built with
- jingxian — the static site generator powering this site
- Bootstrap 5
- Hanzi Writer for stroke order animations
- pinyin-pro for fallback pinyin
- CC-CEDICT for the offline dictionary
- Bergamot wasm + Mozilla Firefox Translations models for offline translation
- Browser SpeechSynthesis for TTS
Get in touch
Drop into the Discord to chat about Chinese learning, suggest features, or share what's working for you. If you'd rather DM, X works too.