Back home

Duolingo for programmers

Is this actually like Duolingo?

Genuinely, in some ways. Not in others. Here is the honest comparison before the pitch.


What actually transfers

Four things carry over cleanly. The daily habit: a skill stays sharp when you show up in small doses often, rather than in long sessions rarely, and that is true whether you are learning Spanish vocabulary or trying to remember how a JavaScript closure actually captures a variable. The short session: five minutes has a completion rate that thirty minutes does not, because there is no moment where you get to decide today is not the day.

Spaced repetition: the thing you are about to forget is the thing that should show up next, not the thing you already know cold. And the streak: a visible counter that resets if you skip a day is a surprisingly effective way to get an adult to keep doing something they already believe is good for them.

Unrot borrows the mechanics, not the brand. Nothing here suggests Duolingo built it, endorsed it, or has any connection to it. The comparison is descriptive, because it is the fastest way to explain the shape of the product to someone who has never seen it.

The mechanics, mapped

A track is the rough equivalent of a language: Python, React, SQL, instead of Spanish or French. A concept group is a skill-tree unit inside it, a themed cluster of related ideas rather than one isolated fact. A daily session is a lesson: a handful of short tasks instead of one long one. A single task is an exercise, and it comes with an explanation whether you get it right or wrong, the same way a wrong answer in a language app tells you the correct translation instead of just marking it red.

Concept mastery decays the way a crown level does when you stop practicing a language, and it is shown that way on purpose, dimming visually rather than just quietly expiring somewhere in a database. The one mechanic with no equivalent is hearts or lives. There is nothing here that runs out and locks you out of practicing for the day. Every track, every feature, every session is free, and there is no energy meter to manage or wait out.

Where the comparison breaks

Vocabulary and grammar are closed, well-defined skills. There is a right answer for what a given sentence means, and once you know it, you know it. Software engineering is not that. Knowing what a closure is does not mean you can design a system that holds up under real traffic, and no amount of flashcards teaches you how to structure a codebase that five other people also have to work in.

Nobody debugs a production incident at 2am using multiple-choice questions. Nobody decides how to shard a database, or whether a queue belongs in front of a slow downstream service, by picking the right option out of four. Those are judgment calls built from experience, false starts, and a working memory of how the last three systems you touched actually failed. A daily quiz can keep the underlying concepts from going stale. It cannot hand you the judgment in the first place.

If you are learning to program from zero, this is not the tool for that, and pretending otherwise would not do you any favors. Project-based learning wins for a true beginner: build a small app, break it, fix it, read other people's code, get stuck on something that takes an afternoon to untangle. That struggle is where real understanding of software gets built, and a daily quiz does not replace it.

The narrow thing this is actually good for

Spaced repetition and short daily sessions are good at maintenance, not acquisition. Something you already learned and are not actively using decays in a specific, well-studied way, fast at first, then slower, and a short review at the right moment resets the clock cheaply. That is a much narrower claim than teaching someone to code, and it happens to describe a real and growing problem.

The person this fits best already has years of experience and is watching an AI assistant write more of their code every month. The syntax they used to type without thinking is now something they read and approve. The debugging instinct that used to fire automatically gets a little slower to trigger when the first draft of every function already shows up written.

That case gets the full treatment on the page for experienced developers.

Why people search for this in the first place

Most people typing some version of this search already have a working mental model of Duolingo and are trying to figure out, in one glance, whether the same trick works on something as unstructured as programming. It is a fair question, and the honest answer is a qualified yes: the trick works on the parts of programming that behave like vocabulary, the syntax, the standard library functions, the rules you either remember or you do not. It stops working the moment the question requires taste rather than recall.

What a session actually looks like

You pick a track you already know something about, JavaScript, Python, SQL, whatever you use or used to use, tell it honestly how rusty you are, and get five short tasks a day: a mix of concepts due for review and new ground in that track. No hearts, no energy system, nothing that punishes you for missing a day beyond the streak resetting.

The full mechanics, including how difficulty and the review schedule actually work, are on the how it works page.

Browse the full catalog on the tracks page before you decide.

Questions people actually ask

Is this affiliated with Duolingo?

No. The comparison is descriptive, about the mechanics, not a claim of any relationship, sponsorship, or endorsement.

Will this teach me to program from scratch?

No, and it should not try to. Build projects for that. Come back once you have something worth keeping sharp.

Who is this actually for?

People with existing experience in a language or framework who are not using it enough to keep it fresh, especially anyone who has noticed an AI assistant doing more of the typing lately.

See what the narrow version actually looks like.

Start a free session