Miten tein treenidatastani visuaalisen tarinan tekoälyn avulla

Miten tein treenidatastani visuaalisen tarinan tekoälyn avulla

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

Kun fitness-sovelluksesi tietää kilometrit, mutta ei tarinaa

Kerron tässä artikkelissa:

  • Ongelman: fitness-seurantalaitteet antavat dataa, mutta puuttuu konteksti
  • Ratkaisun: rakenteellisen datan yhdistäminen AI-näkökykyyn
  • Miten dataputki toimii (omat tulkintani)
  • Koodausagentin roolin tuottavuuden kertoimena
  • Opit ja tulevaisuuden mahdollisuudet

Totuus fitness-datan rajallisuudesta

Ollaan rehellisiä: fitness-sovellukset ovat loistavia numeroissa, mutta surkeita tarinan kerronnassa. Juoksusovelluksesi tietää, että juoksit 42 kilometriä viime kuukautena. Se ei tiedä, että harjoittelit ensimmäistä puolimaratoniasi varten tai että nämä sessiot olivat osa huolellisesti suunniteltua periodisaatiosuunnitelmaa, jonka kuvasit kuntosalin valkotaululta.

Tämä kuilu datan ja kontekstin välillä toimi sysäyksenä pienelle sivuprojektille, joka osoittaa erinomaisesti miksi AI-koodausagentit ovat tulossa välttämättömiksi henkilökohtaisissa automaatiotöissä.

Metriikkojen ongelma

Käytän Samsung Fit 3 -laitetta kuntosalitreeneihin ja Stravaa juoksuharjoitteluun. Järjestely toimii mainiosti – fitness-seurantalaitteeni synkronoituu Stravaan automaattisesti ja tarjoaa kaiken standardin aktiviteetti-datan: keston, matkan, korkeuseron, sykealueet, aikaleimat.

Mutta tässä on se, mitä Strava ei koskaan kerro: oliko tuo "painoharjoittelu" vahvuuspäivä, joka keskittyi moninivelliikkeisiin, vai liikkuvuuteen keskittyvä palautumisharjoitus? Se tietää, että tein jotain 45 minuutin ajan. Sillä ei ole aavistusta, että työskentelin kuppikyykky-progression läpi 24 kilon painolla, kun valmentajani raapusti harjoitusrakenteen valkotaululle, jota en älynnyt kuvata ennen kuin hiljattain.

Konteksti eli yksinomaan kuvissa, jotka olin liittänyt Strava-postauksiini. Kuntosalin valkotaulu dokumentoi todellisen harjoitusrakenteen – liikkeet, toistosarjat, painopistealueet ja ratkaisevan eron palautumispäivien ja intensiivisten treeniblokkien välillä.

Strava tallensi määrän. Kuvat kertoivat laadun.

Henkilökohtaisen dataputken rakentaminen

Ratkaisu ei ollut yksittäinen työkalu – se oli dataputki, joka hyödynsi useiden järjestelmien vahvuuksia. Tässä on arkkitehtuuri, johon päädyin:

Hae → Käsittele → Poimi → Visualisoi

Ensimmäiseksi yksinkertainen Python-skripti haki kaikki Strava-aktiviteettini sekä niihin liitetyt valokuvat. Skripti ylläpiti paikallista välimuistia, mikä tarkoitti, että se pystyi ohittamaan jo ladatun median ja jatkamaan keskeytyskohdasta.

Seuraavaksi tuli mielenkiintoinen osuus: harjoituskontekstin poimiminen kuntosalin valkotaulukuvista.

Käytin Claude Codea koodausagenttina, jolla on näkökyky. Jokaisesta kuntosalikuvasta pyysin agenttia luomaan rakenteellisen JSON-kuvauksen harjoituksesta:

{
  "type": "workout",
  "exercises": [
    {
      "name": "Romanian maastaveto",
      "sets": 4,
      "reps": "8-10",
      "weight": "60kg",
      "muscle_groups": ["posterior chain", "glutes"]
    }
  ],
  "focus": "strength",
  "notes": "Tuntui vahvalta tänään, lisäsin painoa viime viikosta"
}

Agent-in-the-loop -lähestymistapa osoittautui yllättävän tehokkaaksi. Jos poimittu data näytti virheelliseltä, poistin vain kyseisen JSON-tiedoston ja loin sen uudelleen. Jos kuva oli jo käsitelty, skripti ohitti sen. Työnkulku oli keskeytettävä, korjattavissa ja – mikä tärkeintä – iteratiivinen.

Kun minulla oli rakenteellinen harjoitusdata yhdistettynä Stravan metriikkoihin, lopullisen infografian renderöinti oli yksinkertaista. Yksinkertainen HTML-pohja koosti kaiken jaettavaksi PNG-posteriksi.

Miksi luokittelu oli odotettua yksinkertaisempaa

Strava-aktiviteettitagini eivät olleet täsmälleen johdonmukaisia. Jotkut voimaharjoitukset oli merkitty "weight trainingiksi", toiset vain "workoutiksi". Liikkuvuuspäivät näkyivät joskus geneerisinä aktiviteetteina. Sekamelska oli täysin omaa tekemistäni – kolme vuotta satunnaista taggausta ilman standardoitua järjestelmää.

Sen sijaan, että olisin rakentanut sofistikoituneen luokittelumallin (mikä olisi ollut ylilyönti henkilökohtaiselle projektille), käytin käytännöllistä lähestymistapaa: yhdistin Stravan aktiviteettityypin, otsikon avainsanat ja poimitun kuvadatan parhaaseen arvaukseen perustuvaan luokitteluun.

Logiikka näytti suunnilleen tältä:

  • Avainsanat kuten "kyykky", "maastaveto", "penkki" + voimaan suuntautuva kuvadata = voimaharjoitus
  • "Liikkuvuus", "venyttely", "palautuminen" + joustavuuteen suuntautuva kuvadata = liikkuvuussessio
  • Matka + kesto + ei kuntosalikuvaa = juoksu (Strava metadatan luotettavuus riittää tässä)

Tämä hybridiluokittelu oli riittävä henkilökohtaiseen yhteenvetoon. Lopullinen posteri tuntui tarkalta, koska se hyödynsi kunkin datalähteen vahvuuksia.

MCP-huomiointi

Kokeilin lyhyesti Stravan Model Context Protocol (MCP) -palvelinta, joka lupasi yksinkertaistaa API-integraatiota. Se toimi hyvin aktiviteetti-metadatan hakemisessa, mutta ei kyennyt hakemaan aktiviteetteihin liitettyjä valokuvia. Projekteille, jotka vaativat vain numeroita, MCP virtaviivaistaisi kehitystä huomattavasti. Tässä tapauksessa manuaalinen skripti oli parempi valinta, koska kuvien käyttö oli välttämätöntä.

Mitä tämä paljastaa AI-koodausagenteista

Todellinen arvo tässä projektissa ei ollut itse infografiassa – se oli osoituksessa siitä, miten AI-agentit voivat toimia joustavana välittäjänä datalähteiden ja haluttujen tulosten välillä.

Perinteiset automaatiotyökalut seuraavat jäykkää logiikkaa: jos tämä, sitten tuo. Koodausagentit pystyvät reasonoimaan eri modaliteettien välillä. Ne voivat katsoa kuvaa, ymmärtää sen kontekstin ja generoida rakenteellista dataa. Ne voivat mukautua reunatapauksiin. Ne voivat auttaa sinua rakentamaan automaation itseään eivätkä vain suorittamaan sen sisällä.

Kehittäjille ja teknisille yrittäjille tämä edustaa perustavanlaatuista muutosta. Kysymys ei enää ole "Voinko automatisoida tämän?" vaan "Kuinka nopeasti voin iteroida automaatiota?" Projekti, joka olisi voinut viedä omistautuneen viikonlopun, voidaan nyt prototypeoida iltapäivässä, kun agentti käsittelee boilerplate-koodin ja auttaa ajattelemaan reunatapauksia läpi.

Johtopäätös

Lopputulos oli jaettava harjoitusyhteenveto, joka kertoi todella tarinan fitness-matkastani. Mutta prosessi osoitti kohti jotain suurempaa: henkilökohtaisen datan voimaantumisen aikakautta.

Sinun fitness-datasi, koodiprojektisi, liiketoimintasi metriikat – suurin osa niistä istuu sirpaleisissa järjestelmissä, jotka eivät keskustele keskenään. AI-koodausagentit ovat tulossa sidekudokseksi, joka mahdollistaa räätälöityjen näkymien rakentamisen omaan informaatioon ilman enterprise-tason resursseja.

Saatan seuraavaksi kokeilla paikallisen mallin ajamista tälle työnkululle, pitäen kaiken laitteella yksityisyyden vuoksi. Jos kokeilet vastaavia henkilökohtaisia automaatioprojekteja tai sinulla on omia fitness-agentti-töitä, kuulisin niistä mielelläni.

Joskus tyydyttävimmät projektit eivät ole niitä, jotka skaalautuvat – ne ovat niitä, jotka vihdoin saavat oman datasi kertomaan oman tarinasi.

Read in other languages:

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