DOMjudge
Built for ICPC-style programming contests, DOMjudge takes team submissions, judges them in a restricted sandbox, and posts a live scoreboard. Each team gets its own page. There they read the problem set, submit source code from the browser or a command line client, follow verdicts, and send clarification requests. Judges see every submission, judging run, and output diff. They verify results and rejudge a single submission or everything for a language, problem, team, or judgehost. Administrators schedule activation, start, freeze, end, and unfreeze times, import teams, categories, affiliations, and problems in bulk, and watch a traffic-light status for every team. The public scoreboard freezes for the final stretch and exports as a static HTML page. Judgehosts compile and run each solution with time and memory limits in languages such as C, C++, Java, Python, Kotlin, Go, and Haskell, with custom validators and interactive problems when a task calls for them. Balloon runners get a delivery queue. Clarifications sort into categories. Open contests accept self-registration. The Contest API and event feed connect external scoreboards, and a shadow mode compares results against another system. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-2.0 licensed.
Deploy