Consider a user-friendly 'streak'
- Dominant language
- Rust
- Stars
- 30.5k
- Forks
- 3.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 72
Description
Some users like to use third-party add-ons to track their 'streak' to provide motivation/keep them honest. I've resisted adding such a feature up until now, because the existing implementations can be toxic - users get overly disappointed when they miss a day for some reason, and feel inclined to do things like set the date back in time and/or do single-card reviews to maintain their streak.
I think a better approach would be something that averages performance out over time, and allows for low/off days. Preferably where the user decides the bar they want to set, perhaps guided by their daily workload amount. And maybe a rolling average, so that bad past performance doesn't lead to users getting stuck in a hole?
Contributor guide
Research direction
No files, tests, or entry points are named. Start by clarifying the desired streak metric, configurable bar, and rolling-average behavior before locating the relevant application code. Done would mean an agreed design and an implemented, tested user-facing feature.
Written by the indexing model from the issue text.
Assessment
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100