В целом видится мне это так: web-сервер на базе O3 (исходники есть) получает модуль решения задачи (plain text через copy-paste в браузер либо odc-файл), компилирует в консольное приложение и получает exe-шник. Компилятор тоже лучше консольный использовать, для максимальной изоляции (уже реализован), но это обсуждаемо. Затем сервер последовательно прогоняет тесты, замеряя показатели дочерних процессов (потребление памяти, максимальное время работы и пр.), и сообщает результат пользователю. Что использовать в качестве БД участников и результатов я не знаю.