Sådan fik jeg AI til at fortælle min fitnesshistorie

Sådan fik jeg AI til at fortælle min fitnesshistorie

Jul 05, 2026 ai coding agents fitness tracking automation data visualization strava claude code personal projects workflow automation image recognition developer productivity

Da jeg lod AI bygge bro mellem mine fitnessdata og min træningshistorie

Her er hvad jeg dykker ned i:

  • Problemet: fitnesstrackere giver tal, men mangler kontekst
  • Løsningen: kombination af struktureret data og AI-syn
  • Hvordan pipeline'et virker (min egen fortolkning)
  • Kodningsagenten som produktivitetsforstærker
  • Lærdomme og fremtidige muligheder

Lad os være ærlige: fitnessapps er fantastiske til at spore tal, men elendige til at fortælle historier. Din løbeapp ved, at du løb 42 kilometer sidste måned. Det den ikke ved, er at du trænede mod din første halvmaraton – eller at de sessioner var del af en omhyggeligt struktureret periodiseringsplan, du fotograferede fra dit fitnesscenters whiteboard.

Denne kløft mellem data og kontekst blev startskuddet for et lille sideprojekt, der perfekt illustrerer hvorfor AI-kodningsagenter bliver uundværlige i personlige automatiseringsworkflows.

Problemet med rene metrikker

Jeg bruger Samsung Fit 3 til at logge træningssessioner og Strava til mine løbeture. Setuppet fungerer flot – min fitnesstracker synkroniserer automatisk med Strava og giver mig al standard aktivitetsmetadata: varighed, distance, højdemeter, puls-zoner, tidsstempler.

Men her er hvad Strava aldrig vil fortælle dig: om den "vægttræning" session var en styrkedag med compoundøvelser eller en mobilitetsfokuseret genoptræningsøvelse. Den ved, at jeg gjorde noget i 45 minutter. Den har ingen anelse om, at jeg arbejdede mig gennem en goblet squat-progression med 24 kilo, mens min træner skrev sessionstrukturen på et whiteboard, jeg først for nylig tænkte på at fotografere.

Konteksten levede udelukkende i billeder, jeg tilfældigt havde vedhæftet mine Strava-opslag. Fitnesscentrets whiteboard dokumenterede den egentlige træningsstruktur – øvelser, sæt, vægt, fokusområder og den afgørende forskel mellem restitutionsdage og intense træningsblokke.

Strava fangede kvantiteten. Billederne fortalte kvaliteten.

Bygget en personlig datapipeline

Løsningen var ikke ét enkelt værktøj – det var en pipeline der lod flere systemer udnytte deres styrker. Her er arkitekturen:

Hent → Behandl → Udtræk → Visualiser

Først trak et simpelt Python-script alle mine Strava-aktiviteter sammen med deres tilknyttede billeder. Scriptet opretholdt en lokal cache, hvilket betød at det kunne springe allerede-downloadede medier over og genoptage fra der, det slap hvis det blev afbrudt.

Dernæst kom det interessante: at udtrække træningskontekst fra de whiteboard-billeder.

Jeg brugte Claude Code som en kodningsagent med synsevner. For hvert gym-whiteboard-foto promtede jeg agenten til at generere en struktureret JSON-beskrivelse af træningen:

{
  "type": "workout",
  "exercises": [
    {
      "name": "Rumænsk deadlift",
      "sets": 4,
      "reps": "8-10",
      "weight": "60kg",
      "muscle_groups": ["posterior chain", "glutes"]
    }
  ],
  "focus": "strength",
  "notes": "Følte mig stærk i dag, øgede vægten fra sidste uge"
}

Agent-i-loop tilgangen viste sig bemærkelsesværdig effektiv. Hvis den udtrukne data så forkert ud, slettede jeg bare den JSON-fil og genererede den igen. Hvis et billede allerede var behandlet, sprøttede scriptet det over. Workflowet var genoptageligt, retteligt og – vigtigst – iterativt.

Så snart jeg havde struktureret træningsdata kombineret med Strava's metrikker, blev rendering af den endelige infografik ligetil. En simpel HTML-skabelon samlede alt til et delbart PNG-poster.

Hvorfor klassificering var simplere end forventet

Mine Strava aktivitets-tags var ikke ligefrem konsistente. Nogle styrkesessioner var mærket "vægttræning", andre bare "træning". Mobilitetsdage dukkede sommetider op som generiske aktiviteter. Kaosset var helt og holdent mit eget – tre år med tilfældig tagging uden noget standardiseret system.

I stedet for at bygge en sofistikeret klassifikationsmodel (hvilket ville have været overkill til et personligt projekt), brugte jeg en pragmatisk tilgang: kombiner Strava's aktivitetstype, titelnøgleord og de udtrukne fotodata til at danne et bedste-gæt klassifikation.

Logikken så nogenlunde sådan ud:

  • Nøgleord som "squat," "deadlift," "bænk" + styrkefokuseret fotodata = styrketræning
  • "Mobilitet," "stræk," "restitution" + fleksibilitetsorienteret fotodata = mobilitetssession
  • Distance + varighed + intet gym-foto = løb (Strava's metadata er pålidelig her)

Denne hybride klassifikation var god nok til en personlig opsummering. Det endelige poster føltes præcist fordi det udnyttede det, hver datakilde var god til.

MCP-overvejelsen

Jeg eksperimenterede kort med Strava's Model Context Protocol (MCP) server, som lovede at forenkle API-integrationen. Det fungerede fint til at hente aktivitetsmetadata, men det kunne ikke hente billeder vedhæftet aktiviteter. Til projekter der kun kræver tal, ville MCP strømlinje udviklingen markant. Til dette brugsscenarie forblev det manuelle script det bedre valg, da fotoadgang var ikke-forhandlingsbar.

Hvad dette afslører om AI-kodningsagenter

Den egentlige værdi i dette projekt var ikke infografikken selv – det var at demonstrere hvordan AI-agenter kan fungere som fleksibel middleware mellem datakilder og ønskede outputs.

Traditionelle automatiseringsværktøjer følger stiv logik: hvis dette, så hint. Kodningsagenter kan ræsonnere på tværs af modaliteter. De kan se på et billede, forstå dets kontekst og generere struktureret data. De kan tilpasse sig når edge cases opstår. De kan hjælpe dig med at bygge automatiseringen selv, i stedet for bare at eksekvere inden for den.

For udviklere og tekniske iværksættere repræsenterer dette et fundamentalt skift. Spørgsmålet er ikke længere "Kan jeg automatisere dette?" men snarere "Hvor hurtigt kan jeg iterere på automatiseringen?" Et projekt der kunne have taget en dedikeret weekend kan nu prototyperes på en eftermiddag, med agenten der håndterer boilerplate og hjælper dig med at tænke igennem edge cases.

Konklusionen

Outputtet var et delbart træningsresumé der faktisk fortalte historien om min fitnessrejse. Men processen pegede mod noget større: æraen af personlig data-fremmelse.

Dine fitnessdata, dine kodeprojekter, dine forretningsmetrikker – det meste af det sidder i fragmenterede systemer der ikke taler med hinanden. AI-kodningsagenter bliver det bindevæv der lader dig bygge brugerdefinerede views af din egen information uden enterprise-skala ressourcer.

Jeg overvejer at køre en lokal model til dette workflow næste gang, holde alt på enheden for privatlivets fred. Hvis du eksperimenterer med lignende personlige automatiseringsprojekter eller har fitness-agent workflows af din egen, vil jeg ærligt elske at høre om dem.

Nogle gange er de mest tilfredsstillende projekter ikke dem der skalerer – de er dem der endelig får dine egne data til at fortælle din egen historie.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR ES DE ZH-HANS EN