← Produkte
Eigenentwicklung · Co-Founder & Lead EngineerSeit 2024 · Live

ELO Darts.

Echtzeit-Plattform für kompetitives Webcam- und Vereinsdarts. Verifizierte Spieler, automatisierte Turniere, detaillierte Statistiken für Spieler, Teams und Verbände.

Autoscoring-Match mit automatischer Wurferfassung über mehrere Kameras, Live-Scoring und Statistiken
Spielerprofil mit verifiziertem Average, Checkout-Quoten und 3-Dart-Average im Zeitverlauf

Ausgangslage

Online-Darts war fragmentiert: Discord-Gruppen für Matchmaking, manuelle ELO-Tabellen in Spreadsheets, kein einheitliches System für Verifizierung. Vereinsspieler hatten keine digitale Infrastruktur für Ligabetrieb und Turniere.

Vision

Jeder Score, jedes Kamerabild, jede Statusänderung muss sich sofort anfühlen. Eine Plattform, die Matchmaking, Verifizierung, Turniere, Statistiken und Streaming in einem System vereint - für Einzelspieler, Teams und Verbände.

Kernfunktionen.

Echtzeit-Webcam-Matches

Synchronisiertes Scoring mit Live-Videostream der Webcams über einen mediasoup-SFU. Würfe werden in Echtzeit verifiziert.

Cross-Device Scoring

Scoring-App, die auf jedem Gerät funktioniert - Smartphone, Tablet, Desktop. Optimiert für schnelle Eingabe während des Spiels.

Turniere & Brackets

Automatisierte Bracket-Generierung, Seeding, Check-in, Live-Spielstände. Von kleinen Weeklies bis zu großen Events mit Streaming.

Verifizierung & Anti-Cheat

Spieler-Verifizierung über Webcam, automatische Plausibilitätsprüfung der Scores, Reporting-System für faire Matches.

Statistiken & ELO-Ratings

Detaillierte Spielerstatistiken, Averages, Checkout-Quoten, Head-to-Head-Vergleiche. Automatisiertes ELO-Ranking über alle Disziplinen.

Vereine & Verbände

Eigene Bereiche für Vereine mit Mitgliedern, Teams, Ligen und Events. Verbände können mehrere Vereine verwalten.

Live-Übertragung mehrerer paralleler Webcam-Matches mit Statistiken und Turnier-Bracket

Architektur & Skalierung.

Echtzeit-Anwendungen mit parallelen Matches, Live-Scoring, Video und Chat stellen besondere Anforderungen an die Architektur. So ist ELO Darts aufgebaut:

Horizontale WebSocket-Skalierung

Socket.IO mit Redis-Adapter verteilt WebSocket-Traffic über mehrere Node-Instanzen. Room-basierte Channels pro Match, Turnier und Verein.

Background Processing

Aufwändige Berechnungen wie ELO-Updates, Statistik-Aggregation und Bracket-Generierung laufen asynchron über BullMQ-Queues in einem eigenen Worker-Service.

Datenbank-Optimierung

PostgreSQL mit gezieltem Indexing und optimierten Queries für Live-Systeme. Schnelle Reads für Ranglisten und Spielstände.

Monitoring & Tracing

OpenTelemetry und Sentry liefern Metriken, Tracing und Fehler-Alerts im Livebetrieb. Bottlenecks werden erkannt, bevor sie Spieler betreffen.

Tech-Stack.

Next.js & ReactServer-Side Rendering für schnelle Ladezeiten, React für eine reaktive Benutzeroberfläche mit Echtzeit-Updates.
Express.js & Node.jsDedizierter WebSocket-Server, getrennt vom Next.js-Frontend. Horizontale Skalierung über mehrere Instanzen.
Socket.IO & RedisWebSocket-Kommunikation mit Redis-Adapter für horizontale Skalierung. Room-basierte Channels pro Match, Turnier und Verein.
WebRTC & mediasoupEchtzeit-Videostreaming der Webcams über einen mediasoup-SFU. Ein dedizierter Media-Server verteilt die Streams - skaliert auf viele parallele Matches und Zuschauer.
PostgreSQL & PrismaRelationale Datenbank für Spieler-ELOs, Matchhistorie, Turnierstrukturen und Vereinsdaten. Optimierte Queries und Indexing für Live-Systeme.
BullMQRedis-basierte Job-Queues in einem eigenen Worker-Service: ELO-Updates, Statistik-Aggregation, Turnier-Bracket-Generierung.
StripeZahlungsabwicklung für Premium-Features und Turniergebühren. Subscriptions und einmalige Zahlungen.
Docker & HetznerContainerisierte Services mit Load Balancing auf Hetzner-Servern. CI/CD-Pipeline für automatisierte Deployments.

Relevanz für Kundenprojekte

Ich habe bereits eine Plattform gebaut, die unter Last funktioniert. Ihre Software wird von Anfang an für Wachstum ausgelegt. Konkret heißt das: WebSocket-Skalierung über mehrere Instanzen, Background Processing für aufwändige Berechnungen und Datenbank-Optimierung für schnelle Antwortzeiten im Livebetrieb.

Dieselbe Technik für Ihr Projekt.

Echtzeit-Systeme, skalierbare Backends, Performance unter Last — diese Erfahrung bringe ich in jedes Kundenprojekt mit. Was haben Sie vor?