Overview
CodeJam features multiple coding challenges (“games”) across different languages and difficulty levels. Each game has objectives, XP rewards, and player statistics.Queries
getGameStats
Returns player count statistics for all games.
Record<string, number>
An object mapping game IDs to the number of unique players who have played each game.
This aggregates all
game_stats records. In production, this would use a separate counter table for scalability.getGameMetadata
Returns detailed metadata for a specific game.
Game identifier (e.g., “syntax-smasher”, “function-fury”)
GameMetadata
Objective Types
Each objective has:Unique objective identifier
Human-readable objective description
Objective type:
collection, streak, time, or boolTarget value to achieve (e.g., 5 for “Survive 5 Rounds”)
Available Games
Syntax Smasher
Syntax Smasher
Language: JavaScript
Difficulty: Beginner
XP Reward: 100Fix syntax errors quickly to survive multiple rounds and maintain your streak.
Difficulty: Beginner
XP Reward: 100Fix syntax errors quickly to survive multiple rounds and maintain your streak.
Function Fury
Function Fury
Language: JavaScript
Difficulty: Intermediate
XP Reward: 150Work with higher-order functions and closures under time pressure.
Difficulty: Intermediate
XP Reward: 150Work with higher-order functions and closures under time pressure.
CSS Combat
CSS Combat
Language: CSS
Difficulty: Advanced
XP Reward: 200Master flexbox and CSS grid to match target layouts perfectly.
Difficulty: Advanced
XP Reward: 200Master flexbox and CSS grid to match target layouts perfectly.
Logic Labyrinth
Logic Labyrinth
Language: Python
Difficulty: Intermediate
XP Reward: 175Solve mazes using boolean logic and path optimization.
Difficulty: Intermediate
XP Reward: 175Solve mazes using boolean logic and path optimization.
Algo Arena
Algo Arena
Language: C++
Difficulty: Expert
XP Reward: 300High-stakes algorithmic challenges with memory optimization constraints.
Difficulty: Expert
XP Reward: 300High-stakes algorithmic challenges with memory optimization constraints.
Game Statistics Schema
Player statistics are stored in thegame_stats table:
Statistics are indexed by
userId and gameId for efficient lookups.Example: Game Selection Screen
Related APIs
- Battles API - Compete against other players
- Social API - Update game stats and track progress