Quando l’AI incontra i dati reali: da Garmin e Strava al mio coach AI

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:

  1. Cosa ho fatto nelle ultime settimane?
  2. Cosa era previsto?
  3. Cosa ho realmente completato?
  4. Qual è stata la progressione?
  5. Quali stimoli ho già ricevuto?
  6. 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?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *