Для решения этой задачи мы использовали
SPA (Vue.js + Nuxt.js) + Django (это фреймворк Python). SPA общается с backend'ом через API.
Почему именно Python? Это решение нравится нам своей гибкостью: в отличие от громоздкой архитектуры с десятками тысяч строк кода, здесь можно гибко управлять всеми сущностями, не переживая за перекрытие кода.
Все сущности можно создать и описать очень быстро и мгновенно получить доступ к данным через API.
В результате нам удалось разработать готовую к высоким нагрузкам платформу с нужным функционалом для проведения хакатона. Система поддерживает определённый свод правил. Есть админ-панель с отображением результатов, выгрузкой статистики и прочих данных.