A Chrome extension that replaces the Codeforces profile page with a clean, data-rich analytics dashboard.
- Rating History — Interactive line chart of full contest history
- Problems by Difficulty — Solved problems grouped by rating range with Codeforces color coding
- Recent Contests — Last 15 contests with rank, rating, and delta
- Weakness Detection — Topics with the lowest solve rate, surfaced automatically
- Activity Heatmap — GitHub-style submission activity for the past year
- Recent Submissions — Last 15 submissions with verdict badges
- Blog Posts — User's blog entries with links
- User Details — Country, organization, registration date, social links
- Vanilla JavaScript + Vite
- Chart.js for data visualization
- Codeforces Public API (no authentication required)
- Chrome Extensions Manifest V3
- Clone the repository
- Install dependencies:
npm install - Build the extension:
npm run build - Open Chrome and go to
chrome://extensions - Enable Developer Mode (top right toggle)
- Click Load unpacked and select the
dist/folder - Visit any Codeforces profile:
codeforces.com/profile/{handle}
src/
├── background/background.js # API calls via Codeforces API
├── content/content.js # Dashboard injection into profile pages
├── content/dashboard.css # Dashboard styles
└── popup/ # Extension popup UI
public/
├── manifest.json # Chrome extension configuration
└── popup.html # Popup HTML
See DOCUMENTATION.md for a complete explanation of every file, function, and technical decision in the codebase.