A questo punto AI-nuoto sapeva perfettamente cosa era stato programmato.
Ma non necessariamente cosa avevo fatto, ed è una differenza enorme.
Final Surge può dirmi che il 6 agosto erano previsti determinati metri e determinati lavori.
Ma se quel giorno ho nuotato 3.500 metri, oppure ne ho fatti 2.000, oppure non sono proprio entrato in acqua, un coach intelligente dovrebbe saperlo.
Nasce così una distinzione fondamentale del progetto:
PLANNED ≠ COMPLETED
Non volevo che AI-nuoto vedesse un allenamento nel calendario e concludesse automaticamente che fosse stato eseguito.
Serviva quindi un’altra fonte dati, ed entra in gioco Strava.
Il Garmin registra praticamente ogni mio allenamento.
La strada ideale sarebbe quindi:
Garmin → AI
ma l’accesso diretto ai dati Garmin tramite le API ufficiali non è la soluzione più semplice per un piccolo progetto personale.
Fortunatamente nel mio ecosistema esiste già un ottimo ponte, Strava !!!
Garmin Connect sincronizza automaticamente le attività con Strava. Strava dispone inoltre di API che permettono, previa autorizzazione OAuth, di interrogare le attività dell’atleta.
A questo punto il nerd ha definitivamente preso il sopravvento sul vacanziere.
Ho creato una piccola applicazione Strava chiamata, naturalmente, AI-nuoto.
Poi ho configurato una Action nel mio GPT utilizzando OAuth e le API Strava, inizialmente esclusivamente in lettura (Nessuna possibilità di modificare o pubblicare attività).
Solo leggere ciò che serve al coach
Le prime operazioni sono volutamente semplici:
- getAuthenticatedAthlete
- getRecentActivities
- getActivityDetails
Dopo qualche passaggio tra Client ID, Client Secret, callback URL e OAuth, è arrivato il momento del test.
AI-nuoto ha interrogato e Strava ha risposto recuperando realmente le mie attività recenti, riconoscendo tra queste i miei allenamenti di nuoto.
A quel punto il progetto ha cambiato natura: Planned + Completed.
AI-nuoto dispone di due prospettive differenti.
Da una parte: Final Surge → cosa era previsto
Dall’altra: Garmin → Strava → cosa è realmente successo
E in mezzo: Profilo atleta → chi sta facendo quegli allenamenti
L’AI può quindi iniziare a ragionare su qualcosa di molto più interessante:
Previsto → Eseguito → Differenza → Decisione successiva
L’architettura concettuale è diventata:
Final Surge → Planned
↓
Knowledge Base
Garmin → Garmin Connect → Strava API → Completed
↓
AI-nuoto
Profilo atleta → Context
↓
Analisi → prossimo allenamento
Ed è qui che, secondo me, l’AI applicata allo sport comincia davvero a diventare interessante dato che l’obiettivo del progetto non è costruire una macchina che dica: “Oggi fai 10×100 A2 recupero 15 secondi” (un normale LLM può già generare qualcosa del genere in pochi secondi).
Quello che sto cercando di costruire è un sistema capace di rispondere prima ad altre domande:
- Cosa ho fatto nelle ultime settimane?
- Cosa era previsto?
- Cosa ho realmente completato?
- Qual è stata la progressione?
- Quali stimoli ho già ricevuto?
- Qual è il mio obiettivo attuale?
E soltanto dopo:
- Cosa avrebbe senso fare adesso?
È una differenza sostanziale.
L’AI non diventa interessante quando genera più velocemente una scheda.
Diventa interessante quando dispone del contesto necessario per prendere una decisione migliore.
Il vero progetto è trasformare dati in contesto
Alla fine dei miei primi due giorni di ferie mi sono reso conto che AI-nuoto è in realtà un piccolo laboratorio su qualcosa di molto più grande.
Abbiamo già moltissimi dati personali e professionali distribuiti in applicazioni differenti, il problema è che ogni componente conosce soltanto un pezzo della storia.
L’AI può diventare lo strato capace di collegare questi pezzi
Nel mio piccolo esperimento:
- Final Surge conosce il programma.
- Garmin conosce il gesto eseguito.
- Strava rende accessibile l’attività.
- La Knowledge conserva la storia.
- Il profilo fornisce il contesto.
- L’AI mette tutto in relazione.
La sequenza che mi interessa è quindi:
DATA → KNOWLEDGE → CONTEXT → DECISION
E probabilmente è questo l’aspetto che continuerò a esplorare.
Perché, da nerd appassionato di tecnologia e di lunghe nuotate in acque libere, c’è qualcosa di particolarmente affascinante nell’idea che anni di vasche, chilometri, test, gare e allenamenti non rimangano semplicemente righe archiviate dentro qualche applicazione.
Possono diventare memoria utilizzabile.
E una memoria utilizzabile può diventare contesto e il contesto diventa analisi.
E l’analisi, può aiutarmi a fare una cosa molto semplice:
Nuotare meglio e più veloce!
Nei prossimi articoli: Garmin, Strava e AI: come trasformare i dati reali dell’allenamento in informazioni utilizzabili da un agente AI.
Qui entreremo più nel tecnico: API, OAuth, GPT Actions, Planned vs Completed e architettura dell’integrazione, senza perdere di vista la domanda fondamentale: quali dati servono davvero a un’AI per capire come ci stiamo allenando?

