Hvordan jeg pustet liv i treningsdataen med AI-agenter
Hvordan jeg fikk treningsdataen min til å fortelle en historie
Dette dekker jeg:
- Problemet: treningsapparater gir tall, men mangler kontekst
- Løsningen: kombinere strukturerte data med AI-syn
- Hvordan pipeline-arkitekturen fungerer
- Kodingsagenten som produktivitetsmultiplikator
- Lærdommer og fremtidsmuligheter
La meg være direkte: treningsapper er flinke på å logge tall, men elendige på å fortelle historier. Løpeappen din vet at du løp 42 kilometer forrige måned. Det den ikke vet, er at du trener mot ditt første halvmaraton – eller at øktene var del av en nøye planlagt periodisering du fotograferte fra treningssenterets tavle.
Denne kløften mellom data og kontekst ble starten på et lite sideløpsprosjekt som perfekt illustrerer hvorfor AI-kodingsagenter blir uunnværlige for personlige automatiseringsløsninger.
Problemet med bare metrikk
Jeg bruker Samsung Fit 3 for gymsøyler og Strava for løpeturer. Oppsettet fungerer bra – treningsarmbåndet synkroniserer med Strava automatisk og gir meg all standard aktivitetsmetadata: varighet, distanse, høydemeter, pulssoner, tidsstempler.
Men her er hva Strava aldri vil fortelle deg: om den "vekttreningsøkten" var en styrkedag med komplekse løft eller en mobilitetsfokusert restitusjonsøkt. Appen vet jeg gjorde noe i 45 minutter. Den har null peiling på at jeg jobbet gjennom en goblet-squat-progresjon med 24 kilo mens traineren min skriblet øktstrukturen på en tavle jeg aldri tenkte på å fotografere før nylig.
Konteksten levde utelukkende i bildene jeg hadde lagt ved mine Strava-innlegg. Treningssenterets tavle dokumenterte den faktiske øktstrukturen – bevegelser, sett, reps, fokusområder, og det kritiske skillet mellom restitusjonsdager og intensive treningsblokker.
Strava fanget kvantiteten. Bildene ga kvaliteten.
Å bygge en personlig datapipeline
Løsningen var ikke ett enkelt verktøy – det var en pipeline som lot flere systemer spille på sine styrker. Slik endte arkitekturen opp:
Hent → Prosesser → Extraher → Visualiser
Først hentet et enkelt Python-skript alle mine Strava-aktiviteter sammen med tilknyttede bilder. Skriptet opprettholdt en lokal cache, noe som betydde at det kunne hoppe over allerede nedlastede medier og fortsette der det slapp ved eventuelle avbrudd.
Deretter kom den interessante delen: å ekstrahere treningskontekst fra gymtavlebildene.
Jeg brukte Claude Code som en kodingsagent med visionsfunksjoner. For hvert gymtavlebilde ba jeg agenten generere en strukturert JSON-beskrivelse av økten:
{
"type": "workout",
"exercises": [
{
"name": "Rumensk markløft",
"sets": 4,
"reps": "8-10",
"weight": "60kg",
"muscle_groups": ["bakre kjede", "setemuskler"]
}
],
"focus": "strength",
"notes": "Følte meg sterk i dag, økte vekt fra forrige uke"
}
Agent-i-loopen viste seg bemerkelsesverdig effektiv. Hvis de ekstraherte dataene så feil ut, slettet jeg bare den JSON-filen og genererte den på nytt. Hvis et bilde allerede var prosessert, hoppet skriptet over det. Arbeidsflyten var gjenopptakbar, rettebare, og – viktigst – iterativ.
Når jeg først hadde strukturerte treningsdata kombinert med Stravas metrikk, ble rendering av den endelige infografikken grei. En enkel HTML-mal samlet alt til en delbar PNG-poster.
Hvorfor klassifisering var enklere enn forventet
Mine Strava-aktivitetsmerker var ikke akkurat konsistente. Noen styrkeøkter var merket "weight training," andre bare "workout." Mobilitetsdager dukket noen ganger opp som generiske aktiviteter. Rotet var helt og holdent mitt eget – tre år med tilfeldig merking uten noe standardisert system.
Istedenfor å bygge en sofistikert klassifiseringsmodell (som hadde vært overflødig for et personlig prosjekt), brukte jeg en pragmatisk tilnærming: kombinere Stravas aktivitetstype, tittel-nøkkelord, og de ekstraherte fotodataene for å gjøre et best-guess.
Logikken så omtrent slik ut:
- Nøkkelord som "squat," "markløft," "benkpress" + styrkefokuserte fotodata = styrkeøkt
- "Mobilitet," "stretch," "restitusjon" + fleksibilitetsorienterte fotodata = mobilitetsøkt
- Distanse + varighet + intet gym-bilde = løping (Strava-metadataen er pålitelig her)
Denne hybride klassifiseringen var god nok for en personlig oppsummering. Den endelige posteren føltes nøyaktig fordi den utnyttet det hver datakilde var god på.
MCP-betraktningen
Jeg eksperimenterte kort med Stravas Model Context Protocol (MCP)-server, som loves å forenkle API-integrasjonen. Det fungerte bra for å hente aktivitetsmetadata, men klarte ikke å hente bilder vedlagt aktiviteter. For prosjekter som kun krever tall, ville MCP streamlinet utviklingen betydelig. For dette brukstilfellet forble det manuelle skriptet det bedre valget siden bilde-tilgang var obligatorisk.
Hva dette avslører om AI-kodingsagenter
Den virkelige verdien i dette prosjektet var ikke infografikken i seg selv – det var demonstrasjonen av hvordan AI-agenter kan fungere som fleksibel middleware mellom datakilder og ønskede outputs.
Tradisjonelle automatiseringsverktøy følger rigid logikk: hvis dette, så det. Kodingsagenter kan resonnere på tvers av modaliteter. De kan se på et bilde, forstå konteksten, og generere strukturerte data. De kan tilpasse seg når edge cases dukker opp. De kan hjelpe deg med å bygge automatiseringen selv – istedenfor bare å utføre innenfor den.
For utviklere og tekniske gründere representerer dette et fundamentalt skifte. Spørsmålet er ikke lenger "Kan jeg automatisere dette?" men heller "Hvor raskt kan jeg iterere på automatiseringen?" Et prosjekt som tidligere kanskje krevde en dedikert helg kan nå prototypelegges på en ettermiddag, med agenten som håndterer boilerplate og hjelper deg å tenke gjennom edge cases.
Konklusjonen
Resultatet ble en delbar treningsoppsummering som faktisk fortalte historien om min treningsreise. Men prosessen pekte mot noe større: eraen for personlig datafrigjøring.
Treningsdataen din, kode prosjektene dine, forretningsmetrikken din – mesteparten sitter i fragmenterte systemer som ikke snakker med hverandre. AI-kodingsagenter blir det bindende vevet som lar deg bygge skreddersydde visninger av din egen informasjon uten bedriftsskala ressurser.
Jeg vurderer kanskje å kjøre en lokal modell for denne arbeidsflyten neste gang, og holde alt på-enhet for personvern. Hvis du eksperimenterer med lignende personlige automatiseringsprosjekter eller har egne fitness-agent-arbeidsflyter, vil jeg genuint sette pris på å høre om dem.
Noen ganger er de mest tilfredsstillende prosjektene ikke de som skalerer – de er de som endelig får din egen data til å fortelle din egen historie.