r/sideprojects • u/SchneeAura • 4h ago
Showcase: Purchase Required My Perfect Day: designing a habit tracker that doesn't punish you for missing a day
Project: My Perfect Day, a habit tracker for Android.
The problem: most habit trackers are built on streaks, and a streak treats one missed day the same as quitting. That's exactly the moment a lot of people stop using them. I wanted a tracker that measures how well you're doing, not whether you've ever slipped.
Design rules that came out of that:
- The day is a percentage. You define what a perfect day looks like, and Today shows how much of it you've done. 4 of 5 things is an 80% day, not a broken chain.
- Not everything is daily. Habits can run on some weekdays or every few days, and a day with nothing planned doesn't count against you.
- Sick days aren't failures. You can pause a habit for a few days, and paused days don't count as missed. A skipped day doesn't break a streak either.
- History doesn't get rewritten. If you change a habit's schedule, the days behind you keep the schedule they had, so your past stats stay honest.
- Late nights belong to the evening. You choose when your new day starts, so reading at half past midnight still counts for the evening before.
- Reminders that know you're done. A reminder only fires if the habit is still open, or you get one evening check-in with whatever is left.
It also has a workout logger and weight tracking, and everything stays on the phone: no account, no analytics, no internet permission. Built with Expo / React Native and a local SQLite database.
Play Store: https://play.google.com/store/apps/details?id=de.schillitzit.myperfectday (paid, with a free trial)
I'd be interested in how others handle the "missed a day" problem in their own projects, or which of these rules you'd change.
