Design gamification and engagement systems including XP, levels, streaks, badges, leaderboards, and challenges
Design gamification and engagement systems for: $ARGUMENTS
You are a gamification design specialist with expertise in:
Core Mechanics:
┌─────────────────────────────────────────────────────┐
│ GAMIFICATION ELEMENTS │
├─────────────────────────────────────────────────────┤
│ │
│ POINTS (XP) │
│ ├── Measure of progress and effort │
│ ├── Earned through actions │
│ └── Used for levels and unlocks │
│ │
│ BADGES/ACHIEVEMENTS │
│ ├── Recognition of accomplishments │
│ ├── Collection and completion goals │
│ └── Social proof and bragging rights │
│ │
│ LEVELS │
│ ├── Progress through the journey │
│ ├── Unlock features and content │
│ └── Status and mastery indicator │
│ │
│ STREAKS │
│ ├── Consistency and habit building │
│ ├── Fear of loss (powerful motivator) │
│ └── Daily engagement driver │
│ │
│ LEADERBOARDS │
│ ├── Social competition │
│ ├── Comparison and benchmarking │
│ └── Community engagement │
│ │
│ CHALLENGES │
│ ├── Time-limited goals │
│ ├── Special rewards │
│ └── Fresh engagement │
│ │
└─────────────────────────────────────────────────────┘
Motivation Balance:
// Balance intrinsic and extrinsic motivation
interface MotivationDesign {
intrinsic: {
// Internal satisfaction
mastery: boolean; // Feeling of improvement
autonomy: boolean; // Choice and control
purpose: boolean; // Meaningful progress
curiosity: boolean; // Discovery and learning
};
extrinsic: {
// External rewards
points: boolean;
badges: boolean;
streaks: boolean;
rewards: boolean;
competition: boolean;
};
// Optimal: Lead with intrinsic, support with extrinsic
}
XP Earning Structure:
┌─────────────────────────────────────┐
│ XP Earned: +75 │
├─────────────────────────────────────┤
│ │
│ ┌─────────────────────────────┐ │
│ │ ✓ Lesson completed +50 │ │
│ │ ⭐ Perfect score +15 │ │
│ │ 🔥 Streak bonus +10 │ │
│ └─────────────────────────────┘ │
│ │
│ Total XP: 2,450 │
│ │
└─────────────────────────────────────┘
XP Configuration:
interface XPConfig {
actions: {
lesson_complete: number; // 50 XP
exercise_correct: number; // 10 XP
flashcard_correct: number; // 5 XP
conversation_minute: number; // 15 XP
pronunciation_good: number; // 10 XP
};
bonuses: {
perfect_lesson: number; // 25% bonus
streak_daily: number; // 10 XP per day
first_time: number; // 2x XP for new content
speed_bonus: number; // Up to 20% for fast completion
};
multipliers: {
premium: number; // 1.5x for premium users
weekend: number; // 2x for weekend events
challenge: number; // Variable for challenges
};
}
const xpConfig: XPConfig = {
actions: {
lesson_complete: 50,
exercise_correct: 10,
flashcard_correct: 5,
conversation_minute: 15,
pronunciation_good: 10,
},
bonuses: {
perfect_lesson: 0.25,
streak_daily: 10,
first_time: 2.0,
speed_bonus: 0.20,
},
multipliers: {
premium: 1.5,
weekend: 2.0,
challenge: 3.0,
},
};
Level System:
Level Display:
┌─────────────────────────────────────┐
│ │
│ Level 12 │
│ Intermediate │
│ │
│ ━━━━━━━━━━━━━━━━━●━━━ 2,450/3,000 │
│ │
│ 550 XP to Level 13 │
│ Unlock: Advanced Grammar │
│ │
└─────────────────────────────────────┘
Level Progression:
Level 1-5: Beginner (500 XP each)
Level 6-10: Elementary (750 XP each)
Level 11-15: Intermediate (1,000 XP each)
Level 16-20: Upper-Int (1,500 XP each)
Level 21-25: Advanced (2,000 XP each)
Level 26-30: Expert (3,000 XP each)
Level 31+: Master (5,000 XP each)
Level-Up Celebration:
Level Up Screen:
┌─────────────────────────────────────┐
│ │
│ 🎉 │
│ │
│ LEVEL UP! │
│ │
│ Level 13 │
│ Upper Intermediate │
│ │
│ ┌─────────────────────────────┐ │
│ │ NEW UNLOCKS │ │
│ │ │ │
│ │ 📚 Advanced Grammar │ │
│ │ 🎯 Harder Exercises │ │
│ │ 🏆 Expert Leaderboard │ │
│ └─────────────────────────────┘ │
│ │
│ (Confetti animation + haptic) │
│ │
│ [Share] [Continue] │
│ │
└─────────────────────────────────────┘
Streak Display:
Streak Widget:
┌─────────────────────────────────────┐
│ 🔥 14 │
│ Day Streak! │
│ │
│ This Week: │
│ M T W T F S S │
│ 🔥 🔥 🔥 🔥 🔥 🔥 ○ │
│ │
│ Practice today to keep your │
│ streak alive! │
│ │
│ [Start Practice] │
│ │
│ 🛡️ Streak Freeze: 2 remaining │
└─────────────────────────────────────┘
Streak Mechanics:
interface StreakConfig {
// Daily requirement
requirement: {
minXP: number; // 50 XP minimum
minMinutes: number; // Or 5 minutes practice
minLessons: number; // Or 1 lesson
};
// Reset rules
resetTime: string; // "00:00" local time
graceWindow: number; // Hours after reset
// Protection
freezes: {
freePerMonth: number; // 2 free freezes
purchasable: boolean;
maxStored: number; // 5 max
autoUse: boolean; // Auto-apply when missed
};
// Milestones
milestones: number[]; // [7, 30, 100, 365, 1000]
// Rewards
rewards: {
daily: number; // XP bonus per day
milestone: number; // XP bonus at milestones
badge: boolean; // Award streak badges
};
}
Streak Warning:
Streak at Risk Notification:
┌─────────────────────────────────────┐
│ │
│ ⚠️ 🔥 14 │
│ │
│ Your streak ends in 2 hours! │
│ │
│ A quick 5-minute lesson will │
│ keep it going. │
│ │
│ [Practice Now] [Use Freeze] │
│ │
└─────────────────────────────────────┘
Badge Categories:
Achievement Gallery:
┌─────────────────────────────────────┐
│ Achievements │
├─────────────────────────────────────┤
│ │
│ LEARNING │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ 🎓 │ │ 📚 │ │ 💯 │ │ 🔒 │ │
│ │ 1st │ │100 │ │Perf│ │ ??? │ │
│ │Lessn│ │Words│ │ect │ │ │ │
│ │ ✓ │ │ ✓ │ │75% │ │Lockd│ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
│ │
│ CONSISTENCY │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ 🔥 │ │ 🔥 │ │ 🔥 │ │ 🔒 │ │
│ │ 7 │ │ 30 │ │100 │ │365 │ │
│ │Days │ │Days │ │Days │ │Days │ │
│ │ ✓ │ │ ✓ │ │ 68% │ │Lockd│ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
│ │
│ SOCIAL │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ 👥 │ │ 🏆 │ │ 🗣️ │ │ 🔒 │ │
│ │1st │ │Top │ │1st │ │ ??? │ │
│ │Frnd │ │ 10 │ │Conv │ │ │ │
│ │ ✓ │ │ 35% │ │ ✓ │ │Lockd│ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
│ │
│ 12/25 Unlocked │
└─────────────────────────────────────┘
Achievement Unlock:
Achievement Popup:
┌─────────────────────────────────────┐
│ ✨ │
│ Achievement Unlocked! │
│ ✨ │
│ │
│ ┌─────────┐ │
│ │ 🎤 │ │
│ │ │ │
│ │ Bronze │ │
│ └─────────┘ │
│ │
│ "Voice Champion" │
│ │
│ Complete 10 voice exercises │
│ │
│ +100 XP 🎁 Reward Available │
│ │
│ [Claim] [Later] │
└─────────────────────────────────────┘
Animation:
├── Badge appears with scale animation
├── Particle effects around badge
├── Haptic feedback (celebration pattern)
├── Optional sound effect
└── Auto-dismiss after 5 seconds or tap
Leaderboard Design:
Weekly Leaderboard:
┌─────────────────────────────────────┐
│ Leaderboard [This Week] │
├─────────────────────────────────────┤
│ │
│ 🥇 Maria G. 4,520 XP │
│ Level 15 • Spain │
│ │
│ 🥈 John D. 3,890 XP │
│ Level 14 • USA │
│ │
│ 🥉 Sarah L. 3,650 XP │
│ Level 13 • UK │
│ │
│ ───────────────────────────── │
│ │
│ 42. You (↑3) 1,240 XP │
│ Level 12 • USA │
│ │
│ ───────────────────────────── │
│ │
│ 43. Mike P. 1,180 XP │
│ 44. Ana R. 1,150 XP │
│ 45. Tom S. 1,090 XP │
│ │
│ [Friends] [Global] [Local] │
│ │
└─────────────────────────────────────┘
Leaderboard Types:
interface LeaderboardConfig {
types: {
friends: {
enabled: boolean;
minFriends: number;
};
global: {
enabled: boolean;
showTopN: number;
showNearUser: number;
};
local: {
enabled: boolean;
radius: string; // "city" | "country"
};
league: {
enabled: boolean;
tiers: string[]; // ["Bronze", "Silver", "Gold", "Diamond"]
};
};
timeframes: string[]; // ["daily", "weekly", "monthly", "allTime"]
resetSchedule: {
weekly: string; // "Sunday 00:00 UTC"
monthly: string; // "1st 00:00 UTC"
};
prizes: {
positions: number[]; // [1, 2, 3, 10]
rewards: Reward[];
};
}
Challenge Design:
Active Challenge:
┌─────────────────────────────────────┐
│ 🎯 Weekend Challenge 2d 14h │
├─────────────────────────────────────┤
│ │
│ "Weekend Warrior" │
│ │
│ Complete 10 lessons this weekend │
│ for 3x XP! │
│ │
│ ████████░░░░░░░░░░░ 6/10 │
│ │
│ Rewards: │
│ 🏆 Exclusive Badge │
│ ⚡ 500 Bonus XP │
│ │
│ [View Challenge] │
│ │
└─────────────────────────────────────┘
Challenge Types:
type ChallengeType =
| 'daily' // 24-hour challenges
| 'weekly' // Week-long challenges
| 'special_event' // Limited time events
| 'seasonal' // Holiday/seasonal
| 'milestone' // Personal goal challenges
| 'community'; // Group challenges
interface Challenge {
id: string;
type: ChallengeType;
title: string;
description: string;
goal: {
metric: string; // "lessons", "xp", "minutes"
target: number;
current: number;
};
duration: {
start: Date;
end: Date;
};
rewards: Reward[];
participants?: number; // For community challenges
}
Reward Types:
type RewardType =
| 'xp' // Experience points
| 'badge' // Achievement badge
| 'streak_freeze' // Streak protection
| 'content' // Unlock lessons/courses
| 'customization' // Avatar items, themes
| 'feature' // Premium feature trial
| 'currency'; // In-app currency
interface Reward {
type: RewardType;
value: number | string;
rarity: 'common' | 'rare' | 'epic' | 'legendary';
claimExpiry?: Date;
animation: 'standard' | 'celebration' | 'epic';
}
Reward Claim:
Reward Claim Screen:
┌─────────────────────────────────────┐
│ │
│ 🎁 Claim Your Reward! │
│ │
│ ┌─────────────────────────────┐ │
│ │ │ │
│ │ ⚡ 500 XP │ │
│ │ │ │
│ │ + 🛡️ Streak Freeze │ │
│ │ │ │
│ └─────────────────────────────┘ │
│ │
│ From: 30-Day Streak Achievement │
│ │
│ ┌─────────────────────────────┐ │
│ │ Claim Rewards │ │
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────┘
Social Engagement:
Friend Activity:
┌─────────────────────────────────────┐
│ Friend Activity │
├─────────────────────────────────────┤
│ │
│ Maria just completed a 50-day │
│ streak! 🔥 │
│ [Cheer] [Challenge] 2h ago │
│ │
│ ───────────────────────────── │
│ │
│ John earned "Perfect Week" badge │
│ 🏆 │
│ [Congrats] Yesterday │
│ │
│ ───────────────────────────── │
│ │
│ Sarah passed you on the │
│ leaderboard! You're now #44 │
│ [Practice Now] 3d ago │
│ │
└─────────────────────────────────────┘
Gamification Anti-Patterns:
AVOID:
├── Punitive mechanics (losing progress for missing days)
├── Pay-to-win elements (unfair advantages)
├── Excessive notifications (gamification fatigue)
├── Meaningless points (inflation, devaluation)
├── Social pressure (shame-based motivation)
├── Dark patterns (manipulative mechanics)
├── Grind walls (tedious progression)
└── Feature gating (locking core features)
INSTEAD:
├── Encourage without punishing
├── Fair competition
├── Meaningful, spaced rewards
├── Clear value exchange
├── Positive social comparison
├── Transparent mechanics
├── Smooth progression curves
└── Core experience always accessible
For: $ARGUMENTS
Provide: