The App I Wished Existed

Hongya Cave, Chongqing, November 2024
Hongya Cave, Chongqing, November 2024

In my last post, I told the story of how I fell in love with China and started studying Chinese. This post is about the tools I studied with, and the app I built because none of them was quite what I needed.

The apps I tried came in two flavors.

First, there are the all-in-one programs like Duolingo and Jumpspeak and SuperChinese. They're perfectly decent at what they do: you show up, and you study whatever the app has scheduled for you. But that's the whole arrangement. There's no way to set your own priorities, like drilling food vocabulary before a trip. There's no way to build a personal phrasebook of things you want to study. And there's no way to follow your curiosity: these apps keep you moving down a fixed track, and they're great at keeping you moving, but the track never bends to follow you.

Then there are the dedicated dictionaries and flashcard apps. References like Pleco and Skritter are packed with useful information, but every lookup is a dead end: you find your word, and the trail stops there. And flashcard apps like Anki treat every card as an island. They don't know that 海 (hǎi, "sea") shares a radical with 河 (hé, "river"), or that mastering a whole phrase teaches you something about every character inside it. They count your reps and schedule your reviews, faithfully and well, but that's all the information they have to work with.

To be clear, both flavors deserve real credit. A daily streak builds a daily habit, and showing up is half the battle in language learning: duiduidui! displays your streaks too, they're just not the star of the show. Spaced repetition is some of the best-tested science in education, and it's part of the foundation our own study engine builds on. I was inspired by what all of those tools got right, and then I layered in some ideas of my own, informed by my last few years of studying Chinese. Because a learning platform also needs to model the language itself. And it needs to model the jagged frontier of your mastery: the characters you know cold, the words you half-know, and the expressions you're one step away from unlocking.

I couldn't find an app that did all of that. So I built it.

duiduidui! treats Chinese the way the language actually works: as one giant, gloriously interconnected web. Every character links to the words it builds and the radicals it's built from. Every character and word comes with sample sentences, and you can listen to the pronunciation of any of them. And behind it all, the app maintains a real model of what you know, notices what you're ready for next, and lets you wander off to explore whenever something catches your eye, without ever losing the thread of your studies.

Remember the curiosity problem? When I first learned about the water radical 氵 and realized it was hiding inside 汤 (tāng, "soup") and 海 and 河 and 200+ other characters, I wanted to chase that thread through the whole language, and no app would let me. In duiduidui!, chasing that thread is the whole point: the radical links to every character that contains it, and every character links to every word and phrase it appears in.

The dictionary also speaks the language people actually use today. The textbook vocabulary is all there, but so is the living language of group chats and night markets and family dinner tables: a comprehensive corpus of slang words, expressions, and sample sentences, including a whole lot of internet slang, more than 1,500 slang records in all. And because a living language never stops moving, the dictionary is in constant flux: as the language evolves, and as we flesh out our corpus of idioms, we continuously publish new dictionary versions that make subtle improvements.

That's the app I wished existed. As of today, it does: duiduidui! is available on the App Store.

If you'd like to see how deep this goes, I've written up the whole approach in plain English on the Why It Works page, and published the full mathematics behind the study engine. And there's plenty more to explore across the features pages.