Skip to content
Jul 2024·13 minBuilding

athletic data protocol

man sammelt workouts von zehn verschiedenen creators, und keines davon spricht mit dem anderen. ein system, das aus jedem workout-video die struktur herausliest und es vergleichbar, durchsuchbar und mit der eigenen trainingshistorie verknüpft macht.

der ursprung

es fing mit einem video von chris heria an, abends um kurz nach elf, das handy zu hell für die dunkle wohnung. ich trainiere seit über zehn jahren ernsthaft, ernsthaft genug, dass ich progressive overload in einer tabelle führe und um halb sechs morgens den unterschied zwischen einem rumänischen und einem gestreckten kreuzheben herunterbeten kann, auch wenn mich um diese uhrzeit niemand danach fragt. ich speicherte herias clip, weighted calisthenics, perfekt für den nächsten tag, und schlief mit dem guten gefühl ein, etwas vorbereitet zu haben. am morgen öffnete ich meine trainings-app, um die woche zu planen, und stand vor derselben wand wie schon hundertmal zuvor. das heria-video lag auf youtube. mein log lag in einer tabelle. eine mobility-routine steckte in einem instagram-ordner, den ich ein halbes jahr zuvor „flexibility stuff“ getauft hatte, in jenem anfall von ordnungsliebe, der nie wiederkommt. eine dehnsequenz war in einer yoga-app vergraben. und ein hiit-finisher, den ich mir auf tiktok markiert hatte, war einfach weg, verschluckt von einem feed, den ich nie wieder zurückscrollen würde. vier apps, drei browser-tabs, eine tabelle, alles randvoll mit workouts, die ich wirklich machen wollte, und kein einziges wusste vom anderen.

und selbst wenn ich mir aus alldem einen plan zusammengestückelt hätte, wüsste ich immer noch nicht, wo ich eigentlich stehe. herias video zeigte muscle-ups mit einer zwanzig-kilo-weste; ich schaffe keinen einzigen, nicht einmal ohne weste. was ist also mein weg von hier nach dort, welche progressionen habe ich schon durch, wo bin ich ins plateau gelaufen, was hat letztes mal funktioniert? diese antworten liegen über drei apps verstreut, und viel glück beim einsammeln genau in dem moment, in dem man sie braucht. ich habe hunderte workouts auf einem dutzend plattformen gespeichert, tausende stunden material, alles mit den besten absichten weggelegt und nie wieder angesehen, und bekomme aus dem ganzen berg keinen einzigen zusammenhängenden trainingsplan.

das wissen ist da, es sitzt nur fest

der frust schickte mich in ein kaninchenloch, und was unten lag, war schlimmer als gedacht. das rohmaterial ist überall: jahrelang angesammelte fitness-inhalte auf youtube, tiktok und instagram, dazu übungsdatenbanken, die mehr als tausend bewegungen sauber katalogisieren. was fehlt, ist eine standardisierte art, auch nur ein einziges stück davon mit dem nächsten zu verbinden. jedes video steht für sich, jede trainings-app steht für sich, und die beiden ökosysteme, die das hätten richten sollen, apple health und google fit, sind nicht einmal untereinander interoperabel, geschweige denn mit dem berg an videos außerhalb ihrer mauern. eine studie im journal of medical internet research hat es vor jahren nüchtern festgehalten: fehlende interoperabilität und datensilos hindern nutzer und fachleute daran, je einen integrierten blick auf ihre fitnessdaten zu bekommen. die infrastruktur ist schlicht nicht da, und ein jahrzehnt später ist sie es immer noch nicht.

hör auf, auf die standardisierung der welt zu warten

der klassische lösungsweg besteht darin, jede plattform und jeden creator zu bitten, sich auf ein gemeinsames format zu einigen. dieses koordinationsproblem hat sich als unlösbar erwiesen, und genau deshalb haben wir nach jahrzehnten des versuchens immer noch keine interoperabilität bei fitnessdaten. athletic data protocol dreht die wette um. statt zu warten, dass die welt ihre daten strukturiert, baue ich ein system, das die struktur aus den inhalten zieht, so wie sie schon sind: ein video, eine reihe von screenshots, eine bildunterschrift, der ton von jemandem, der wiederholungen zählt, ganz gleich, woher es kommt, am ende landet alles im selben schema. kein standard, den man den creators aufzwingt, sondern intelligenz, die sich an das anpasst, was sie ohnehin produzieren.

eine übung aus einem video lesen

eine übung ist nicht bloß ein name, sie ist eine dichte kleine informationsstruktur: ein bewegungsmuster wie drücken, ziehen, beugen oder hocken, die hauptbeteiligten muskeln, das gerät, die belastung, und ob sie eine seite nach der anderen gearbeitet wird. ein youtube-titel sagt „chest day“, während die aufnahme in wahrheit ganz bestimmte bewegungen in ganz bestimmter ausführung zeigt, also muss das system die ganze struktur aus teilweisen, impliziten signalen erschließen, oft über mehrere modalitäten verteilt. das heißt, drei ströme zusammenzuführen, die nicht immer einer meinung sind: was die kamera zeigt, was die stimme sagt und was der text behauptet. der wirklich harte teil ist diese fusion, also die frage, wem man glaubt, wenn die ströme sich ergänzen, wiederholen oder schlicht widersprechen, etwa wenn ein video mit dem titel „best bicep exercises“ in wahrheit den trizeps zeigt. dann muss die sichtbare evidenz das etikett überstimmen, und das system muss lernen, wann es welchem signal trauen darf.

auch die wissensseite ist nicht gelöst. forscher haben ontologien gebaut, um bewegung zu formalisieren, von PACOs gut zweihundert klassen bis zur exercise-medicine-ontologie, die ende 2024 erschien, und praktische kataloge führen weit über tausend bewegungen, doch ein systematischer review von achtundzwanzig dieser ontologien gab ihnen im schnitt gerade 4,3 von 12 qualitätspunkten. eine vollständige, allgemein anerkannte landkarte hat schlicht niemand. ein teil der arbeit besteht also darin, auf diesen rahmenwerken aufzubauen und sie zugleich zu dehnen, bis sie die unordentliche vielfalt echter fitness-inhalte fassen.

die architektur

ich habe da angefangen, wo fast alle anfangen: bei der pose estimation. das offene werkzeug ist beeindruckend, mediapipe verfolgt dreiunddreißig körperpunkte in echtzeit, und die forschung macht mut, etwa eine arbeit zur workout-klassifikation, die genau diese gelenkkoordinaten in ein kleines neuronales netz speist und über neunzig prozent erreicht. also baute ich einen prototyp, um zu sehen, ob ich aus einem ganz normalen handyvideo verlässliche gelenkwinkel ablesen und die geometrie mir sagen lassen kann, welche bewegung das ist. es überlebte den kontakt mit der realität nicht. bei einem rumänischen kreuzheben, von der seite gefilmt, war ausgerechnet das gelenk, auf das es ankam, das knie, also genau der winkel, der ein rumänisches von einem gestreckten kreuzheben trennt, das eine, das das modell verlässlich falsch erkannte: mal klappte es das skelett auf den trainer im hintergrund, mal verlor es den unterkörper an ein zu weites hosenbein. es funktionierte am rumpf und versagte am detail, was ungefähr das gegenteil von brauchbar ist. also habe ich es verworfen, und das scheitern zeigte direkt auf das bessere design.

das bessere design besteht darin, das ganze video einem modell zu geben, das gebaut wurde, um es anzusehen. ein nativ multimodales modell, gemini 2.5 flash, nimmt den clip samt ton und eingeblendetem text als ganzes und gibt die übungen, die es sieht, als strukturiertes json zurück, wobei es ein einzelnes stück aufnahme in seine getrennten bewegungen und sätze zerlegt. entscheidend ist, dass es das namensblind tut: es sieht nie die bildunterschrift oder den titel des creators, nur die aufnahme, und lässt sich deshalb nicht zu einem falschen etikett überreden. und es spricht bewusst in kategorien, nicht in zahlen. nirgends gibt es ein feld für „knie bei 137 grad“, denn genau so eine zahl erfindet ein modell mit voller überzeugung; was es stattdessen ausgeben darf, ist ein unterscheidungsmerkmal wie das verhältnis von hüfte zu knie, die lastposition, das gerät, und jedes davon darf leer bleiben, wenn die aufnahme es nicht hergibt. einen wert, den das system nicht sehen kann, kann es auch nicht erfinden.

um diesen visuellen durchgang herum laufen die beiden anderen ströme parallel. whisper transkribiert den ton, weil wiederholungen, die laut mitgezählt werden, selten im bild stehen. die bildunterschrift und jeder text steuern ihre eigenen behauptungen bei. dann übernimmt claude sonnet 4.6 die zusammenführung, nimmt die namensblinde visuelle lesung, das transkript und die bildunterschrift und löst sie in ein einziges workout-objekt auf, über einen tool-aufruf, dessen schema es erfüllen muss, sodass die ausgabe gültiges json ist, weil sie es sein muss, nicht weil man es hofft. günstigere, schnellere arbeit wandert hinunter zu claude haiku 4.5, das muskeln und muster einer bewegung klassifiziert und die knappen fälle entscheidet. es ist das vertraute muster, jedes modell dort einzusetzen, wo es am stärksten ist, ein vision-modell zum schauen, ein sorgfältiges zum zusammenführen, ein schnelles für die masse, statt so zu tun, als könnte ein einziges alles gut. eine regel steht über allem: niemals eine zahl erfinden. jede wiederholungszahl trägt ihre quelle, ob sie im bild stand, angesagt, in die bildunterschrift geschrieben oder bloß vorgemacht wurde, und gibt es keine ehrliche quelle, bleibt das feld leer.

das matching-problem

ein sauberes „rumänisches kreuzheben, 3 sätze à 8“ zu extrahieren, ist erst die halbe arbeit. die andere hälfte ist zu erkennen, dass es dieselbe bewegung ist, die ich vor drei wochen gemacht habe, die jemand anderes „RDL“ nennt und die ein dritter creator als „stiff-leg“ filmt, obwohl die aufnahme klar ein weiches knie und ein sauberes hüftscharnier zeigt. ohne das hat man keine trainingshistorie, sondern einen haufen unverbundener einträge, also genau das problem, mit dem ich angefangen habe. jede extrahierte übung läuft deshalb eine leiter hinab, gegen einen kuratierten katalog aus etablierten kraftsport-referenzen. ein exakter namenstreffer löst sofort auf. scheitert das, kommt eine gelernte alias-tabelle, der man aus echten korrekturen beigebracht hat, dass „RDL“ rumänisches kreuzheben heißt. scheitert auch das, folgen eine namenssuche, dann ein semantisches embedding des namens, und dann der teil, an dem mein herz hängt: ein zweites embedding der bewegung selbst, sodass zwei clips zueinanderfinden, weil sie gleich ausgeführt werden, nicht weil sie zufällig ein wort teilen.

ein name ist ein schwaches signal, und bevor ein treffer durchgeht, muss er deshalb eine reihe struktureller hürden nehmen: das gerät, die beanspruchten muskeln, gelenkaktion und kinetische kette, dazu ein familien-check, der ein schrägbankdrücken davon abhält, im flachbankdrücken aufzugehen, oder ein rumänisches kreuzheben im konventionellen. in der grauzone, wo zwei kandidaten haarscharf beieinanderliegen, rät das system nicht; es fragt claude nach einem urteil, gleich, variante oder verschieden, und wenn es dann immer noch unsicher ist, enthält es sich, markiert den eintrag für einen menschen und legt die alternativen offen, statt sich auf eine selbstbewusst falsche antwort zu versteifen. der leitende instinkt lautet „lieber eine neue übung anlegen als die falsche zuordnen“, denn ein falscher treffer verfälscht die historie still und leise, auf eine art, die später kaum noch auffällt. jede dieser entscheidungen wird mit ihrer konfidenz gespeichert, und genau das wird es eines tages erlauben, die schwellen an echten ergebnissen zu justieren statt an meinem bauchgefühl. und weil dieselbe bewegung eine seite nach der anderen belastet werden kann, verfolgt das modell die seite bis hinunter zum satz und führt für links und rechts ein getrenntes protokoll und einen getrennten bestwert, was die meisten apps stillschweigend wegmitteln.

wo es steht

öffentlich gebaut, halb fertig. die import-pipeline läuft heute über instagram, tiktok, youtube und schlichte screenshots, und die schwere arbeit passiert asynchron, sie dauert für einen frischen clip rund fünfundzwanzig sekunden; ein virales reel, das jemand vor mir importiert hat, kommt fast augenblicklich zurück, weil die teure extraktion zwischengespeichert ist und nur das matching pro nutzer noch einmal läuft. die matching-leiter, die strukturellen hürden, die seitengenaue verfolgung und die konfidenz-telemetrie sind alle real und stehen im code.

was ich nicht tun werde, ist eine schlagzeilen-genauigkeit in den raum zu stellen, denn ich habe keine, für die ich das wort „forschung“ geradestehen würde. es gibt keine ehrliche einzelzahl ohne ein beschriftetes evaluationsset, das man dem system vorenthält, und dieses set zu bauen, ein paar dutzend videos mit geprüfter wahrheit, an denen ich die pipeline messen kann, ist der nächste echte arbeitsschritt, keine bereits erledigte sache. jede prozentzahl, die ich vorher druckte, wäre theater. was ich sagen kann: es ist gut genug, dass ich es für mein eigenes training nutze, und die fehler tauchen dort auf, wo man sie erwartet, bei mieser videoqualität und an den rändern des schemas, nicht beim modell, das ein sauber ausgeführtes heben falsch liest.

ain

athletic data protocol ist der motor; ain ist die app, die darauf fährt. die idee ist simpel. man importiert ein workout von überall her, ein youtube-video, ein instagram-reel, ein tiktok, ein paar screenshots, und sieht zu, wie daraus ein strukturierter eintrag in einer einzigen persönlichen bibliothek wird, durchsuchbar, vergleichbar und an die eigene historie geknüpft, sodass die mitmach-sessions und das logbuch aus dem studio endlich am selben ort liegen und auf denselben rekord einzahlen. heute erledigt ain den import, den katalog und die suche und trackt eine einheit live mit, mit seitengenauen bestwerten; die größeren brocken, offline-first-sync, ein richtiger workout-editor und eine coaching-schicht über der historie, liegen noch vor mir. early access kommt.

die grenzen

ich nenne die harten teile lieber selbst, als sie später auftauchen zu lassen. ohne ein formelles evaluationsset gibt es noch keine bestätigte genauigkeitszahl, und das ist eine echte lücke, keine rhetorische; das system ist ausdrücklich nicht klinisch validiert und hat ohne fachperson im spiel nichts in der nähe einer verletzungs-reha verloren. es geht von einer person im bild aus, es schwächelt bei schlechtem licht und schrägen winkeln, und es denkt auf englisch, also sind gruppenkurse, partnerübungen und der reiche deutsche und spanische fitness-wortschatz allesamt offenes gelände. es gibt auch ethische kanten. strukturierte daten von sozialen plattformen zu lesen, ist eine echte rechtliche grauzone, also arbeitet das system nur mit inhalten, die jemand bereits öffentlich gemacht hat, und es nimmt die fakten eines workouts, die sätze und die wiederholungen, nicht den kreativen ausdruck drumherum. und eine trainingshistorie ist für sich schon sensibel, denn wann und wie jemand trainiert, verrät mehr über sein leben, als es aussieht.

der punkt

die fragmentierung von fitnessdaten ist keine technische grenze, sie ist ein architekturfehler. wir haben die videos längst, die übungsdatenbanken und die modelle, die einen clip ansehen und lesen können; sie reden nur nicht miteinander. athletic data protocol ist die schicht, die sie zum reden bringt, nicht indem sie auf die standardisierung der welt wartet, sondern indem sie struktur aus den inhalten liest, so wie sie sind, und sich enthält, wo sie es nicht kann. was vor mir liegt, ist ehrliche forschung, keine fertige behauptung: ein echtes evaluationsset, eine fusion, die widerspruch besser aushält, mehr sprachen, mehr als ein körper im bild. wer je versucht hat, aus lauter über fünf apps verstreuten lesezeichen einen echten trainingsplan zu bauen, für den hätte das vor zehn jahren existieren müssen. ich baue es jetzt.

referenzen

  1. Gay, V., & Leijdekkers, P. (2015). Bringing Health and Fitness Data Together for Connected Health Care: Mobile Apps as Enablers of Interoperability. Journal of Medical Internet Research, 17(11):e260.
  2. ExerciseDB. (2025). ExerciseDB API Documentation.
  3. Jin, Q. et al. (2019). Developing a Physical Activity Ontology to Support the Interoperability of Physical Activity Data. Journal of Medical Internet Research, 21(4):e12776.
  4. Liu, X. et al. (2024). Core reference ontology for individualized exercise prescription. Scientific Data, 11, 1349.
  5. Braun, M. et al. (2023). Content and quality of physical activity ontologies: a systematic review. International Journal of Behavioral Nutrition and Physical Activity, 20(1):28.
  6. Google. (2024). MediaPipe Pose Landmarker.
  7. Bang, G.-S., & Park, S.-B. (2024). Workout Classification Using a Convolutional Neural Network in Ensemble Learning. Sensors, 24(10):3133.
  8. Google. (2025). Video understanding — Gemini API.
  9. OpenAI. (2022). Introducing Whisper.
  10. Tang, Y. et al. (2025). Video Understanding with Large Language Models: A Survey. IEEE Transactions on Circuits and Systems for Video Technology.
  11. Anthropic. (2026). Structured outputs — Claude Docs.

last updated: Jun 2026