Modern judge platform, built to last.
Evalyo rethinks DMOJ for today's infra: Django 5.2 LTS, native ASGI, clear separation of services, and developer ergonomics that don't make you cry.
Django 5.2 LTS
Native ASGI
Docker-friendly
Scalable by design
Why Evalyo?
- ✅ Maintenance-first: clear code paths, fewer implicit couplings.
- ✅ ASGI native: websockets & async views first-class.
- ✅ Django 5.2 LTS: stability for production-grade deployments.
- ✅ Modular judge: separate worker + API boundaries for scale.
Core features
Django 5.2 LTS
Long-term support and modern Django features.
ASGI-first
Native async, WebSocket scoreboard, and high concurrency.
Separation of Concerns
Judge workers, API, and web UI are decoupled for reliability.
Dev DX
Batteries-included dev stack: docker-compose, tests, migrations.
Observability
Prometheus metrics, structured logs, health endpoints.
Extensible
Plugin-friendly problem types & custom judge runners.
Quick start
Clone, env, and bring up using Docker — zero mystery.
git clone https://github.com/Evalyo/evalyo.git cd evalyo # copy .env.example -> .env and edit docker compose up --build -d # visit http://localhost:8000
Prefer manual? The repo supports running with plain Python + ASGI servers (uvicorn/daphne).