Some of my family recently immigrated to the US from China, so they don't speak much English. To connect more deeply with them, I've been trying to learn Chinese. In doing so, I've dug into just about every Chinese learning tool in existence. What I noticed is that while there's good resources for practicing consuming (reading/listening) Chinese, there's a dearth of resources for practicing producing Chinese. While reading is the most important way to study Chinese, it's not sufficient. As any American-born Chinese knows, being able to understand Chinese doesn't mean you can speak it. It's quite easy to develop a huge gap between what you can understand and what you can speak. I needed to close my gap, so I built an app to help hone my speaking ability.
What about Duolingo?
When people try learning Chinese, or any language, they often start with Duolingo. I think this is unfortunate for two reasons:
Duolingo is not optimized for Chinese. It's pretty good for English, Spanish, French and German, which is what it was originally designed for. But the further you get from those romance languages, the more Duolingo falls short. For Chinese, you need new designs to clarify things like pinyin, tone, unfamiliar grammar structure, and character breakdowns. Instead, Duolingo tries to reuse as much code as possible from easier languages.
Duolingo is optimized more for the illusion of progress than actual progress. If you were to break down the skills you practice on Duolingo and how much time you spend on each one, you'd notice that most of your time is not spent performing active recall of Chinese, but in mindless tasks like unscrambling English sentences.
If you want Duolingo's gamified experience for Chinese, there is a nearly identical app that's significantly better optimized for Chinese: HelloChinese. But if you're sufficiently motivated that you don't need gamification, I recommend using Du Chinese and Shuo Chinese.
WIP
This app (and this article) is a work in progress.