All articles

  1. Rewriting Duolingo's engine in Scala

    Recently, we profoundly refactored the engine that drives Duolingo lessons. This post talks about our engineering choices, experiences, and the pain points of rewriting a highly complex system.

    Highlights:

    • Redesigned architecture
    • Refactored code from Python to Scala
    • Latency dropped from 750ms to 14ms
    • Engine uptime increased from 99.9% to ...

    Read more…

  2. How we learn how you learn

    At Duolingo, our goal is to make language learning fun and effective. We think the best education should be full of play, so we're constantly developing new features that make learning new things — and practicing old things — feel like a game! At the same time, we're serious about taking a scientific, data-driven approach to all of our products, and about sharing what we learn with the world. In this post, we'll take a look at the science behind the Duolingo skill strength meter, which we published in an Association of Computational Linguistics article earlier this year....

    Read more…

  3. For which courses do students make the most progress?

    Everybody learns at their own pace and Duolingo learners are no exception. Some Duolingo users study a few lessons per day on their way to work, right before bed or whenever they have a free moment. On the other hand, there are users who complete the course in a few short days, like this motivated Duolingo user who completed the Esperanto course only six days after it was launched! But is there a pattern to the amount of progress Duolingo users make based on the course they’re taking? If so, for which courses do we see users make the most progress? Can this tell us anything about our users? And what other factors contribute to the amount of progress made?

    Read more…

Page 1 / 2 »