01Rating inspired by Elo
Rating starts at 1000, never falls below 100 and uses K factors 32, 24 and 16. Solved result, challenge difficulty and completion time affect each change. There is no human opponent, and rating does not drive adaptive difficulty.
02Skill XP and levels
A solved challenge grants each inferred skill exactly one award: 60/100/140/180/220 XP for difficulty 1–5. Each of ten skills has levels 1–5; the next threshold is round(100 × level^1.5), and level 5 displays 100% complete.
03Adaptive difficulty
Difficulty uses recent result and relevant skill progress to choose a suitable next step. It neither grants a second XP award nor reads the Elo-inspired rating.
04Weekly ranking
The weekly board counts solutions finalized by the server from Monday UTC. Only the canonical solved_count field determines public position; client-reported progress never updates it.
05Streaks and achievements
The first valid practice event in a local calendar day can advance the streak once. Achievements recognize reachable skill, challenge and consistency milestones; their legacy xpReward field is not a spendable or applied reward.
06Storage and sync
Core progress is persisted and synced best-effort for signed-in users. Local state can remain available during an outage, so a pending sync is not a promise of perfect real-time replication.