competitive programming
HDD
contest & training dashboard

A Codeforces dashboard for tracking upcoming contests and getting personalised daily problem recommendations — calibrated to your rating, filtered for what you haven't solved yet.

hdd — init
$ hdd start
 
contest timeline loaded
codeforces api connected
user profile enlorik
 
// upcoming contests
CFCodeforces Round 1010
ICPCICPC Online Challenge
IOIIOI 2025 Practice
 
// daily problem
2048F Minimizing the Sum
rating: 1800 | not solved
 
$
01Features
01
Contest Calendar

Weekly view of upcoming and live Codeforces contests. Color-coded by type — CF, IOI, ICPC. Toggle events, preferences persist across sessions.

Timeline
02
Bounty Board

Card grid of all active and upcoming contests. Each card shows type, phase, and start date. One tap to jump to the contest on Codeforces.

Real-time
03
Daily Problems

One problem per algorithm tag, calibrated to your rating. Filters out problems you've already solved. Rotates daily by UTC date.

Personalised
04
Profile

Set your Codeforces handle once. Stored in localStorage — no account, no backend, no tracking.

No login
02Architecture
Client
React SPA
Vite · React Router v7
Server
Express 5
CORS proxy · rate limiter
External API
Codeforces
contest.list · user.*
Routing
React Router
State
localStorage
Deploy
Railway
Build
Vite 7
03Stack
UIReact 19 — concurrent features
BuildVite 7 — sub-second HMR
RoutingReact Router v7 — client SPA
StylingCSS Modules — scoped per component
ServerExpress 5 — SPA + API proxy
StatelocalStorage — no database needed
DeployRailway — Nixpacks, auto-restart
STATUS LIVE
HOST railway.app
API Codeforces
React 19 + Vite 7
← portfolio