Competition PlatformSolo Full StackLive

GitaOlympiad.com

A multi-round competition platform for an international academic event.

Visit live site5 weeks build

GitaOlympiad.com is a competition management platform for an international Gita quiz competition. The platform handles the full competition lifecycle: registration and payment, multi-round scheduling, result entry, real-time leaderboard updates, and automated certificate generation for participants and winners. Built as a solo project from initial architecture to production deployment.

The business challenge

A growing international competition was being managed through a combination of forms, spreadsheets, and manual certificate creation — a process that did not scale and produced errors in results and standings. The organizers needed a single system that handled every stage of the competition without manual coordination between tools.

My role

Solo engineer — designed the competition data model, built the platform end to end, and managed deployment.

Engineering challenges

Real-Time Leaderboard Under Concurrent Result Entry

Multiple organizers entering results simultaneously for different participants needed to produce consistent, accurate standings without race conditions on the leaderboard aggregation.

Result entries write to an immutable results table. Leaderboard standings are computed by aggregation query — not stored as mutable values — so concurrent writes never conflict on the standings data. WebSocket connections push leaderboard updates to connected clients when results change.

Architecture

FrontendNext.jsRegistration, leaderboard, organizer dashboard
Real-TimeWebSocketsLive leaderboard push to connected participants
BackendDjango REST FrameworkCompetition management, result processing, certificate trigger
DatabasePostgreSQLImmutable results, computed standings, participant records

What we built

Registration and Payment

Participants register and pay in one flow. Confirmations sent automatically. Organizer dashboard shows registration status in real time.

Multi-Round Competition Management

Rounds created and scheduled from the organizer dashboard. Participants and results managed per round with full history.

Real-Time Leaderboard

Standings update live as results are entered. Participants and viewers see position changes immediately without refreshing.

Automated Certificate Generation

Participation and winner certificates generated automatically at round and competition close. Downloadable immediately.

Organizer Dashboard

Complete competition management — participants, rounds, results, and reports — in one interface.

Technical highlights

Immutable result entries with aggregation-based standings — no race conditions on concurrent result entry

WebSocket-based live leaderboard push to all connected clients

Automated certificate generation triggered on round close

Multi-round competition state machine with organizer-controlled progression

Built with
Next.jsDjango REST FrameworkPostgreSQLWebSocketsPython
GitaOlympiad.com screenshot

The impact

International

Competition scope

Real-time

Leaderboard updates

Automated

Certificate generation

Multi-round

Competition format supported

Solo build

Design to deployment

Business outcomes

End-to-End Competition Management

Every stage of the competition — registration to results to certificates — handled in one system without manual coordination across tools.

Lessons learned

Computing standings by aggregation rather than storing them eliminates an entire category of concurrency problems

Certificate generation needs to handle edge cases — participants who withdraw, disqualifications, ties — before launch, not after