
Tooling2024Seasonal· Creative Computing Society
Codeboard
Competitive programming leaderboard
A society wide leaderboard that scrapes every member's competitive programming profile on a schedule and rebuilds the standings.
01 Architecture
- Django REST on PostgreSQL, with Celery and a Redis broker doing the work off the request path.
- A beat schedule fans out one scrape task per member every two minutes, rather than one long serial job.
- Results are chained into a single leaderboard rebuild, so standings are never assembled from partial data.
- React front end reading the materialised standings.
02 What is in it
- Standings are at most two minutes stale.
- One slow or failing profile cannot stall the whole refresh.
- Made practice visible, which is most of why people kept at it.
Numbers
- 2 min
- refresh cadence
- 1 task
- per member
Stack
DjangoCeleryRedisPostgreSQLReact
Availability
SeasonalA society internal tool, brought up for contest and workshop seasons.