WCPCI

2024 - 2025 • web • rust • rocket • astro

An online judging system

WCPCI

An Online Judging system (often shortened to OJ) is a tool used for programming competitions. It handles taking user submissions and… well… judging them. Usually this involves running the submission against a series of test cases.

This was a big undertaking for me as a project but overall I learned so much about many, many things from it. Some cool features include.

For the Git export I learned how Git worked at a low-level and re-implemented the “dumb” clone protocol in Rust, which involved creating a fake repo over HTTP.

For the jailing of user code I learned many parts of Linux process isolation. This was a very long process and arguably the most complex part of the site. I actually made a write-up on how the system works within the repo.

As of right now the system has not been integrated at my institution but the application code is done. In the future I want to add support for teams.