TEPY
KI-Physiotherapie bei Muskelschmerzen: zeigen, wo es wehtut, einen Plan aus Selbstmassage und Übungen erhalten und ihn per Video umsetzen.
- Rolle
- Fullstack-Entwickler: die gesamte mobile App und ihre Cloud Functions
- Auftraggeber
- TEPY
- Zeitraum
- 2023 – heute
- Plattformen
- iOS und Android aus einer Flutter-Codebasis
Das Produkt
TEPY macht aus dem ersten Besuch beim Physiotherapeuten ein Gespräch mit dem Smartphone. Man zeigt ihm an einem 3D-Körper, wo es wehtut, wie stark, seit wann, wie es sich anfühlt und welche Bewegungen den Schmerz auslösen; als Antwort kommt ein Plan aus Selbstmassage- und Übungseinheiten, verteilt auf die folgenden Wochen.
Jede Einheit ist eine Playlist kurzer Videos mit Timer, Sätzen und Wiederholungen sowie gesprochenen Hinweisen. Rund um den Plan gibt es Routinen für den Tag (Aufwärmen, Cool-down, Mobilität, Muskelregeneration, eine Pause am Schreibtisch) und eine Fortschrittsansicht, die mitzählt.
- 95%
- der Commits der App stammen von mir (547 von 574)
- 65k
- Zeilen Dart, ohne generierten Code
- 7
- Sprachen in der Benutzeroberfläche
- 3 Jahre
- durchgehende Entwicklung, seit Mai 2023
Rundgang
Die App in Aktion
Wählen Sie eine Aufnahme oder springen Sie direkt zu einem Kapitel.

Aufgezeichnet aus dem aktuellen Code in Smartphone-Größe, mit einem Ersatz-Backend und den Übungen und Videos der App. Ohne Ton.
Funktionen
Von „Hier tut es weh“ zu einem Plan, den man durchhält
01
Ein Onboarding, das den Plan vorbereitet
Anmeldung mit Apple oder Google oder mit einem Firmencode für Beschäftigte von Partnerunternehmen. Zur Einwilligung gehört eine verständliche Erklärung, was der Algorithmus tut und was nicht. Dann ein kurzes Profil (Alter, Körper, Art des Arbeitstags, wie aktiv man ist, Sport und die eigenen Hilfsmittel), anhand dessen das Backend die Übungen auswählt.
02
Schmerz, verortet an einem 3D-Körper
Der Körper lässt sich drehen und zoomen, bis der Fingertipp genau die richtige Stelle trifft; das Backend ordnet sie einer Zone zu. Dazu die Intensität auf einer Skala von 0–10 mit einer Beschreibung für jede Stufe, wie lange der Schmerz schon anhält, die Empfindungen rundherum und welche Bewegungen an welchem Punkt wehtun, jeder Test als Video in Schleife.
03
Ein Plan, der sich nach dem Schmerz richtet
Die höchste Schmerzstufe bestimmt die Dauer des Plans, von drei bis etwa sieben Wochen, und welche Tage für Selbstmassage, Übungen oder Pause vorgesehen sind. Ändern sich die Schmerzpunkte, schlägt die App eine Neuberechnung des Plans vor; die Wochenleiste zeigt, was ansteht und was erledigt ist.
04
Einheiten als Vollbildvideo
Eine Einheit ist eine Playlist. Jede Übung läuft im Vollbild mit Timer oder Wiederholungszähler, die Details nur eine Wischgeste entfernt, dazu gesprochene Hinweise; zur nächsten Übung geht es mit einem Wisch nach oben. Wer mittendrin aufhört, behält den Fortschritt für später.
05
Routinen für den Rest des Tages
Aufwärmen, Cool-down, Mobilität und Muskelregeneration werden auf Wunsch aus den gewählten Körperbereichen und den vorhandenen Hilfsmitteln zusammengestellt. Der Bereich Wohlbefinden ergänzt kurze Routinen für den Morgen, den Schreibtisch und den Abend.
06
Fortschritt und Abo
Serie, investierte Zeit, absolvierte Übungen und ein Wohlbefindenswert zeigen ehrlich, ob man den Plan einhält. Vollen Zugriff gibt es per Abo über den App Store oder Google Play; der Server prüft es, bevor irgendetwas freigeschaltet wird.
Unter der Haube
So wurde es entwickelt
Zustand und Navigation
Durchgängig Riverpod, mit generierten Providern und unveränderlichen Modellen (freezed, json_serializable). Ein einziger go_router-Redirect entscheidet über jeden Einstiegspunkt (Anmeldung, Einwilligung, Vervollständigung des Profils, erzwungenes Update), sodass ein Deep Link oder ein Neustart immer dort landet, wo das Konto tatsächlich steht.
Firebase und die Cloud Functions dahinter
Auth für die Anmeldung mit Apple, Google und E-Mail-Link; Firestore für Plan, Einheiten und Fortschritt des Nutzers; Crashlytics und Analytics. Die Cloud Functions, die ich parallel zur App geschrieben habe, prüfen Abos aus dem App Store und von Google Play auf dem Server, erzeugen die gesprochenen Hinweise per Sprachsynthese und verschicken die geplanten Erinnerungen. Die klinische Logik (Befunderhebung, Programme, Übungsauswahl) steckt in einer REST-API, die das Backend-Team entwickelt hat.
Eine Gesundheits-App auslieferbar halten
Integrationstests mit Patrol im iOS-Simulator und auf einem Android-Emulator mit 16 KB Seitengröße, der Konfiguration, die Google Play inzwischen verlangt. Eine Compliance-Prüfung nach der KI-Verordnung der EU (AI Act) und den Vorgaben für Medizinprodukte: Kennzeichnungshinweise, Formulierungen der Einwilligung und nichts, was sich wie eine Diagnose liest.
Eine Live-App aufzeichnen
Die App ist echt. Alles, was sie zeigt, nicht.
Hinter TEPY stehen echte Nutzer, echte Gesundheitsdaten und ein kostenpflichtiges Abo. Nichts davon gehört in ein Portfolio, deshalb verwenden die Aufnahmen eine eigenständig laufende Kopie des aktuellen Codes.
- 1
Der aktuelle Code, gebaut für den Browser
Ein Flutter-Web-Build in Smartphone-Größe, der glaubt, auf einem iPhone zu laufen. Was es nur auf einem Smartphone gibt (den App Store, Push-Benachrichtigungen, die Tracking-Abfrage, die Absturzberichte), wird durch kleine Platzhalter ersetzt.
- 2
Firebase ohne Firebase
Anmeldung und Datenbank laufen auf den In-Memory-Fakes, die das Projekt bereits in seinen Tests verwendet; einer davon brauchte einen Patch von zwei Zeilen, um in einem Release-Build zu funktionieren. Ein Schalter in der URL lädt entweder einen ersten Start oder einen wiederkehrenden Nutzer mit einigen Wochen Verlauf.
- 3
Ein Ersatz für die REST-API
Der HTTP-Client wird gegen einen ausgetauscht, der innerhalb der App antwortet, mit den Routen und JSON-Strukturen, die die Modelle erwarten: Schmerzzonen, Bewegungstests, Pläne, Routinen und zwanzig Übungen des Dienstes, mit den Namen und Kernpunkten aus seinem Katalog.
- 4
Die Medien der App, offline aufgezeichnet
Die Bilder und das Video der Anmeldung sind die, die mit der App ausgeliefert werden. Die Videos zu Übungen, Bewegungstests und Selbstmassage, ihre Vorschaubilder und die Icons kommen aus dem CDN, von dem die App sie streamt: einmal per Skript abgerufen, verkleinert und mit der Demo gebündelt. Das Aufnahmeskript blockiert jede Anfrage, die den Rechner verlassen würde, sodass keine Aufnahme den echten Dienst erreichen kann.
Logo, Oberfläche, das 3D-Körpermodell, die Bilder, die Übungen und ihre Videos stammen aus der App. Nutzer, Schmerzpunkte, Pläne und Fortschritt sind Beispielinhalte, die für dieses Portfolio erstellt wurden.

Hier gibt es keine Demo zum Ausprobieren: TEPY ist ein Live-Produkt, deshalb zeigt diese Seite Aufnahmen einer eigenständig laufenden Kopie.
Alle Bildschirme
Alle Screenshots im Überblick
AnmeldungApple, Google oder ein Firmencode. Im Hintergrund läuft ein Video in Schleife. Funktionsweise und EinwilligungWas der Algorithmus tut und was nicht, noch vor allem anderen. ProfilGeburtsdatum, Gewicht und Größe über Auswahlräder im nativen Stil. ArbeitstagDie Körperhaltung im Lauf des Tages bestimmt das Programm mit. SportDurchsuchbare Liste; die Auswahl passt Aufwärmen und Regeneration an. Profil vollständigNächster Schritt: angeben, wo es wehtut, jetzt oder später. AboStore-Produkte mit lokalisierten Preisen (Beispielpreise in der Demo). AbonniertDas Backend bestätigt den Kauf, bevor die App freigeschaltet wird. StartseiteDer Plan für die Woche, ab heute. HeuteDer Wochenplan und die heutige Einheit. Die genaue StelleVergrößerte Ansicht: Das Backend ordnet den Punkt einer Körperzone zu. Wie starkSchmerzintensität auf einer Skala von 0–10, mit einer Beschreibung für jede Stufe. Wie es sich anfühltEmpfindungen rund um die schmerzende Stelle. Welche Bewegungen wehtunJeder vorgeschlagene Test läuft als Video in Schleife. Wo in der BewegungAn welchem Punkt der Bewegung der Schmerz einsetzt. ZusammenfassungAlle Angaben zu diesem Schmerzpunkt, vor dem Bestätigen noch änderbar. Plan veraltetDie Schmerzpunkte haben sich geändert: Die App schlägt vor, den Plan neu zu berechnen. Neuer PlanTage mit Selbstmassage und mit Übungen richten sich nach der Schmerzstärke. Heutige EinheitDie Playlist des Tages, mit Zeiten und Hinweisen. PlayerVollbild, nach oben wischen für die nächste Übung, Timer und akustische Hinweise. FitnessbereichMobilität, Muskelregeneration, Aufwärmen und Cool-down. Zu trainierende BereicheDie Routine entsteht aus den gewählten Körperbereichen… Vorhandene Hilfsmittel…und aus den Hilfsmitteln, die der Nutzer besitzt. MobilitätsroutineDie erzeugte Playlist. ÜbungTimer, Sätze und Wiederholungen, Details zur Übung bei Bedarf. Bereich WohlbefindenSelbstmassage, angeleitete Übungen und kurze Routinen für den Tag. FortschrittSerie, investierte Zeit, absolvierte Übungen und ein Wohlbefindenswert. MenüPlan und Abo, Tutorials, rechtliche Hinweise.
Nächste Fallstudie
Re.corder →