XP and Leveling
Experience points (XP) are the core currency of progression in CodeJam. Earn XP by completing challenges, quests, and daily activities.User Schema
Your progression data is stored in theusers table:
convex/schema.ts
The by_xp index enables efficient leaderboard queries and rank calculations.
Earning XP
XP is awarded through various activities tracked by the activity log system.Activity Logging
Every XP-earning action is recorded:convex/activity.ts
Level Formula
Your level is calculated automatically:Every 1000 XP grants one level. There is no level cap!
XP Sources
Challenge Completion
Challenge Completion
Base XP varies by difficulty:
- Beginner: 100 XP (Syntax Smasher)
- Intermediate: 150-175 XP (Function Fury, Logic Labyrinth)
- Advanced: 200 XP (CSS Combat)
- Expert: 300 XP (Algo Arena)
Quest Completion
Quest Completion
Custom XP rewards per quest
- Tracked via
questsCompletedcounter - Increments with each activity log
- Contributes to overall progression
Daily Activities
Daily Activities
Bonus XP for consistent engagement
- First activity each day maintains streak
- Streak bonuses unlock badges
- Weekly XP charts track daily gains
Streak System
Streaks reward daily consistency and are central to progression.How Streaks Work
ThelastActiveDay field tracks your last activity date:
Streak Scenarios
Streak Milestones
Reaching streak milestones unlocks special badges:5 Day Streak
Unlock the 5 Day Streak badgeBadge ID:
streak-5Custom Streaks
Additional streak badges availableCheck the Achievements page
Weekly XP Tracking
ThegetWeeklyXP query powers your activity chart:
convex/activity.ts
This query returns an array of 7 numbers representing XP earned each day for the past week.
Activity Log Schema
All progression events are recorded:convex/schema.ts
Activity Types
Thetype field categorizes different activities:
- Challenge completion: e.g.,
"syntax-smasher","css-combat" - Quest completion: e.g.,
"quest-completed" - Special events: e.g.,
"daily-bonus","streak-milestone"
Quest Completion
ThequestsCompleted field tracks total quests finished:
Activity Logging
Currently, every activity log increments
questsCompleted. This may be refined to specific quest types in future updates.Presence Tracking
ThelastSeen timestamp tracks real-time presence:
convex/users.ts
This enables features like:
- Friend online status
- Activity feeds
- Recent player lists
Progression Dashboard
Your dashboard displays comprehensive progression stats:Total XP
Cumulative experience points earned
Current Level
Calculated from total XP
Active Streak
Consecutive days active
Quests Completed
Total completed activities
Weekly XP Chart
Last 7 days of activity
Recent Badges
Latest 3 unlocked achievements
Progression Tips
Next Steps
Challenges
Learn about challenge types and objectives
Achievements
Unlock badges and track milestones
Leaderboard
See how your XP compares globally
Users API
API reference for user stats and activity tracking