humancode.us

Streaks are bad for you

April 13, 2023

I’m convinced that streaks is an antipattern for healthy habits, and it is actually quite bad for you.

Streaks encourages perfectionism, and undervalues the progressive nature of growth. The goal of any good habit is not to do it every single day, but to do more of it over time.

Streaks punishes you for missing a day by throwing out all your accumulated progress so far—back to zero you go!—even when you have a perfectly wise reason to miss a day’s session. The loss of all your “progress” can be devastating, and people may do damage to themselves solely to keep a streak going.

Stop using streaks in your apps. Use a different metric that encourages growth, not perfection. Try a trailing tally with a target band instead (you did the activity 25 days out of the past 30! Good job!), or let your users view their progress on a calendar without any metric at all, and let them judge for themselves how well they did.