EdTech UX: how do you design a learning app?
EdTech UX is the user experience of learning apps and education platforms. The goal is for learners to move forward a little every day and to see that on screen. A good learning app never takes back a finished lesson and gives learners who take a break an easy way back. It designs for learners, parents and teachers as separate user groups.
In short
A single question measures a learning app’s success: do learners come back tomorrow? However good the content is, an app that isn’t opened teaches nobody anything.
Learning is slow work, and the result only shows after weeks. That’s why, in EdTech, the interface’s job is to make invisible progress visible. While doing that, it must not make users feel guilty.
When I review a learning app, I first check how quickly the first lesson starts. If sign-up, a placement test and permission dialogs follow one after another, the learner is worn out in the first minute. I cover this topic on the page for the onboarding pattern.
Progress indicators
The progress indicator tells learners where they stand and how much is left. A line like “Fractions, 8 of 20 lessons” says more than an abstract label like “Level 3”.
In my own projects, I stick to these rules:
- Progress doesn’t go backwards. A finished lesson counts as finished. If the course bar shrinks because someone took a week off, it feels as if their effort has been erased.
- Small steps are visible. A course with twenty lessons is far away; the next five-minute lesson is close. Both should be on screen together.
- Review is kept separate from progress. Having learners review what they’ve forgotten is good. But it shouldn’t appear as “Your progress has dropped”; it should appear as “Let’s refresh this”.
- The result is visible right away. As soon as the lesson ends, learners see what they’ve gained. Sherwin and Nielsen write that children want instant gratification. According to them, children are quick to judge a website and leave if it doesn’t work.
Also avoid showing too many numbers at once. If points, badges, levels and a streak are on the same card, learners can’t tell what matters. That is a cognitive load problem.
Streaks and motivation
A streak is a counter that shows how many days in a row someone has done something. In learning apps, it’s one of the most common motivation tools.
The clearest study I have read on this is the article by Jackie Silverman and Alixandra Barasch, published in 2023 in the Journal of Consumer Research. Across seven studies, the authors found that people who see an intact streak highlighted in a log continue the behaviour more than people who see a broken streak highlighted.
Two findings from the article matter for design. If users attribute the break in the streak to themselves, the difference grows compared with external causes. If a broken streak can be repaired, the difference weakens.
According to the authors, the effect doesn’t depend on actual past behaviour, only on how it is shown in the log. I read it like this: a streak is a strong tool, but it can lose users on the day it breaks. Good streak design therefore designs the moment of breaking too.
- The streak and lesson progress are separate counters. Even when the streak resets, finished lessons are kept, and the screen says so.
- The message when the streak breaks doesn’t blame. Instead of “You lost your streak”, it says “You can start again tomorrow; your 9 lessons are kept”.
- There is a protection you set up in advance: the streak freeze. If someone is sick or travelling, they can take a break without breaking the streak.
- The goal is chosen together with the users. Not everyone can learn every day; four days a week is a valid goal too.
You can try this difference in the demo below. First skip a day with the freeze off, then turn it on and do the same.
- Monday: Done
- Tuesday: Done
- Wednesday: Done
- Thursday: Today
- Friday: Up next
- Saturday: Up next
- Sunday: Up next
Streak freeze is off. Freezes left this week: 1.
Without JavaScript, only the starting state is shown: today is Thursday, the streak is at 6 days, and 8 lessons of the course are done.
The app and the course are fictional. Do the lesson or skip a day, then turn on the streak freeze and try the same. Even when the streak resets, course progress never goes back. There is one freeze per week.
What I watch for in the demo: even when the streak resets, the course bar doesn’t move. And the message names the lessons that are kept.
When streak pressure becomes manipulation
The same mechanism can also work against users. Notifications that frighten people just before midnight with “Your streak is about to go” or screens that only restore a broken streak for payment are examples. Turning fear into revenue is one of the manipulative patterns I describe in the guide to dark patterns.
My line is simple: freezes and repairs exist to protect learning. If they are sold for money, there should at least also be a free option you can set up in advance. In a product for children, this sale shouldn’t exist at all.
The balance with notifications
In a learning app, a notification is the shortest way to call learners back to the lesson. Too many have the opposite effect: users turn off all notifications and sometimes delete the app too.
Alita Kendrick’s article at NN/g gives some concrete rules. Provide value before asking users to receive your app’s notifications. Tell them what the notifications will be about.
According to the article, if you have more than five notifications that you would send at once, combine them into a single message. Notification settings should sit in an easy-to-find place in the app. In the same article, Kendrick cites a study from Telefonica Research in Spain: the average mobile phone user received 56 notifications a day.
In a learning app, I strike the balance like this:
- At most one reminder a day, at a time the users choose.
- The reminder says something useful: “The next fractions lesson takes 5 minutes.”
- Homework notifications from the teacher and marketing notifications can be turned off separately.
- In a child’s account, the parents manage the notification settings.
In the NN/g article on children’s cognition, Feifei Liu writes that children are more vulnerable to attractive games. According to her, children can easily develop addictions to games or apps. Liu recommends that designers consider the benefits of parental controls, such as a limit on continuous play time and rest breaks.
Child, parent and teacher
A school or children’s app has at least three users, and each has a different question. If you squeeze all three questions onto one screen, you answer none of them well.
- LearnerWhat do I do now? Did I get it right?
- ParentHow far along is my child? How long were they on screen?
- TeacherWho in the class is stuck? Who do I assign what?
Figure: the same product, three different questions. I wrote the questions from my own observation.
Child
In their 2019 NN/g article on children’s UX, Katie Sherwin and Jakob Nielsen don’t treat ages 3 to 12 as one group. The article distinguishes three groups: 3–5, 6–8 and 9–12 years. Even content for children one school grade below or above their own level drew negative reactions.
According to the same article, the youngest children don’t read at all, slightly older ones read tentatively and older children scan. Children skip long blocks of instructions. They can’t tell advertising from real content and struggle to interpret error messages.
On the physical side, the article says that young children like large, simple actions. According to the article, until around age 9, children in the U.S. and China largely preferred touchscreens and trackpads to a mouse and keyboard. For the size of tap targets, see the tap target page.
For font size, the recommendation is 14 point for young children and 12 point for older ones. Sherwin and Nielsen also note that children are slow typists. That’s why it’s fairer to let young children pick an answer instead of typing it.
Parent
Parents pay and grant permissions, but they usually don’t use the app every day. A short weekly summary is enough for them: what the child learned and where they got stuck.
Sherwin and Nielsen recommend putting links for parents in a text-only footer, where children are less likely to click them. For the same reason, payments and settings shouldn’t pop up in front of the child.
Teacher
Of the three users, the teacher has the least time. The class screen should show first who needs help; the score list can move to the background. I see this screen like a dashboard: at first glance, it should allow a single decision.
The flow for assigning work should be short too. The teacher chooses the lesson, the class or the learners, and the due date. The most recently used settings are preselected, so you don’t start from scratch with every assignment.
What learners see and what the teacher sees should come from the same data. If the learner’s screen says “done” and the teacher’s panel says “not submitted”, neither side trusts the product.
Accessibility
A class also includes learners with visual, hearing, attention or reading difficulties. If a platform chosen for schools excludes these learners, the problem lands on teachers and parents.
The WCAG 2.2 criteria I come across most often on EdTech screens:
| Criterion | Level | What it means in a learning app |
|---|---|---|
| 1.4.1 Use of Color | A | Done and missed days in the calendar differ not only by green and red; there is also text or a symbol. |
| 2.2.1 Timing Adjustable | A | In a timed test, the time can be turned off, extended or adjusted; the exceptions are listed in the criterion. |
| 4.1.3 Status Messages | AA | The message “Lesson done” reaches the screen reader without moving focus. |
The W3C’s explanation of 2.2.1 has an example close to education. A third party can control the time limit for the user, for example by granting double time on a test. That’s why a setting for extra time per learner is useful in the teacher’s panel.
I built the calendar in the demo to these criteria. Each day’s state is also there as text, and after each action the result is announced to the screen reader. I cover the other criteria in the WCAG guide.
Using it without internet
Learners may want to do their lesson on the bus or on a phone that has run out of data. If the app shows a blank screen without a connection, that day’s lesson falls through, and the streak breaks.
Mustafa Kurtuldu and Thomas Steiner’s article on web.dev gives a good checklist for this. Be clear about what options you’re providing, and disable only what needs a connection, like an online store that can be browsed offline but disables pricing and the Buy button until the connection is back.
Queue the work done without a connection and sync it once the connection returns. Tell users what will happen, as in the article’s example: “Messages will be sent when the network is restored.” Before a large download, show the file size.
The authors also say that the word “offline” often isn’t clear enough, and recommend language that describes what the user is actually doing. “This lesson is on your phone and opens without internet too” is clearer than an “Offline mode” label.
I add one rule specifically for EdTech: a lesson finished without internet should count toward the streak and progress with that day’s date. A product that breaks the streak because the sync only happened the next day punishes its most loyal users.
What to measure
The EdTech teams I work with usually track daily active users and streak length. These numbers show that the app is being opened, not that learning is happening.
I add two measures. First, how the share of correct answers in finished lessons changes over time. Second, how many learners come back in the week after a streak breaks.
The second measure is the test of your streak design. If users quietly disappear after a broken streak, the counter isn’t motivating; it’s frightening. Testing a change such as the freeze or a friendlier message with an A/B test helps here.
My note
A mistake I often see in education products: motivation tools become an end in themselves. The team tracks streaks and badges and doesn’t check whether learners are really learning. A long streak can also be built with easy lessons.
My rule is: every gamification element should be tied to a learning outcome. The streak is there to protect the habit of practising. The simplest way to check this is a usability test with a few learners, where you ask how they feel on the day the streak breaks.
When I review an education product in an end-to-end audit, I try the flows for learners, parents and teachers one by one. And I switch the phone to airplane mode and finish a lesson without internet.
Questions
Is it right to use a streak in a learning app?
If it’s built well, yes. According to Silverman and Barasch’s 2023 study, people continue a behaviour more when an intact streak is highlighted than when a broken one is. But the moment of breaking needs designing too: there should be a way to freeze or repair the streak, and finished lessons must not disappear.
What should I watch for in an app for children?
NN/g recommends not treating ages 3 to 12 as one group: 3–5, 6–8 and 9–12 years are designed for separately. Keep instructions short and tap targets large. Because children can’t tell advertising from content, there should be no ads on screen. Payments and settings are for parents.
How many notifications should a learning app send a day?
There is no fixed number. I recommend at most one reminder a day, at a time the users choose. NN/g advises combining more than five simultaneous notifications into one message and offering the settings in the app.
Should a learning app work without internet?
If your learners study with a weak connection, yes. At least downloaded lessons should open without internet. Once the connection is back, the results are synced, and the streak counts for the day the lesson was finished.
Sources (9)
- Jackie Silverman, Alixandra Barasch, On or Off Track: How (Broken) Streaks Affect Consumer Decisions, Journal of Consumer Research. accessed November 4, 2026; 2023, volume 49, issue 6, pp. 1095–1117; seven studies
- CU Boulder Leeds School of Business, On or Off Track: How (Broken) Streaks Affect Consumer Decisions. accessed November 4, 2026; April 19, 2023; summary of the article
- Katie Sherwin, Jakob Nielsen, Children’s UX: Usability Issues in Designing for Young People, Nielsen Norman Group. accessed November 4, 2026; January 13, 2019; ages 3–12, three age groups
- Feifei Liu, Designing for Kids: Cognitive Considerations, Nielsen Norman Group. accessed November 4, 2026; December 16, 2018; parental controls
- Alita Kendrick, Five Mistakes in Designing Mobile Push Notifications, Nielsen Norman Group. accessed November 4, 2026; November 18, 2018; timing of the request, combining, settings
- Mustafa Kurtuldu, Thomas Steiner, Offline UX Design Guidelines, web.dev. accessed November 4, 2026; November 10, 2016
- W3C, Understanding Success Criterion 1.4.1: Use of Color. accessed November 4, 2026; WCAG 2.2, A
- W3C, Understanding Success Criterion 2.2.1: Timing Adjustable. accessed November 4, 2026; WCAG 2.2, A; example of extra time on a test
- W3C, Understanding Success Criterion 4.1.3: Status Messages. accessed November 4, 2026; WCAG 2.2, AA