What It Is
A visual streak counter that tracks consecutive daily logins, with freeze power-ups to maintain streaks through missed days.
Designed to build consistent learning habits through gamification.
📍 Where It Appears
Daily Missions Page
Full streak card with current streak, longest streak, freeze count, and share button
Header/Navigation
Compact flame icon and streak count visible on every page
Dashboard
Integrated with user profile and learning metrics
Activity Feed
Streak milestones appear in social timelines
Share Modal
Users can share achievements externally
❄️ Freeze Power-Ups
Power-ups prevent streak resets when users miss a day—building consistency without punishment.
⚙️ How It Works Technically
Automatic Tracking
Streak updates trigger via GET /missions/daily/ API call on login
Backend Logic
def update_streak(user):
last_login = user.last_login_date
today = date.today()
if last_login == today - timedelta(days=1):
# Consecutive day
user.current_streak += 1
elif last_login < today - timedelta(days=1):
# Missed day - check freezes
if user.freezes_available > 0:
user.freezes_available -= 1
# Streak preserved
else:
user.current_streak = 1
# Streak reset
user.last_login_date = today
user.save()
Admin Control: Full oversight through Django admin interface
✨ Key Features
Visual Progress
Clear streak counter with flame iconography
Grace Mechanism
Freezes prevent punitive resets
Social Integration
Shareable achievements and activity feed visibility
Persistent Display
Always-visible reminder in navigation header
Operational Control
Admin tools for monitoring and adjustments
🎯 Share Modal Example
💭 Design Philosophy
The system makes consistency rewarding without being punishing.
By integrating across multiple touchpoints (missions, header, dashboard, social feeds), it turns daily login from a routine into a ritual—celebrating small wins while building long-term learning habits.
📊 Streak Milestones in Activity Feed
🔥 John reached a 30-day streak! 🎉
🔥 Sarah used a freeze to save their 50-day streak ❄️
🔥 Michael is on a 7-day streak - keep going!
💡 The Core Insight
The best habit-building systems don't just track progress—they provide grace for human imperfection. Freezes acknowledge that life happens, while keeping students engaged with the larger goal of consistent learning.