Skip to content

[Feature]: Add problem difficulty breakdown (Easy / Medium / Hard) to each leaderboard entry #365

Description

@divyanshim27

Summary

The leaderboard currently shows only a total problems-solved count per user. The LeetCode API (used via the leetcode-api service) returns a breakdown by difficulty — Easy, Medium, Hard — but this data is not displayed in the UI. Surfacing the difficulty split would give a much more meaningful picture of each student's skill level and effort.

Problem

  • Raw total-solved counts treat an Easy problem the same as a Hard problem, which does not accurately reflect a student's problem-solving depth.
  • Two students with the same total count but vastly different difficulty distributions appear identical on the leaderboard — this is misleading.
  • The underlying API already returns this data; it is just not being used in the frontend rendering.
  • Competitive platforms like LeetCode's own weekly contest leaderboard prominently feature difficulty-based breakdowns because they are the primary signal of relative performance.

Proposed Solution

Data layer (scripts/sync-leaderboard.js):

Ensure easySolved, mediumSolved, and hardSolved are persisted in the leaderboard JSON alongside totalSolved.

Frontend (frontend/):

Add a compact difficulty bar or three-column breakdown under each user's name:

Rank Username Total Easy Medium Hard
1 student123 142 61 52 29
2 coder456 138 70 48 20

Optionally, colour-code the columns (green / yellow / red) to match LeetCode's own convention.

Sorting option:

Add a "Sort by Hard" toggle so users competing at the advanced level have a relevant ranking axis.

I can implement the data layer and frontend changes in a single PR. Could you assign this issue to me?

Labels: enhancement, feature, ui, data, GSSoC 2026

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions