Leaderboard for Engagement
Real-Time Event Gamification with SignalR-Powered Live Scoring
Business context and structural constraints
The platform needed to handle high-concurrency scan events reliably. SignalR handled the real-time broadcasting; CQRS architecture at the API layer separated the point-award command path from the leaderboard read path, allowing both to scale independently without write-read contention. QR codes needed to be unique per activity and event to prevent cross-event contamination and point farming. Winner determination needed to be instant at event close — no batch processing step, no manual tallying. The entire result calculation had to be derivable from the live database state.
Race-condition-proof point awarding at event scale
When multiple participants scan simultaneously — common at high-energy events — the command handler must ensure each participant-activity combination is processed exactly once. Optimistic concurrency control on the score record, combined with a unique database constraint on (participant_id, activity_id, event_id), provides defense-in-depth that prevents duplicate awards regardless of how concurrent handler executions resolve.
The Solution
Architectural approach and implementation
Donor recruitment events and internal fundraising competitions are a consistent part of ARC's operational calendar. The challenge with multi-team or multi-region competitions is maintaining visible, real-time engagement: participants need to see where they stand as the event progresses, not just at the end. This platform turns any ARC event into a live scoring experience. Participants earn points by scanning QR codes at activity stations; a public-facing leaderboard updates in real time across all connected screens simultaneously via SignalR, driving ongoing engagement throughout the event. The administrative side gives organizers full control: generate activity QR codes, monitor event progress, view individual participant history, and determine winners the moment the event closes. Built in three months, the system was designed around two competing requirements: instant feedback for participants (leaderboard updates within milliseconds of a scan) and data integrity under high-concurrency conditions (multiple simultaneous scans can't create race conditions or award duplicate points).
How we turned the challenge into a solution
Each stage formalizes uncertainty into a concrete engineering outcome
Audit → Dependency Map
Inventory of 17+ disparate systems, data flow mapping, identification of critical integration points and performance bottlenecks
Map → Unified Architecture
Design of event-driven microservice architecture with multi-region data residency and zero-trust security model
Architecture → Working Prototype
Document management MVP with FIDO2 authentication, AES-256 encryption, and basic workflow engine for pilot group
Prototype → Scalable Platform
Horizontal scaling to 160+ countries, multi-tenant isolation, AI document classification with 95% accuracy
Platform → Analytics Core
MyInsights recommendation engine, predictive SLA alerts, personalized delivery of regulatory updates
Core → Continuous Compliance
Automated retention policies for 160+ jurisdictions, document integrity chain, one-click audit report generation
SignalR Live Leaderboard
The public leaderboard is a SignalR hub connection that pushes ranking updates to all connected clients simultaneously. When a scan is processed and points are awarded, the updated ranking is broadcast within milliseconds — participants on phones, tablets, and wall-mounted displays all see the same state within the same update cycle.
Dynamic QR Code Engine
Activity QR codes are generated per-event and per-activity using QR Coder with SkiaSharp rendering for print-quality output. Each code encodes a signed activity identifier that prevents code reuse across events and limits each participant to a single point award per activity per event — by design enforced at the database level, not by trust.
Real-Time Administrative Dashboard
Organizer-facing dashboard provides real-time visibility into event state: current standings, scan activity by participant, activity completion rates, and time elapsed. Event close is a single action — the system calculates and locks final rankings immediately, with no batch processing step.
CQRS Command/Query Separation
Point award commands and leaderboard read queries run through separate handler pipelines. Write operations — scan validation, point award, audit entry — are processed sequentially through a command handler with optimistic concurrency on the participant score record. Read operations hit a separate, read-optimized query path. Under load, neither path degrades the other.
Validated Scan-to-Point Pipeline
Scanned QR data is validated before any point is awarded: the activity code must be valid, the event must be active, and the participant must not have already earned points for this activity. All validation is synchronous within the command handler. A unique constraint at the database level on (participant_id, activity_id, event_id) provides defense-in-depth against duplicate awards regardless of concurrent handler execution.
The Impact
Quantitative results demonstrating the real impact of implementation on operational efficiency, infrastructure reliability, and platform scalability
100% real-time leaderboard synchronization via SignalR — all connected screens update simultaneously within milliseconds of each scan
40% increase in participant engagement versus prior non-gamified event formats
30% improvement in data throughput — CQRS separates write and read paths, eliminating contention under high-concurrency scan loads
Winner determination time reduced by 90% — event close triggers instant ranking calculation from live data, no manual tallying
100% data integrity under high-concurrency scan conditions — zero duplicate point awards across all event conditions
Technology Stack
Built with proven enterprise-grade technologies
Interested in a similar solution?
Discuss your project→