Feature Spotlight: The Streak System in Tutorial Haven

What It Is

🔥 42

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

❄️ 3 Freezes Available
🔥 42 Day Streak
🏆 Longest: 67 Days

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

GET /missions/daily/ → { "streak": 42, "freezes": 3, "longest": 67 }

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.

📅 Routine → Ritual 🔥 Consistency rewarded ❄️ Grace built in

📊 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.