Hoop-Fit
Hula-Hoop-Training als App – mit 89 animierten Übungen, Workouts mit sprechendem Coach und einem Rotationszähler über die Bewegungssensoren.
- Rolle
- Zeitraum
- Stack
- Hinweis
Ausgangslage
Die App ist 2021 als „Hula Hoop Timer“ entstanden: ein Timer fürs Training mit dem Reifen. Ein Timer zählt aber nur herunter. Sobald der Reifen oben bleibt, fehlt etwas anderes – der nächste Schritt: welche Übung jetzt dran ist, wie lange und in welche Richtung. 2026 habe ich die App deshalb unter dem Namen Hoop-Fit neu aufgebaut, als Trainings-App statt als Timer.
Was ich gemacht habe
89 Übungen in sechs Kategorien, jede als Animation von Körper und Reifen, mit Schritten und typischen Fehlern. Dazu fertige und eigene Workouts mit einem Coach, der die nächste Übung ansagt und die Musik leiser dreht, statt sie zu stoppen. Fünf Programme über zwei bis drei Wochen, ein Tagesplan aus dem eigenen Trainingsverlauf, Fortschritt pro Übung und Richtung, Serie und Kalender. Auf Deutsch und Englisch; Workouts laufen auch ohne Verbindung.
Die Animationen sind keine Videos. Jede Übung beschreibt ihre Bewegung mit wenigen Parametern (Drehpunkt, Ebene, Neigung, Tempo, Körperhaltung), gezeichnet wird mit einem CustomPainter. Der Reifen ist ein Kreis im Raum: Die hintere Hälfte wird vor der Figur gemalt, die vordere danach – so entsteht Tiefe ohne 3D-Engine.
Der Rotationszähler liest den Beschleunigungssensor des Handys an der Taille und zählt Umdrehungen, Tempo und Drops. Ein Tiefpassfilter, ein Sperrfenster, das sich dem aktuellen Tempo anpasst, und eine Amplitudenschwelle verhindern, dass Stöße als Umdrehungen zählen. Der Detektor kennt kein Sensor-Plugin und ist mit synthetischen Signalen getestet. Der Tagesplan ist ebenfalls reines Dart ohne Backend: Gleiche Daten und gleiches Datum ergeben dasselbe Workout, und jeder Block nennt seinen Grund.
Nativ dazu kommen Widgets für Home- und Sperrbildschirm (Swift mit WidgetKit, Kotlin mit Jetpack Glance), eine Live-Aktivität mit Dynamic Island während des Workouts sowie Apple Health und Health Connect.
Die App liegt in meinem Flutter-Workspace: vier Schichten (Domain, Data, Application, Presentation) mit get_it und ChangeNotifier, typisiertes Routing mit go_router, gemeinsame Pakete für Login, In-App-Käufe über RevenueCat, Push, Deep Links und Analytics. Knapp 800 Unit- und Widget-Tests, Tests der Firestore-Sicherheitsregeln im Emulator und eine CI mit GitHub Actions und Codemagic sichern jedes Release ab. Auch die Store-Screenshots sind Widget-Tests: Sie rendern die echte App in beiden Sprachen für iPhone, iPad und Android.
Ergebnis
Als Hoop-Fit live auf Google Play, das iOS-Release ist geplant. Die Landingpage hoopfit.app ist ebenfalls in Flutter gebaut und läuft auf Cloudflare Pages.
Stack
Flutter, Dart, get_it, go_router, dart_mappable, Firebase (Auth, Firestore, Cloud Functions, Storage, Messaging, Crashlytics), RevenueCat, sensors_plus, Apple Health, Health Connect, WidgetKit, Live Activities, Jetpack Glance, TelemetryDeck, mocktail, GitHub Actions, Codemagic, Cloudflare Pages