Skip to content

Repository files navigation

LeetCode Metric

A dashboard for visualizing any public LeetCode profile — difficulty progress, submission activity, topic strengths, contest rating, and recent activity, all in one view.

Next.js TypeScript Tailwind CSS

Live Demo

https://leetcode-metric.netlify.app/

Screenshots

Screenshot 1

Dashboard Screenshot 1

Screenshot 2

Dashboard Screenshot 2

Screenshot 3

Dashboard Screenshot 3

Features

  • Difficulty Climb — one proportional bar showing Easy/Medium/Hard problems solved against the total available for each, instead of three separate progress rings
  • Submission Heatmap — a full year of daily activity, in the style of a GitHub contribution graph
  • Topic Mastery — your top solved topics (arrays, dynamic programming, graphs, and more)
  • Languages Used — a breakdown of every language you've solved problems in
  • Contest Performance — rating, global rank, and percentile, shown when available
  • Recent Activity — your latest accepted submissions, linked directly to the problem
  • Fully responsive, dark-themed, and built with accessibility in mind (keyboard navigable, screen-reader labeled, respects reduced-motion preferences)

Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS v4
Data LeetCode's public GraphQL API, via a server-side route handler

Getting Started

Prerequisites

  • Node.js (LTS version recommended)

Installation

git clone https://github.com/<your-username>/leetcode-metric.git
cd leetcode-metric
npm install
npm run dev

Then open http://localhost:3000.

Build for production

npm run build
npm run start

How It Works

Enter any LeetCode username to pull their public stats. The request is handled by a server-side API route (app/api/leetcode/route.ts), which queries LeetCode's GraphQL endpoint directly on the server — avoiding any client-side CORS restrictions entirely.

Project Structure

app/
  api/leetcode/route.ts   # Server-side GraphQL proxy
  layout.tsx              # Fonts and metadata
  page.tsx                # Main dashboard page
  globals.css             # Design tokens and global styles
components/               # UI building blocks (search bar, stat cards, heatmap, etc.)
lib/                      # Shared types and hooks

License

This project is licensed under the MIT License.

Author

Built by [Amulya Gupta]
Portfolio  · GitHub  · LinkedIn

About

A dashboard for visualizing any public LeetCode profile — difficulty progress, submission heatmap, topic mastery, and contest rating, all in one view.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages