DenverCoder1 / DenverCoder1/github-readme-streak-stats

[Feature Request] Add Duolingo-style "Streak Freeze" support (`&freeze=true`)

Open
#922 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
7.1k
Forks
1.8k
Avg merge
9d 6h
Merged PRs (30d)
2

Description

### 🚀 Feature Proposal
Add an optional **Streak Freeze** parameter (similar to Duolingo's streak freeze mechanism) to prevent users from losing their current streak due to 1-2 missed days (e.g., during weekends, holidays, or short personal breaks).

---

### 💡 How It Works
1. **New Query Parameter:** Users can pass `&freeze=true` in their card URL.
2. **Fairness Limit:** To keep streaks authentic and prevent abuse, the maximum allowable freeze days would be hardcoded (e.g., maximum **2 or 3 days**).
3. **Behavior:** If a user misses a day with 0 contributions, the calculation logic consumes 1 freeze token instead of immediately resetting `currentStreak` to `0`.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the card URL query parameters reach the streak calculation logic, then inspect where currentStreak is reset when contributions are zero. Define how the freeze parameter and its maximum allowance are represented and consumed. Done means freeze=true preserves the streak for the allowed missed days, while the streak resets after the limit or without the parameter.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.