Eigenes Produkt — Sportlerinnen, Sportler und Vereine
Courtovo — der Spielstand am Handgelenk
Auf einer Uhr wird mitten im Ballwechsel bedient, mit einer Hand, ohne hinzusehen. Courtovo zählt zehn Sportarten nach ihren eigenen Regeln und funktioniert dauerhaft offline.
Die Aufgabe
Eine Uhr wird mitten im Spiel bedient: mit einer Hand, ohne hinzusehen, in der Sonne, oft mit nassen Fingern. Dazu kommt die Regelseite — zehn Sportarten sind zehn Regelwerke, die sich in fast allem widersprechen, und eine falsch gezählte Tiebreak-Rotation ist schlimmer als Papier.
Die Lösung
Eine reine Regel-Engine in Kotlin Multiplatform, ohne Android, ohne Ein-/Ausgabe und ohne Uhrzeit darin. Dadurch lässt sie sich erschöpfend gegen die Regelwerke testen, ohne je eine Uhr zu starten — Speicher, Sensoren und Synchronisation liegen außerhalb.
Das Ergebnis
Zehn Sportarten gezählt, dreizehn weitere gemessen, 24 Sprachen, zehn Erscheinungsbilder — und alles davon funktioniert ohne Konto und ohne Netz.
Einblicke





Der Entwurf, der bei einer Uhr über alles entscheidet, ist nicht die Oberfläche,
sondern die Grenze um die Regeln. In Courtovo ist scoring-core ein reines
Kotlin-Multiplatform-Modul: kein Android darin, keine Ein- und Ausgabe, keine
Uhrzeit. Was ein Punkt mit einem Spielstand macht, ist damit eine Funktion, die
erschöpfend geprüft werden kann, ohne je ein Gerät einzuschalten.
Das zahlt sich dort aus, wo Regelwerke unangenehm werden. Aufschlag- und Rückschlagreihenfolgen im Doppel, Seitenwechsel, der Coman-Tiebreak, No-Ad, Fast4, Champions-Tiebreak — jede dieser Regeln ist einzeln harmlos und in Kombination die Stelle, an der ein Zähler falsch liegt. Dieselbe Engine zielt auch auf JavaScript, sodass die Website gegen genau die Vektoren prüft, gegen die die Uhr läuft.
Alles Übrige ist bewusst außen: der Spielverlauf in handgeschriebenem SQL über den mitgelieferten SQLite-Treiber, die Messung über Health Services, und die Verbindung zu einem Verein als eigenes Modul. Diese Verbindung ist optional — abgemeldet fehlt nichts, denn Zählen, Verlauf und Messung sind der ganze Gegenstand und hängen an keinem Server.