Terug naar overzicht

Wattup

Een dagelijks dashboard voor wielrenners. Het rekent elke ochtend je ritten door en vertelt in gewone taal wat ze betekenen, en wat voor rit vandaag past.

Soort
Eigen product
Rol
Ontwerper, opdrachtgever en tester
Gebouwd met
Claude
Data
intervals.icu
Periode
Sinds augustus 2026

Bekijk de demo

Een werkende versie met Bo, een verzonnen renner met ruim een jaar aan ritten. Mijn eigen versie zit achter een login.

Open de demo (opent in een nieuw tabblad)
Het dashboard van Wattup: links het menu in groepen, rechts bovenaan het advies voor vandaag en daaronder de laatste rit.

Het advies voor vandaag staat bovenaan, met de laatste rit er direct onder.

Het probleem

Veel getallen, weinig duiding

Als wielrenner wil ik op de lange termijn vooruit, zolang ik daar de tijd en de mogelijkheid voor heb. In Strava en de app van Wahoo miste ik data. intervals.icu leerde ik pas kennen toen ik aan Wattup begon; daar staat de data wel, maar onduidelijk gepresenteerd, en in afkortingen als CTL, ATL en TSB. De AI in Strava geeft weinig duiding.

Wat ik wilde weten, was eigenlijk eenvoudig: wat past vandaag, en werkt mijn training? Mijn uitgangspunt: geen coach die vragen stelt, maar een data-analyse die ik 's ochtends bekijk.

Er was ook een tweede reden. Ik wil bijblijven met wat er met AI mogelijk is, en dat leer je het best aan een echte case, met echte data en een echte gebruiker. Wattup is dat voor mij.

Voor wie

Voor de serieuze renner die van data houdt

In de eerste plaats voor mezelf: een amateurrenner met een vermogensmeter, die binnen op Zwift racet en buiten fietst. Geen sociaal netwerk, maar een rustig overzicht van hoe je ervoor staat. In het ontwerp heb ik al vooruitgedacht aan andere renners, met een profiel achter de avatar en een uitgewerkte flow om je eigen intervals.icu te koppelen.

Advies

Soort rit, duur en vermogen voor vandaag, met waarom.

Vorm

Conditie, vermoeidheid, drempels en of je aerobe basis groeit.

Signalen

Hartslag bij vast vermogen als waarschuwing voor ziek of moe.

Mijn rol

Ontwerper, opdrachtgever en tester tegelijk

De code is met Claude geschreven. Ik bepaalde wat er gebouwd werd en hoe het eruit moest zien, testte alles op mijn eigen ritten en nam de ontwerpbeslissingen; Claude kwam ook zelf met ideeën. Per module staat in een logboektekst waarom hij bestaat en wat er eerder misging.

Er zitten twee vangnetten in. Een controle kijkt elke gebouwde pagina na voordat er iets gepubliceerd wordt, en een verbouwtest vergelijkt bij elke opruimronde alle pagina's voor en na.

  • 280+Versies sinds eind augustus
  • 07:30Elke ochtend automatisch bijgewerkt
  • 2Vangnetten voor elke publicatie
  • 1Huisstijl, gedeeld met dit portfolio

Ontwerpkeuzes

Rust in een scherm vol data

Mijn aandacht ging vooral naar begrijpelijkheid, en naar rust in een scherm met heel veel getallen. Zes keuzes die dat laten zien.

1. Eerst het advies, dan de cijfers

Op de telefoon vulde "Vandaag in cijfers" eerst het hele scherm. Nu staat het advies bovenaan, ook op de computer: soort rit, duur en vermogen, en een weekbalk die laat zien of je in de opbouwzone zit. Wie wil weten waarom, klapt de uitleg open.

Het adviesblok: Doorpakken kan, een tempo-rit van 1 tot 1,5 uur op 180 tot 200 watt, met een balk van de belasting in de afgelopen zeven dagen.

2. Geen jargon zonder uitleg

Overal staat een Nederlandse naam met de afkorting erachter, zoals "Basisconditie (CTL)". De uitleg zit achter "Hoe lees je dit" en een i-tje, zodat hij er niet in de weg zit, en achterin staat een begrippenlijst.

3. Minder getallen tegelijk

Per kengetal stonden eerst drie vergelijkingen: gisteren, vorige week en vorig jaar. Nu is dat één regel. Het kaartje "Opbouwsnelheid" is weg: over 418 dagen nagerekend bleek het precies hetzelfde getal als de weekstijging van de basisconditie.

Conditie en vermoeidheid: vier tegels met basisconditie, recente belasting, frisheid en verhouding, elk met de verandering in een week, en een grafiek van de laatste 42 dagen.

4. Alleen wat op echte data getoetst is

Zoals ik bij klanten een idee toets met gebruikers, toets ik hier elke maat op echte data voordat hij op het dashboard komt. Een paar dingen gingen er daardoor juist af. De rusthartslag stond altijd op 50: dat bleek een instelling, geen meting. Watt per hartslag als dagmeter zei na correctie voor de trend niets meer. Ontkoppeling per rit bleek ruis. En ritjes van een paar minuten tellen niet mee.

5. Eerlijk over wat de cijfers kunnen zeggen

Data ziet er precies uit, ook als hij dat niet is. Een rit wordt alleen vergeleken met de ritten ervoor, en medailles tellen pas vanaf twintig eerdere ritten; zo krijgt ongeveer een op de vier ritten er een. De hartslag geeft pas een melding bij herhaling, zodat toeval geen alarm geeft. En waar binnenritten een cijfer kunnen optillen, is de lijn gestippeld en staat erbij waarom.

Aerobe vooruitgang: watt per hartslag nu en een jaar geleden, met een grafiek waarin de winterperiode met veel binnenritten gestippeld is, en een toelichting daarover.

6. De telefoon als volwaardig scherm

Op de telefoon is het menu in groepen ingedeeld, zijn de tabellen compact en kies je zelf tussen licht, donker of je systeeminstelling.

Wattup op een telefoon: de kop met de datum, de chips voor deze week en dit jaar, en het advies voor vandaag.

De demo

Een openbare demo zonder mijn eigen data

Om Wattup te kunnen laten zien, maakte ik een demo met Bo, een verzonnen renner uit Drenthe met ruim een jaar aan ritten. Er zit bewust een zieke week in, zodat het hartslagsignaal iets te laten zien heeft. Wie de demo opent, krijgt een rondleiding in zes stappen die je kunt overslaan.

Het koppelen van je eigen intervals.icu is als klikbaar ontwerp uitgewerkt. Dat zegt eerlijk dat die stap via intervals.icu zelf loopt; er zit geen nagemaakt inlogscherm in. En een lekcontrole zorgt dat er niets van mijn eigen gegevens in de demo belandt.

Waar het nu staat

Van eigen gebruik naar de eerste feedback

Tot nu toe ben ik zelf de gebruiker. De volgende stap is wat ik in mijn werk ook doe: anderen ermee laten werken en kijken waar ze vastlopen. De demo ligt nu bij de eerste andere renner.

Techniek, kort: Python bouwt statische pagina's uit de data van intervals.icu, met Chart.js voor de grafieken en Leaflet voor de kaarten. Het draait elke ochtend om 07:30 en publiceert naar Cloudflare Pages.

Reflectie

Wat ik meeneem

Of het nu om calculaties gaat of om trainingsdata: het werk zit in de vertaling. Wat betekent dit getal, en wat doe je ermee? Met AI kan ik die vertaling zelf tot een werkend product maken. Maar het schrappen bleek net zo belangrijk als het bouwen: een maat die niet klopt, kan beter weg dan dat hij er overtuigend uitziet.

Benieuwd naar de demo?

Probeer hem zelf, of vraag me hoe hij tot stand kwam.

Open de demo

Terug naar overzicht