stats-server

Renders Codeforces & LeetCode stats as PNG charts. Built in Rust with Axum.

GET /stats

GET /stats

Returns combined CF + LC statistics as JSON.

{
  "cfStats": {
    "solvedCountPerRating": { "800": 206, "900": 55, "1200": 84, "1400": 113, "1600": 135, "1800": 139, "2000": 142, "2200": 117, "2400": 136, "2600": 105, "2800": 83, "3000": 56, "3200": 49, "3400": 24,  },
    "officialSolvedCountPerRating": {  }
  },
  "lcStats": {
    "totalSolved": 1756,
    "totalQuestions": 3935,
    "easySolved": 545,
    "totalEasy": 944,
    "mediumSolved": 959,
    "totalMedium": 2057,
    "hardSolved": 252,
    "totalHard": 934,
    "acceptanceRate": 0.57
  }
}

GET /visualstats

GET /visualstats
  • For these examples, I’ve chosen random CF and LC usernames with significant activity.
  • Images are pre-rendered server-side and cached. Updated every few minutes.
themelight, dark, vue-dark, home-light, home-dark
officialtrue | false
typepng (default), webp
GET /visualstats?theme=light
Visual stats preview