Zo maakte ik van mijn fitnessdata een visueel verhaal met AI-agents

Zo maakte ik van mijn fitnessdata een visueel verhaal met AI-agents

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

Waarom je fitnesstracker je verhaal niet vertelt (en hoe AI dat kan oplossen)

Het probleem met cijfers zonder context

Laat me eerlijk zijn: fitnesstrackers zijn geweldig in het bijhouden van getallen, maar vreselijk in het vertellen van verhalen. Je hardloopapp weet dat je vorige maand 42 kilometer hebt gelopen. Wat hij niet weet: dat je trainde voor je eerste halve marathon, of dat die sessies onderdeel waren van een zorgvuldig periodiseringsplan dat iemand op het whiteboard in je sportschool had geschreven.

Die kloof tussen data en context was precies de reden waarom ik aan een klein sideproject begon. Een project dat perfect laat zien waarom AI coding agents onmisbaar worden voor persoonlijke automatiseringsworkflows.

Metrics alleen zijn niet genoeg

Ik gebruik Samsung Fit 3 voor mijn sportsessies en Strava voor het hardlopen. Die setup werkt prima — mijn fitnesstracker synchroniseert automatisch met Strava en geeft me alle standaard activity metadata: duur, afstand, hoogteverschil, hartslagzones, tijdstemppen.

Maar hier is wat Strava je nóóit vertelt: of die "gewichtstraining" een krachtdag was gericht op compound movements of een mobiliteitsgerichte herstelsessie. Het weet dat ik iets deed voor 45 minuten. Het heeft geen idee dat ik werkte aan een goblet squat progressie met 24 kilogram, terwijl mijn trainer de sessiestructuur op een whiteboard schreef dat ik tot voor kort nooit gefotografeerd had.

De context zat uitsluitend in de foto's die ik losjes aan mijn Strava-posts hing. Het whiteboard van de sportschool documenteerde de echte workoutstructuur — oefeningen, rep ranges, focusgebieden, en het cruciale onderscheid tussen hersteldagen en intensieve trainingsblokken.

Strava ving de kwantiteit. De foto's vertelden de kwaliteit.

Mijn persoonlijke data pipeline bouwen

De oplossing was niet één enkel tooltje — het was een pipeline die meerdere systemen hun sterke punten liet benutten. Zo zag de architectuur er uiteindelijk uit:

Ophalen → Verwerken → Extraheren → Visualiseren

Eerst haalde een simpel Python-script al mijn Strava-activiteiten op, inclusief de bijbehorende foto's. Het script hield een lokale cache bij, wat betekende dat het al gedownload media kon overslaan en verder gaan waar het gebleven was bij een onderbreking.

Toen kwam het interessante deel: workout context halen uit die foto's van het sportschoolwhiteboard.

Ik gebruikte Claude Code als coding agent met vision capabilities. Voor elke foto van het gymboard vroeg ik de agent om een gestructureerde JSON-beschrijving van de workout te genereren:

{
  "type": "workout",
  "exercises": [
    {
      "name": "Romanian deadlift",
      "sets": 4,
      "reps": "8-10",
      "weight": "60kg",
      "muscle_groups": ["posterior chain", "glutes"]
    }
  ],
  "focus": "strength",
  "notes": "Voelde me sterk vandaag, meer gewicht dan vorige week"
}

De agent-in-the-loop aanpak bleek opvallend effectief. Als de geëxtraheerde data er verkeerd uitzag, verwijderde ik gewoon dat JSON-bestand en genereerde het opnieuw. Als een afbeelding al verwerkt was, sloeg het script hem over. De workflow was resumable, fixable, en — cruciaal — iteratief.

Zodra ik gestructureerde workoutdata gecombineerd had met de metrics van Strava, werd het renderen van de uiteindelijke infographic straightforward. Een eenvoudige HTML-template trok alles bij elkaar tot een deelbare PNG-poster.

Waarom classificatie simpeler was dan verwacht

Mijn Strava activity tags waren niet bepaald consistent. Sommige krachttrainingssessies had ik gelabeld als "weight training," anderen gewoon als "workout." Mobiliteitsdagen verschenen soms als generieke activiteiten. De chaos was volledig mijn eigen schuld — drie jaar casual tagging zonder enig gestandaardiseerd systeem.

In plaats van een sophisticated classification model te bouwen (wat overkill zou zijn geweest voor een persoonlijk project), gebruikte ik een pragmatische aanpak: ik combineerde Strava's activity type, titel keywords en de geëxtraheerde fotodata om een best-guess classificatie te maken.

De logica zag er ongeveer zo uit:

  • Keywords zoals "squat," "deadlift," "bench" + krachtgerichte fotodata = krachttraining
  • "Mobiliteit," "stretch," "herstel" + flexibiliteitgerichte fotodata = mobiliteitssessie
  • Afstand + duur + geen gymfoto = hardlopen (Strava's metadata is hier betrouwbaar)

Deze hybrid classification was goed genoeg voor een persoonlijk overzicht. De uiteindelijke poster voelde accuraat omdat hij benutte wat elke datasource goed deed.

De MCP-overweging

Ik heb kort geëxperimenteerd met Strava's Model Context Protocol (MCP) server, die belofte maakte om de API-integratie te simplificeren. Het werkte prima voor het ophalen van activity metadata, maar kon geen foto's ophalen die aan activiteiten hingen. Voor projecten die alleen cijfers nodig hebben, zou MCP de ontwikkeling flink stroomlijnen. Voor deze usecase bleef het handmatige script de betere keuze, want foto-toegang was non-negotiable.

Wat dit onthult over AI coding agents

De echte waarde in dit project was niet de infographic zelf — het was het demonstreren hoe AI agents kunnen dienen als flexibele middleware tussen databronnen en gewenste outputs.

Traditionele automatiseringstools volgen rigide logica: als dit, dan dat. Coding agents kunnen redeneren over modalities heen. Ze kunnen naar een afbeelding kijken, de context begrijpen, en gestructureerde data genereren. Ze kunnen adapteren wanneer edge cases opduiken. Ze kunnen je helpen de automatisering zelf te bouwen in plaats van er alleen maar binnen te werken.

Voor developers en technische ondernemers vertegenwoordigt dit een fundamentele verschuiving. De vraag is niet meer "Kan ik dit automatiseren?" maar "Hoe snel kan ik itereren op de automatisering?" Een project dat eerst een heel weekend gekost zou hebben, kan nu in een middag worden geprototyped, met de agent die boilerplate afhandelt en helpt nadenken over edge cases.

De takeaway

De output was een deelbaar trainingsoverzicht dat daadwerkelijk het verhaal van mijn fitnessreis vertelde. Maar het proces wees naar iets groters: het tijdperk van persoonlijke data-empowerment.

Je fitnesdata, je codeprojecten, je business metrics — het meeste zit in gefragmenteerde systemen die niet met elkaar praten. AI coding agents worden het verbindende weefsel dat je in staat stelt om custom views van je eigen informatie te bouwen, zonder enterprise-schaal resources.

Ik overweeg misschien om een lokaal model te draaien voor deze workflow, zodat alles on-device blijft voor privacy. Als je experimenteert met vergelijkbare persoonlijke automatiseringsprojecten of eigen fitness-agent workflows hebt, zou ik het echt graag horen.

Soms zijn de meest bevredigende projecten niet degene die schalen — het zijn degene die eindelijk je eigen data je eigen verhaal laten vertellen.

Read in other languages:

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