Client work · anonymized
Real-Time Race Management Platform
Real-time race management for multi-judge fitness competitions — live leaderboards, peer sync, and gap calculation over SignalR on .NET 8 and PostgreSQL.
In a multi-judge fitness competition, standings change second by second — and every judge, organizer, and screen needs to see the same numbers at the same moment. Spreadsheets and manual tallies can’t do that. This platform can.
Solution & architecture
The system is a Blazor application on .NET 8 with PostgreSQL for persistence and SignalR doing the real-time work. Multiple judges enter scores concurrently; the platform keeps every connected client in sync, recalculates standings, and pushes updated leaderboards and gaps between competitors as the event unfolds.
My role
Full-stack freelance development — the Blazor front end, the .NET back end, the PostgreSQL data model, and the SignalR real-time layer.
Key technical decisions
- SignalR as the delivery backbone. Live leaderboards are a push problem, not a polling problem. Updates reach every connected screen in real time, which keeps them consistent during the busiest moments of an event.
- One leaderboard, everywhere. Standings and gaps are recalculated and synced to every connected client, so judges and screens always agree on the current state of the race.
- PostgreSQL for event data. A relational model fits the domain — events, competitors, judges, scores — and holds up under concurrent writes from multiple judges.
Outcome
Built so organizers can run competitions with live standings instead of after-the-fact results — scoring, ranking, and gaps updating in real time while the race is still on. Client identity is withheld by agreement.