On the design · 7 min read · 2026-05-01
Why we don't use streaks.
Streaks are a retention metric. Math isn't. The longer version of why Koda doesn't ship a streak counter, what we use instead, and the honest counter-argument we keep watching.
The decision, in one paragraph.
Most kid-facing math products keep a streak — a daily-use counter that climbs as long as your child does at least one problem each day, and resets to zero the moment they miss. Streaks are spectacular at keeping people coming back. Duolingo's user research credits the streak as the single biggest driver of retention; Khan Kids, Prodigy, IXL, and almost every modern ed-tech app has imitated it. Koda doesn't have one. We thought hard about whether to ship a streak counter and decided against. This is the long version of why.
What a streak actually is.
A streak is a variable-reward loop wrapped around an asymmetric loss. The reward — the climbing number, the celebration animation, the "you did it!" — is small but reliable. The loss is the reset to zero, and it's emotionally heavier than the reward, because losing 47 days of accumulated effort feels much worse than gaining day 48 felt good. Behavioral-economics research on loss aversion has been pointing at this asymmetry for decades; it's also the engine of slot machines, social-feed scroll, and most modern consumer software's retention numbers. Streaks are not a neutral design choice. They're an applied piece of the operant-conditioning toolkit.
When the toolkit is pointed at adults trying to learn Spanish for travel, the trade-offs are mostly theirs to make. When it's pointed at an 8-year-old learning fractions, we think the trade-offs are different.
What it does to a child's relationship with math.
We've watched this pattern in our own families and the families we've talked to: a kid starts on a math app, gets a few days into the streak, and the relationship to the work shifts. "I have to do my math today" stops meaning "I'm learning multiplication" and starts meaning "I am protecting a number." Days where the math is interesting and days where the math is hard collapse into the same flat obligation: keep the streak alive.
Then something happens. A flu. A weekend trip without the tablet. A genuinely terrible day where the kid couldn't do one more problem if their life depended on it. The streak breaks. The number resets. The kid feels the loss — sharper than any of the small daily wins were ever sharp — and a meaningful percentage of those kids never come back. The app loses a customer. More importantly, the kid loses a relationship with math that they were, before the streak, just starting to build.
"Don't break your streak" is the tell. It's the line every streaked app eventually puts in front of the child, and it's a line we don't think a tutor should ever say.
Why ADHD kids are especially hit.
We wrote a longer post on the ADHD homework battle. The relevant detail here: the ratio of quitmoments to recommit moments is higher in an ADHD brain, because starting is harder. A streak is a system that forces the kid through that high-friction starting transition every single day, and that punishes them when they couldn't quite manage it. For a kid whose executive function is already running at the edge of its capacity, "do one more thing or lose 30 days of progress" is not a motivation mechanism. It's a tax.
The variable-reward loop has a second cost for these kids specifically: the dopamine spike from a costume reveal, a level-up, a streak milestone is much louder than the slow satisfaction of having understood something. Over weeks, the dopamine version starts to crowd out the understanding version. The kid keeps coming back to the app, but the relationship to the math underneath has been replaced by a relationship to the reward UI. We've named this pattern in the ADHD post as one of the five traps.
What we use instead.
Effort-tagged XP. The short version: Koda gives more XP for showing every step than for guessing the right answer. Asking for a hint earns XP, because asking for help is a smart move. Catching your own slip earns extra XP. Finishing a focus chunk earns XP, even if some of the answers in the chunk were wrong.
What XP doesn't do: it doesn't reset to zero. There's no daily counter. There's no streak. A missed day is just a missed day; the next session starts where the last one left off. The parent report your parent pulls from the portal tells them what your child worked on this week — not "your child broke their streak on Tuesday — get them back!"
This is a quieter design than streaks. We think that's the point. Math takes years; the relationship a child has with it should outlast any one app, and a tutor that's loud about the day-to-day is a tutor that's training the kid to be loud about the day-to-day too.
The honest counter-argument.
We're going to be specific here. Streaks really do drive retention. That's not a myth — Duolingo's published research and a long line of A/B-tested products in this category all point the same direction: a streak counter, paired with a loss-of-streak email, gets a meaningful chunk of kids to come back who otherwise wouldn't have. If we measured Koda by daily-return rate, we would lose to a streaked competitor. We're explicitly not measuring Koda by daily-return rate.
The case for streaks isn't "they're harmless." The case for streaks is "the retention boost they give the platform is worth the cost they extract from individual kids." We don't think that trade is one we want to make for an 8-year-old. We will keep watching the literature; if a careful longitudinal study shows that kids on streaked math apps end up with better long-term math attitudes than kids on non-streaked apps, we owe the field a serious rethink. As of today the literature points the other way — intrinsic motivation tends to get crowded out by extrinsic reward, the effect is larger in younger kids, and the tail-loss-on-streak-break is real — but we keep checking.
What this changes.
Concretely: Koda ships with no streak counter. No "11 days in a row" UI. No "don't break your streak" push notification. The parent report doesn't mention streaks; it tracks what your kid worked on, where they got stuck, and what's coming next. If your child takes a week off because of a vacation or an illness, nothing on Koda flags that as a problem. Koda just waits.
If you're a parent for whom the daily-use motivation question is real (a lot of homeschool parents tell us it is), the parent portal has a "remind me at X o'clock" toggle that buzzes your phone, not your child's avatar. That's a different mechanic — gentle, parent-driven, doesn't punish the kid — and we think it does the same useful work without any of the costs.
One last thing.
We've been asked, occasionally, whether we'd ever ship a streak. The honest answer is: probably not, but we don't make absolute promises about future product decisions. What we will promise is this: if we ever do, we'll write about it first. We won't slip a streak into the product as a "small UX improvement" buried in release notes. The decision will be loud, on-record, and we'll have to argue against this post.
For now, no streak.
If you want to read the related notes — on ADHD homework battles, on the silence-default supervisor, or on the broader list of things we deliberately don't run — those are linked. If you want to know when Koda ships, the waitlist is here. As ever, we'll write a few times. Total. From a real person.