Claude Code eröffnet mir etwas, was ich mangels Zeit und nötiger Code-Kenntnisse so nicht umsetzen konnte. Ich weiß, was Programmieren ist, ich kann Code lesen, ich verstehe (meistens) was er macht, zumindest in Sprachen wie Python 3, Java, JS und PHP. Ich habe das abstrakte Denken dafür bzw. das Verständnis. Was ich nicht kann und was ich nie geschafft habe mir beizubringen, ist selbst zu programmieren.
Aber das, was ich kann, hilft schon sehr, um a) zu formulieren, was ich wie haben will, und b) um Code zu reviewen.
Zwei iOS-Apps habe ich mittlerweile eingereicht: MyIronLog (bald im iOS App Store) und MyFillLog (bald im iOS App Store). Beide Apps sind mehr oder minder aus einerseits Interesse, aber auch aus der Not heraus entstanden, um eine einfache HTML/JS-Webapp (MyIronLog) und eine quasi Excel-Tabelle (Apple Numbers) abzulösen, mit der ich meine Tankstopps erfasst habe.
Nativ funktionieren diese beiden Apps super. Und um für die Zukunft gerüstet zu sein, bieten beide serienmäßig Backups und CSV-Exporte an.
Digital unabhängig
Mit einem weiteren Projekt treibe ich das nun auf die Spitze – zumindest für mich persönlich. Jeder kennt wohl Strava. Strava nutze ich eigentlich seit Jahren, früher mit meinen Polar Sportuhren, später dann mit der Apple Watch; am Ende landen alle Daten immer in Strava. Warum? Weil es recht viel bietet. Aber eigentlich ist das nicht nötig:
Ich baue mir mein eigenes Strava!
MyActivityLog heißt das, und es besteht aus zwei Applikationen. Einerseits einer iOS-App namens MyActivityLog Bridge, die, wie der Name schon sagt, eine Verbindung herstellt, und zwar aus Apple Health heraus. Alles an Workouts, die ich mit der Apple Watch aufzeichne, landet in Apple Health. Apple Health bietet aber keine API, um die Daten einfach abzugreifen, daher ist eine App mit entsprechenden Berechtigungen nötig, die die Daten abfragt.
Im Moment exportiert MyActivityLog Bridge ein Workout, einen Zeitraum oder „alles“ in ein JSON.



Da wären wir dann bei MyActivityLog. MyActivityLog ist eine Webanwendung, die in einem Docker-Container läuft. Python für das Backend und Vue.js für das Frontend. Dort kann ich das JSON dann importieren und bekomme die Workouts fein präsentiert.





Was bereits funktioniert, ist der Fitnessverlauf, eine Heatmap, die Anzeige der Workouts samt Routen und Herzfrequenz und auch übereinstimmende Segmente, um Teile von Läufen zu vergleichen. Es ist ein Single-User-System mit Passwort und TOTP. Schnell, sicher und die Daten bleiben bei einem selbst.
Was auch funktioniert ist ein Workout per Link lesend zu teilen. Die Gültigkeit des Links lässt sich dabei einstellen. Eine geteilte Aktivität sieht dann so aus.
Weiter?
Das soll kein Schnellschuss werden. Das Projekt, also die Webanwendung MyActivityLog, werde ich unter MIT-Lizenz definitiv veröffentlichen. Die App, also die Bridge, bleibt vorerst geschlossen. Da passiert aber auch nicht viel Hexenwerk. Dann können Interessierte mitarbeiten, forken und sich das selbst hosten. Was ich nicht haben will, sind überhastete Veröffentlichungen. Auch wenn ich viel mit Claude entwickle, den Code sehe ich mir weiter selbst genau an. Und es gibt noch ein paar Bugs, Improvements und Feature Requests.
Was ich nicht will, ist eine neue Sportcommunity. Hiermit soll sich jeder, der auf Datenschutz bedacht ist, aber nicht auf Komfort verzichten will, sein eigenes Workout-Tagebuch hosten können – mit vielen interessanten Zahlen und Diagrammen.
Es wird auch eine API geben, um gegebenenfalls in Zukunft auch Garmin, Polar oder andere einbinden zu können.
Ideal eigentlich für den den Digital Independence Day und das nächste etwas mehr Unabhängigkeit von US Diensten. Nur Apple, wird man nicht so einfach los merke ich…




Schreibe einen Kommentar