Run activities
Contests, courses, labs, workshops and practice sessions in one consistent organizational model.
AlgoJudge helps teams run programming contests, courses, labs and practice sessions. It accepts submissions, routes them to specialized Runners and brings live results back to participants.
A web-first platform that brings activity management, task publishing and automated evaluation together. It is being built for institutions and teams that want to run an instance of their own.
Contests, courses, labs, workshops and practice sessions in one consistent organizational model.
Statements, attachments, deadlines, limits, scoring and submission policies managed together.
Queuing, isolated execution, tests, checkers, points and verdicts that are easy to understand.
Designed for multiple kinds of activities and multiple ways to evaluate solutions.
The Client selects a renderer, the Runner selects an evaluation handler, and the Server keeps a shared data envelope. Extensions can live at the edges without coupling the core to task-specific semantics.
The Server keeps durable state and jobs. Code goes to a replaceable Runner, which evaluates it in an isolated environment and sends the result back.
A manager configures a contest or course.
They publish the statement, files, limits and scoring.
A participant reads the requirements and format.
Code and metadata are sent to the Server.
The Server stores the submission and queues work.
A Runner pulls the job, isolates execution and tests it.
Live status and the verdict return to the app.
Each component has a clear responsibility. The Server coordinates and stores data, but it never compiles or runs submitted code.
Interface and renderers
Data and coordination
Identity and access
Safe execution
It does not know the semantics of a specific task type.
It can operate in another network, including behind NAT.
Different Runners can support different task types.
A shared core supports distinct organizational scenarios, while extensibility leaves room for new evaluation models.
Rounds, deadlines, submissions, leaderboards, scoring and live result updates.
Task series, multiple attempts, private results and detailed feedback.
Quick activities and architecture-ready temporary accounts with expiring access.
Specialized Runners, extra handlers and renderers — without changes to the central Server.
The project is developed publicly. Dive into any part of the system, report an issue or help move it forward.
The web interface for participants and managers, plus the renderer layer.
The central API, durable state, permissions, jobs and results.
Code execution, isolation and evaluation in a specialized environment.
All repositories, discussions and the shared development home.
AlgoJudge is under active development. The groups below distinguish the current objective, first-release scope and future directions — they do not claim that every feature is ready.
Complete the full flow from creating an activity to presenting a result.
The foundations needed for real contests and courses.
Directions enabled by the modular architecture.
Explore the architecture, read the code and help shape a platform that does not lock new ideas into a single evaluation model.