Ausgangslage
Der Trainer organisierte das Kindertraining (Somer- sowie Wintersaisons) des Tennisclubs bisher mit Excel und E-Mail: Anmeldungen werden aus den E-Mails erfasst und in Excel Tabellen überführt, rund 80 Kinder müssen je Stufe zugeordnet, Alter und Zeitfenster in Gruppen einteilen, Familien informieren. Absagen und Nachholtermine konnten gar nicht erst berücksichtig werden. Painpoint: Wie können rund 80 Kinder auf 7 Plätze fair organisiert werden ohne Kindern abzusagen bzw. zu priorisieren?
Leitprinzip
Die App schlägt vor, der Trainer entscheidet. Das ist kein Marketingsatz, sondern zieht sich durch die Entscheidungen: Warnung statt Sperre, manuelle Wahl statt automatischer Rangfolge, Mails nur nach Prüfung.
Kinderdaten sind tabu, auch für die KI. Die App speichert Namen, Alter und Kontaktdaten von Kindern und Eltern. Datenschutz stand deshalb bei jeder Entscheidung vorne: nur die Daten erheben, die ein Feature braucht, Familien sehen nie die Daten anderer Familien, Daten lassen sich auf Wunsch löschen. Die KI, mit der ich arbeite, sieht keine echten Daten. Entwicklung, Tests und alle Screenshots hier laufen mit erfundenen Daten.
Tempo durch KI
Von der ersten Spec bis zum Einsatz im Verein verging nur kurze Zeit, in der effektiven Arbeitszeit gerechnet. 21 Specs mit Klärungsrunden, Tests und Deployment hätte ich vor KI allein in dieser Geschwindigkeit nicht geschafft. Möglich wurde es, weil jede Spec vorab klärt, was gebaut wird, und die KI dann nur noch umsetzt. Die Entscheidungen bleiben bei mir.
Warum dieser Stack
Der Stack ist so klein, wie die Aufgabe es erlaubt, und jede Wahl folgt aus den Kinderdaten oder aus der Größe eines Vereinsprojekts.
- Eigener VPS in Deutschland, keine Cloud. Die Daten bleiben auf einem Server unter meiner Kontrolle. Caddy und Docker reichen dafür, und die Zugangslinks der Eltern landen in keinem Zugriffsprotokoll.
- SQLite statt Datenbankserver, ORM oder Migrationsframework. Ein kleines Schema, eine Umgebung, ein Verein. Nummerierte Migrationen genügen und lassen sich leicht sichern.
- SvelteKit als statische Oberfläche, getrenntes Node-Backend. Die Oberfläche braucht keinen Server, und die Tests laufen auf demselben Vite ohne zusätzliche Werkzeuge.
- Einfache Anmeldung. Trainer melden sich mit Sitzungs-Cookie an, Eltern kommen über einen persönlichen Link, ohne Konto.
- Deploy per Git-Push mit Prüfungen als Tor. Lint, Typprüfung und Tests laufen vor jedem Release. Schlägt eine fehl, bleibt die laufende Version unberührt. Gerade bei viel KI-Unterstützung ist das die Absicherung.
Wie das Projekt entstanden ist
Das Projekt entstand spec-getrieben mit KI-Unterstützung. Jedes Feature beginnt mit einer Spec. In einer Klärungsrunde werden Fragen gestellt und beantwortet, bevor Code entsteht. Die Antworten, und damit die Richtung des Produkts, stammen von mir. Die Entwicklung unten ist aus diesen Klärungsrunden rekonstruiert.