January 31, 2017 Rewriting Duolingo's engine in Scala by André Kenji Horie 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