Πώς έκανα τα νούμερα από το fitness tracker μου να δείχνουν επικό - Αυτόματα
Πώς έφτιαξα ένα αυτοματοποιημένο σύστημα για να καταλάβει επιτέλους η εφαρμογή γυμναστικής μου τι γυμνάζομαι
Θα δούμε:
- Το πρόβλημα: οι εφαρμογές fitness καταγράφουν νούμερα αλλά χάνουν το νόημα
- Η λύση: συνδυάζοντας structured δεδομένα με AI που "βλέπει"
- Πώς λειτουργεί το pipeline ( με δικά μου λόγια)
- Τον coding agent σαν εργαλείο παραγωγικότητας
- Τι έμαθα και πού πάμε από εδώ
Η αλήθεια είναι απλή
Οι εφαρμογές γυμναστικής μετράνε άριστα. Καταλαβαίνουν ελάχιστα.
Το Samsung Fit 3 μου δείχνει ότι έκανα 45 λεπτά "βάρη". Το Strava καταγράφει την διαδρομή του τρεξίματός μου με GPS ακρίβεια. Μαζί, μου δίνουν έναν τεράστιο όγκο μετρήσεων: καρδιακούς παλμούς, απόσταση, επεισόδια, χρόνους ανάκαμψης.
Αυτό που δεν μου λέει καμία εφαρμογή είναι αν εκείνη η προπόνηση 45 λεπτών ήταν δύναμη με βαριά σύνθετα κινήματα ή αν ήταν μέρα αποκατάστασης με εστίαση στην κινητικότητα.
Το κενό μεταξύ αριθμών και νοήματος
Κάπου εκεί βρίσκεται η αρχή αυτού του project.
Είχα μια συλλογή από φωτογραφίες από τον πίνακα του γυμναστηρίου μου. Εκεί ο προπονητής σχεδίαζε τη δομή κάθε session: ασκήσεις, σετ, επαναλήψεις, επικέντρωση. Αυτές οι φωτογραφίες περίμεναν στο τηλέφωνό μου, αχρησιμοποίητες.
Τα δεδομένα του Strava ήταν στο cloud, οργανωμένα και προσβάσιμα μέσω API.
Η πληροφορία που έλειπε; Καθόταν σε ένα folder.
Ένα pipeline που συνδυάζει τα δυνατά σημεία κάθε συστήματος
Η αρχιτεκτονική που έφτιαξα ακολουθεί μια απλή λογική:
Fetch → Process → Extract → Visualize
Fetch: Ένα Python script τραβάει όλες τις δραστηριότητές μου από το Strava μαζί με τις συνημμένες φωτογραφίες. Το script κρατάει τοπικό cache, οπότε αν κοπεί η σύνδεση, συνεχίζει από εκεί που σταμάτησε.
Process: Κατεβάζω τις νέες φωτογραφίες από τον πίνακα του γυμναστηρίου. Μέχρι πρόσφατα, δεν είχα σκεφτεί να τις φωτογραφίζω καν — ένα κενό που διόρθωσα πολύ εύκολα.
Extract: Εδώ μπαίνει ο AI coding agent με δυνατότητες όρασης. Για κάθε φωτογραφία πίνακα, τον ρωτάω να μου δώσει τη δομή της προπόνησης σε structured μορφή:
{
"type": "workout",
"exercises": [
{
"name": "Romanian deadlift",
"sets": 4,
"reps": "8-10",
"weight": "60kg",
"muscle_groups": ["posterior chain", "glutes"]
}
],
"focus": "strength",
"notes": "Felt strong today, increased weight from last week"
}
Visualize: Με τα structured δεδομένα συνδυασμένα με τις μετρήσεις του Strava, η δημιουργία του τελικού infographic γίνεται απλή υπόθεση. Ένα HTML template συγκεντρώνει τα πάντα σε μια εικόνα έτοιμη για share.
Γιατί η ταξινόμηση ήταν πιο απλή απ' ό,τι περίμενα
Τα labels στο Strava μου ήταν χάος. "Βάρη", "Γυμναστήριο", "Workout", "Training" — τρία χρόνια αυθαίρετης ονοματοδοσίας χωρίς κανένα σύστημα.
Αντί να φτιάξω ένα πολύπλοκο classification model (υπερβολικό για personal project), χρησιμοποίησα έναν прагматичή προσέγγιση: συνδυάζω το activity type του Strava, λέξεις-κλειδιά από τον τίτλο, και τα δεδομένα από τη φωτογραφία.
Η λογική:
- "Squat", "deadlift", "bench" + φωτογραφία με ασκήσεις δύναμης = strength workout
- "Mobility", "stretch", "recovery" + εικόνες με διατάσεις = mobility session
- Απόσταση + διάρκεια + καμία φωτογραφία gym = τρέξιμο (το GPS του Strava είναι αξιόπιστο εδώ)
Αυτός ο υβριδικός classification ήταν αρκετά καλός για μια προσωπική ανασκόπηση.
Το MCP experiment
Πειραματίστηκα γρήγορα με το Model Context Protocol του Strava. Για fetching metadata, λειτουργούσε εξαιρετικά. Το πρόβλημα: δεν έδινε πρόσβαση στις φωτογραφίες.
Για projects που θέλουν μόνο νούμερα, το MCP θα επιτάχυνε σημαντικά την ανάπτυξη. Για αυτή τη χρήση, το χειροκίνητο script έμεινε η καλύτερη επιλογή.
Τι σημαίνει αυτό για τους AI coding agents
Το πραγματικό value αυτού του project δεν ήταν το infographic. Ήταν η επίδειξη του πώς οι AI agents μπορούν να λειτουργήσουν σαν flexible middleware μεταξύ πηγών δεδομένων και επιθυμητών outputs.
Τα παραδοσιακά εργαλεία automation ακολουθούν άκαμπτη λογική: αν αυτό, τότε εκείνο. Οι coding agents μπορούν να σκεφτούν cross-modality. Κοιτάζουν μια εικόνα, καταλαβαίνουν το context, δημιουργούν structured δεδομένα. Προσαρμόζονται όταν εμφανίζονται edge cases. Και — κρίσιμο σημείο — σε βοηθάνε να χτίσεις το automation itself, δεν απλώς εκτελείς εντός του.
Για developers και τεχνικούς entrepreneurs, αυτό είναι fundamental shift. Η ερώτηση δεν είναι πια "Μπορώ να το αυτοματοποιήσω;" αλλά "Πόσο γρήγορα μπορώ να κάνω iterate στο automation;"
Επόμενα βήματα
Σκέφτομαι να τρέξω ένα local model για αυτό το workflow, κρατώντας τα πάντα on-device για privacy. Το Strava API είναι ωραίο, αλλά υπάρχει κάτι ικανοποιητικό στο να μην στέλνεις τις προπονήσεις σου σε server.
Αν έχετε παρόμοια personal automation projects ή workflows με fitness agents, θα χαρώ να τα ακούσω.
Μερικές φορές τα πιο ικανοποιητικά projects δεν είναι αυτά που κλιμακώνονται — είναι αυτά που κάνουν επιτέλους τα δικά σου δεδομένα να πουν τη δική σου ιστορία.