Duolingo's Code Is Full of Engagement Ideas. Here Are 7 Worth Copying.

Words by

Kaine Shutler

A flame made of glowing orange and yellow code characters on a dark background of code

TL;DR

Key takeaways

  • A developer who decompiled Duolingo's Android app found engagement built from small features: reminders timed to your routine, a check before interrupting you, and messages that rotate until one works.

  • Training platforms can use the same ideas: time reminders to each learner's routine, help learners who are struggling, flag learners who are slowing down, and use streaks that allow a missed day.

  • Each idea needs learner-level activity data, control over messaging and a way to test changes. A custom LMS can be built to provide all three.

A developer who posts as @ayoships recently decompiled Duolingo's Android app and shared what he says he found in the code (Instagram). It reads like a list of engagement ideas: reminders timed to when you get home, a check before interrupting you, and messages that change until one works.

The video is unverified, commenters dispute how he got the code, and it covers Android only. But much of it matches what Duolingo has published about its own methods, with results.

Here are seven ideas from it that a training business could build into its own platform. The code snippets are simplified recreations based on the field names in his video. They aren't Duolingo's actual code.

Why engagement is worth designing

Most online learners don't finish. A study of Harvard and MIT courses on edX found that 3.13% of learners completed in 2017-18. Among learners who paid for a verified certificate, 46% completed (Inside Higher Ed, on research published in Science).

For a training business, each learner who stops is a customer who didn't get the result they paid for, a certificate that wasn't issued, or a renewal that's harder to win. Duolingo designs for this, and it averaged 58.7 million daily active users in the second quarter of 2026 (Duolingo Q2 2026 shareholder letter).

1. Remind learners when they're free to learn

According to the video, the app records a coded fingerprint of each Wi-Fi network it sees and how often it sees it. The network it sees most is probably your home, so it can send a practice reminder when you get there.


On your platform: you can time reminders to each learner's routine with far less personal data. Send them at the time a learner usually logs in, after a shift ends, or the evening before a scheduled session.

2. Check before you interrupt

The video shows the app checking whether your phone is on silent, vibrate or normal before sending some notifications.


On your platform: let learners set quiet hours, send in their time zone, and skip reminders during working shifts. A reminder that arrives mid-shift is easy to dismiss.

3. Rotate the message and keep what works

The app reportedly switches between reminder types and learns which ones you respond to.


This is the part Duolingo has published. A 2020 research paper describes a system that picks each learner's daily reminder, avoids repeating recent messages and favours the ones that bring people back. In a two-week test, it increased daily active users by 0.5% and new-learner retention after 7 days by 2% (Duolingo Research).

On your platform: write several reminder types (progress so far, an upcoming deadline, what peers have completed, a new lesson), rotate them, and track which ones bring each learner back. Keep a small group who get no change, so you know the reminders are working.

4. Notice when a learner is struggling

The video lists the signals the app collects each day, including wrong answers and whether the app crashed since your last visit.


On your platform: several wrong answers in a row or a failed assessment can trigger an easier practice set, a hint or a message from a tutor. Errors and crashes should alert your team, because a learner who hits one may not come back.

5. Track how learners arrive

The same signals record whether you opened the app from a notification, a widget, a shortcut or the icon.

On your platform: record whether each learner came from an email, a push notification, a calendar invite or a direct visit, and send more of what works. If you have a mobile app, a home-screen widget showing today's lesson gives learners another way in.

6. Spot who is slowing down

The headline finding is a daily score for each user: the probability they'll open the app tomorrow, stored next to yesterday's figure.


On your platform: you don't need a prediction model to start. A rule based on days since last login, lessons completed this week and recent wrong answers can flag learners who are slowing down. Send them a reminder, or show the list to a tutor. If you sell training to companies, their managers will want that list too.

7. Use streaks, and allow a missed day

Duolingo has published a lot about streaks. It says learners who reach a 7-day streak are 3.6 times more likely to complete their course, and that letting learners hold up to two streak freezes increased daily active learners by 0.38% (Duolingo). An earlier test that let learners bet in-app currency on keeping a streak raised retention after 7 days by 14% (Duolingo).

On your platform: count the consecutive days or weeks a learner meets a small goal. A weekly streak often suits CE or compliance learners better than a daily one. Add a freeze or weekend pass, so one missed session doesn't end a long streak.

What to leave out

Tracking learners' networks or devices. If your customers are hospitals, banks or regulated employers, their security and privacy reviews will ask what data you collect and why. Collect what you need to support learning, and be able to explain all of it.

Rewarding the game over the learning. A 2022 study of Duolingo users found that some became so focused on streaks, points and leaderboards that it hurt their learning and wasted their time (Learning @ Scale 2022). Reward completed lessons and passed assessments, not just logins. And if the course itself is weak, badges won't fix it.

Building these into your platform

Each idea above needs three things from your platform:

  • Learner-level activity data: logins, lesson progress and quiz attempts per learner, available to rules and reports.

  • Control over messaging: which message a learner gets, when, and on which channel, based on what they've done.

  • A way to test changes: show a new reminder or streak rule to some learners and compare them with the rest.

These are the kinds of features we design into the custom learning platforms we build, around how each client's learners study. For more ideas, see our guides to LMS gamification, leaderboards and automated email sequences, or how a redesign tripled learner engagement for one client.

Want ideas like these for your platform? Talk to our founder.

FAQ

How does Duolingo use gamification?

Duolingo uses streaks, streak freezes, leaderboards and personalised reminders to bring learners back each day. It tests changes to these features and measures how many learners return.

How do you increase learner engagement on a training platform?

Time reminders to each learner's routine, rotate the messages and measure which ones work, offer help when a learner struggles, and set short goals with a streak that allows a missed day.

Do streaks improve course completion?

Duolingo says learners who reach a 7-day streak are 3.6 times more likely to complete their course. It pairs streaks with small daily goals and streak freezes that cover a missed day.

What is learner retention?

Learner retention is the share of learners who keep returning to a course over time, usually measured as active after 1, 7 or 30 days.

Can you add Duolingo-style features to an LMS?

Yes, if the LMS gives you learner-level activity data and control over messaging. A custom LMS can include streaks, timed reminders and alerts for learners who are slowing down.

Kaine Shutler is the founder and managing director of Plume, a studio specialising in custom learning technology. With 14 years of experience, Kaine has established expertise in Learning Management Systems, UI/UX design, and scalability, working with clients including Google and training businesses across multiple sectors.

Duolingo's Code Is Full of Engagement Ideas. Here Are 7 Worth Copying.

Words by

Kaine Shutler

A flame made of glowing orange and yellow code characters on a dark background of code

TL;DR

Key takeaways

  • A developer who decompiled Duolingo's Android app found engagement built from small features: reminders timed to your routine, a check before interrupting you, and messages that rotate until one works.

  • Training platforms can use the same ideas: time reminders to each learner's routine, help learners who are struggling, flag learners who are slowing down, and use streaks that allow a missed day.

  • Each idea needs learner-level activity data, control over messaging and a way to test changes. A custom LMS can be built to provide all three.

A developer who posts as @ayoships recently decompiled Duolingo's Android app and shared what he says he found in the code (Instagram). It reads like a list of engagement ideas: reminders timed to when you get home, a check before interrupting you, and messages that change until one works.

The video is unverified, commenters dispute how he got the code, and it covers Android only. But much of it matches what Duolingo has published about its own methods, with results.

Here are seven ideas from it that a training business could build into its own platform. The code snippets are simplified recreations based on the field names in his video. They aren't Duolingo's actual code.

Why engagement is worth designing

Most online learners don't finish. A study of Harvard and MIT courses on edX found that 3.13% of learners completed in 2017-18. Among learners who paid for a verified certificate, 46% completed (Inside Higher Ed, on research published in Science).

For a training business, each learner who stops is a customer who didn't get the result they paid for, a certificate that wasn't issued, or a renewal that's harder to win. Duolingo designs for this, and it averaged 58.7 million daily active users in the second quarter of 2026 (Duolingo Q2 2026 shareholder letter).

1. Remind learners when they're free to learn

According to the video, the app records a coded fingerprint of each Wi-Fi network it sees and how often it sees it. The network it sees most is probably your home, so it can send a practice reminder when you get there.


On your platform: you can time reminders to each learner's routine with far less personal data. Send them at the time a learner usually logs in, after a shift ends, or the evening before a scheduled session.

2. Check before you interrupt

The video shows the app checking whether your phone is on silent, vibrate or normal before sending some notifications.


On your platform: let learners set quiet hours, send in their time zone, and skip reminders during working shifts. A reminder that arrives mid-shift is easy to dismiss.

3. Rotate the message and keep what works

The app reportedly switches between reminder types and learns which ones you respond to.


This is the part Duolingo has published. A 2020 research paper describes a system that picks each learner's daily reminder, avoids repeating recent messages and favours the ones that bring people back. In a two-week test, it increased daily active users by 0.5% and new-learner retention after 7 days by 2% (Duolingo Research).

On your platform: write several reminder types (progress so far, an upcoming deadline, what peers have completed, a new lesson), rotate them, and track which ones bring each learner back. Keep a small group who get no change, so you know the reminders are working.

4. Notice when a learner is struggling

The video lists the signals the app collects each day, including wrong answers and whether the app crashed since your last visit.


On your platform: several wrong answers in a row or a failed assessment can trigger an easier practice set, a hint or a message from a tutor. Errors and crashes should alert your team, because a learner who hits one may not come back.

5. Track how learners arrive

The same signals record whether you opened the app from a notification, a widget, a shortcut or the icon.

On your platform: record whether each learner came from an email, a push notification, a calendar invite or a direct visit, and send more of what works. If you have a mobile app, a home-screen widget showing today's lesson gives learners another way in.

6. Spot who is slowing down

The headline finding is a daily score for each user: the probability they'll open the app tomorrow, stored next to yesterday's figure.


On your platform: you don't need a prediction model to start. A rule based on days since last login, lessons completed this week and recent wrong answers can flag learners who are slowing down. Send them a reminder, or show the list to a tutor. If you sell training to companies, their managers will want that list too.

7. Use streaks, and allow a missed day

Duolingo has published a lot about streaks. It says learners who reach a 7-day streak are 3.6 times more likely to complete their course, and that letting learners hold up to two streak freezes increased daily active learners by 0.38% (Duolingo). An earlier test that let learners bet in-app currency on keeping a streak raised retention after 7 days by 14% (Duolingo).

On your platform: count the consecutive days or weeks a learner meets a small goal. A weekly streak often suits CE or compliance learners better than a daily one. Add a freeze or weekend pass, so one missed session doesn't end a long streak.

What to leave out

Tracking learners' networks or devices. If your customers are hospitals, banks or regulated employers, their security and privacy reviews will ask what data you collect and why. Collect what you need to support learning, and be able to explain all of it.

Rewarding the game over the learning. A 2022 study of Duolingo users found that some became so focused on streaks, points and leaderboards that it hurt their learning and wasted their time (Learning @ Scale 2022). Reward completed lessons and passed assessments, not just logins. And if the course itself is weak, badges won't fix it.

Building these into your platform

Each idea above needs three things from your platform:

  • Learner-level activity data: logins, lesson progress and quiz attempts per learner, available to rules and reports.

  • Control over messaging: which message a learner gets, when, and on which channel, based on what they've done.

  • A way to test changes: show a new reminder or streak rule to some learners and compare them with the rest.

These are the kinds of features we design into the custom learning platforms we build, around how each client's learners study. For more ideas, see our guides to LMS gamification, leaderboards and automated email sequences, or how a redesign tripled learner engagement for one client.

Want ideas like these for your platform? Talk to our founder.

FAQ

How does Duolingo use gamification?

Duolingo uses streaks, streak freezes, leaderboards and personalised reminders to bring learners back each day. It tests changes to these features and measures how many learners return.

How do you increase learner engagement on a training platform?

Time reminders to each learner's routine, rotate the messages and measure which ones work, offer help when a learner struggles, and set short goals with a streak that allows a missed day.

Do streaks improve course completion?

Duolingo says learners who reach a 7-day streak are 3.6 times more likely to complete their course. It pairs streaks with small daily goals and streak freezes that cover a missed day.

What is learner retention?

Learner retention is the share of learners who keep returning to a course over time, usually measured as active after 1, 7 or 30 days.

Can you add Duolingo-style features to an LMS?

Yes, if the LMS gives you learner-level activity data and control over messaging. A custom LMS can include streaks, timed reminders and alerts for learners who are slowing down.

Kaine Shutler is the founder and managing director of Plume, a UK-based agency specialising in custom learning technology. With 14 years of experience, Kaine has established expertise in Learning Management Systems, UI/UX design, and scalability, working with clients including Google and training businesses across multiple sectors.

Duolingo's Code Is Full of Engagement Ideas. Here Are 7 Worth Copying.

Words by

Kaine Shutler

A flame made of glowing orange and yellow code characters on a dark background of code

TL;DR

Key takeaways

  • A developer who decompiled Duolingo's Android app found engagement built from small features: reminders timed to your routine, a check before interrupting you, and messages that rotate until one works.

  • Training platforms can use the same ideas: time reminders to each learner's routine, help learners who are struggling, flag learners who are slowing down, and use streaks that allow a missed day.

  • Each idea needs learner-level activity data, control over messaging and a way to test changes. A custom LMS can be built to provide all three.

A developer who posts as @ayoships recently decompiled Duolingo's Android app and shared what he says he found in the code (Instagram). It reads like a list of engagement ideas: reminders timed to when you get home, a check before interrupting you, and messages that change until one works.

The video is unverified, commenters dispute how he got the code, and it covers Android only. But much of it matches what Duolingo has published about its own methods, with results.

Here are seven ideas from it that a training business could build into its own platform. The code snippets are simplified recreations based on the field names in his video. They aren't Duolingo's actual code.

Why engagement is worth designing

Most online learners don't finish. A study of Harvard and MIT courses on edX found that 3.13% of learners completed in 2017-18. Among learners who paid for a verified certificate, 46% completed (Inside Higher Ed, on research published in Science).

For a training business, each learner who stops is a customer who didn't get the result they paid for, a certificate that wasn't issued, or a renewal that's harder to win. Duolingo designs for this, and it averaged 58.7 million daily active users in the second quarter of 2026 (Duolingo Q2 2026 shareholder letter).

1. Remind learners when they're free to learn

According to the video, the app records a coded fingerprint of each Wi-Fi network it sees and how often it sees it. The network it sees most is probably your home, so it can send a practice reminder when you get there.


On your platform: you can time reminders to each learner's routine with far less personal data. Send them at the time a learner usually logs in, after a shift ends, or the evening before a scheduled session.

2. Check before you interrupt

The video shows the app checking whether your phone is on silent, vibrate or normal before sending some notifications.


On your platform: let learners set quiet hours, send in their time zone, and skip reminders during working shifts. A reminder that arrives mid-shift is easy to dismiss.

3. Rotate the message and keep what works

The app reportedly switches between reminder types and learns which ones you respond to.


This is the part Duolingo has published. A 2020 research paper describes a system that picks each learner's daily reminder, avoids repeating recent messages and favours the ones that bring people back. In a two-week test, it increased daily active users by 0.5% and new-learner retention after 7 days by 2% (Duolingo Research).

On your platform: write several reminder types (progress so far, an upcoming deadline, what peers have completed, a new lesson), rotate them, and track which ones bring each learner back. Keep a small group who get no change, so you know the reminders are working.

4. Notice when a learner is struggling

The video lists the signals the app collects each day, including wrong answers and whether the app crashed since your last visit.


On your platform: several wrong answers in a row or a failed assessment can trigger an easier practice set, a hint or a message from a tutor. Errors and crashes should alert your team, because a learner who hits one may not come back.

5. Track how learners arrive

The same signals record whether you opened the app from a notification, a widget, a shortcut or the icon.

On your platform: record whether each learner came from an email, a push notification, a calendar invite or a direct visit, and send more of what works. If you have a mobile app, a home-screen widget showing today's lesson gives learners another way in.

6. Spot who is slowing down

The headline finding is a daily score for each user: the probability they'll open the app tomorrow, stored next to yesterday's figure.


On your platform: you don't need a prediction model to start. A rule based on days since last login, lessons completed this week and recent wrong answers can flag learners who are slowing down. Send them a reminder, or show the list to a tutor. If you sell training to companies, their managers will want that list too.

7. Use streaks, and allow a missed day

Duolingo has published a lot about streaks. It says learners who reach a 7-day streak are 3.6 times more likely to complete their course, and that letting learners hold up to two streak freezes increased daily active learners by 0.38% (Duolingo). An earlier test that let learners bet in-app currency on keeping a streak raised retention after 7 days by 14% (Duolingo).

On your platform: count the consecutive days or weeks a learner meets a small goal. A weekly streak often suits CE or compliance learners better than a daily one. Add a freeze or weekend pass, so one missed session doesn't end a long streak.

What to leave out

Tracking learners' networks or devices. If your customers are hospitals, banks or regulated employers, their security and privacy reviews will ask what data you collect and why. Collect what you need to support learning, and be able to explain all of it.

Rewarding the game over the learning. A 2022 study of Duolingo users found that some became so focused on streaks, points and leaderboards that it hurt their learning and wasted their time (Learning @ Scale 2022). Reward completed lessons and passed assessments, not just logins. And if the course itself is weak, badges won't fix it.

Building these into your platform

Each idea above needs three things from your platform:

  • Learner-level activity data: logins, lesson progress and quiz attempts per learner, available to rules and reports.

  • Control over messaging: which message a learner gets, when, and on which channel, based on what they've done.

  • A way to test changes: show a new reminder or streak rule to some learners and compare them with the rest.

These are the kinds of features we design into the custom learning platforms we build, around how each client's learners study. For more ideas, see our guides to LMS gamification, leaderboards and automated email sequences, or how a redesign tripled learner engagement for one client.

Want ideas like these for your platform? Talk to our founder.

FAQ

How does Duolingo use gamification?

Duolingo uses streaks, streak freezes, leaderboards and personalised reminders to bring learners back each day. It tests changes to these features and measures how many learners return.

How do you increase learner engagement on a training platform?

Time reminders to each learner's routine, rotate the messages and measure which ones work, offer help when a learner struggles, and set short goals with a streak that allows a missed day.

Do streaks improve course completion?

Duolingo says learners who reach a 7-day streak are 3.6 times more likely to complete their course. It pairs streaks with small daily goals and streak freezes that cover a missed day.

What is learner retention?

Learner retention is the share of learners who keep returning to a course over time, usually measured as active after 1, 7 or 30 days.

Can you add Duolingo-style features to an LMS?

Yes, if the LMS gives you learner-level activity data and control over messaging. A custom LMS can include streaks, timed reminders and alerts for learners who are slowing down.

Kaine Shutler is the founder and managing director of Plume, a UK-based agency specialising in custom learning technology. With 14 years of experience, Kaine has established expertise in Learning Management Systems, UI/UX design, and scalability, working with clients including Google and training businesses across multiple sectors.

Plan your next learning platform with our founder

About Plume

As the leading custom learning platform provider serving training businesses in the US, UK and Europe, we help businesses design, build and grow pioneering learning tech that unlocks limitless growth potential.

Plan your next learning platform with our founder

About Plume

As the leading custom learning platform provider serving training businesses in the US, UK and Europe, we help businesses design, build and grow pioneering learning tech that unlocks limitless growth potential.

Plan your next learning platform with our founder

About Plume

As the leading custom learning platform provider serving training businesses in the US, UK and Europe, we help businesses design, build and grow pioneering learning tech that unlocks limitless growth potential.

Message or book a call to learn if we can help you