Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetTrack

leetTrack

Deep analytics dashboard for your LeetCode profile
Track progress · Detect weaknesses · Generate study plans · Compare with peers


✨ Features

Feature Description
📊 Deep Analytics Problems solved, difficulty breakdown, donut chart visualization
🏆 Contest Tracking Rating history, global ranking, top percentile, line chart
🔥 Activity Heatmap GitHub-style submission calendar for the last 52 weeks
💻 Language Stats Programming languages used with horizontal bar chart
🧩 Skill Breakdown Fundamental / Intermediate / Advanced topic analysis
🎯 Job Readiness Company-specific readiness scores (Google, Meta, Amazon, Microsoft, Apple, Startups)
🧠 Weakness Detection Efficiency focus, consistency analysis, topic-level gaps & strengths
🔁 Spaced Repetition SM-2 algorithm-based review queue with localStorage persistence
📈 Activity Insights Weekly velocity, momentum tracking, day distribution radar chart
Optimization Tips Naive vs optimal complexity comparisons for 50+ popular problems
⚔️ Peer Comparison Head-to-head stats, power scores, topic-by-topic bar visualization
🗺️ Interview Roadmap Company-specific curated problem lists with priority classification
📅 Weekly Study Plan Auto-generated 5-day plan based on detected weaknesses with tips

🏗️ Architecture

leetTrack/
├── api/
│   └── index.py              # Flask API (Vercel serverless function)
├── public/                   # Served by Vercel CDN
│   ├── favicon.png           # Custom branding icon
│   ├── index.html            # Dashboard UI
│   ├── css/style.css         # Premium dark theme styles
│   └── js/app.js             # Frontend logic + Chart.js
├── extension/                # Chrome Extension (Manifest V3)
│   ├── manifest.json         # Extension config
│   ├── icons/                # Branding icons (16/48/128)
│   ├── popup.html / css / js # Extension popup
│   └── content.js            # Floating button on leetcode.com
├── vercel.json               # Deployment & routing config
├── requirements.txt          # Python dependencies
└── .gitignore

How It Works

  1. Frontend sends parallel requests to 13 API endpoints
  2. Backend queries LeetCode's GraphQL API, caches responses for 5 minutes
  3. Analysis engines compute readiness scores, weakness patterns, roadmaps, and study plans
  4. Results are rendered with Chart.js charts and animated UI components

🚀 Quick Start

Local Development

# Clone
git clone https://github.com/dasouvik122005/leetTrack.git
cd leetTrack

# Install dependencies
pip install flask requests

# Run
python api/index.py

Open http://localhost:5000 and enter any LeetCode username.

Deploy to Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

Or connect this repo directly in the Vercel Dashboard — it auto-detects the config.

Chrome Extension

  1. Open chrome://extensions/
  2. Enable Developer mode
  3. Click Load unpacked → select the extension/ folder
  4. Update DASHBOARD_URL in popup.js and content.js to your Vercel URL

🔌 API Endpoints

Endpoint Description
GET /api/profile/<username> Public profile data
GET /api/stats/<username> Problem solve counts by difficulty
GET /api/contest/<username> Contest rating & history
GET /api/calendar/<username> Submission heatmap data
GET /api/languages/<username> Language usage stats
GET /api/skills/<username> Topic-wise skill breakdown
GET /api/submissions/<username> Recent accepted submissions
GET /api/readiness/<username> Job readiness analysis
GET /api/weakness/<username> Weakness & consistency detection
GET /api/activity/<username> Weekly velocity & momentum
GET /api/benchmarks/<username> Complexity benchmarking
GET /api/compare/<userA>/<userB> Peer comparison
GET /api/roadmap/<username>?company=Google Interview prep roadmap
GET /api/studyplan/<username> Weekly study plan

🛠️ Tech Stack

  • Backend: Python, Flask, LeetCode GraphQL API
  • Frontend: Vanilla JS, Chart.js, CSS (dark theme)
  • Deployment: Vercel (serverless functions + CDN)
  • Extension: Chrome Manifest V3

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is open source under the MIT License.


Built with ⚡ by Souvik
Not affiliated with LeetCode. Uses the public GraphQL API.

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages