Skip to content
October 2026

How do you prove a used bike’s mileage? Asking the maker of watchmy.bike

Marien van Os bought his Cannondale Scalpel second-hand and couldn’t check how far it had been ridden. A bike page in his app can now carry a badge that claims only what the app can check.

watchmy.bike home dashboard showing 2 things to do on a Cannondale Scalpel (a Schwalbe Racing Ray tyre service 7 days overdue and a RockShox Reverb AXS seatpost service 83 days overdue), 51 other components in good condition, a 3D model of the Scalpel at condition 93 with 3,575 km and 30 components, and Strava connected
Marien’s own garage: two things due on the Scalpel, 51 other parts across his bikes in good shape. Image: watchmy.bike.

watchmy.bike reads your rides from Strava and puts the kilometres on each part of each bike, so the chain, the tyres and the brake pads all get their own count and an alert when they’re due. It opened to the public on January 1, 2026. Marien builds it on his own from Utrecht, in the Netherlands: a father of three who has been riding since 2008 and working with the Strava API since 2017, when a project for his bike blog got an honorable mention in the Strava Developer Challenge. He answered our questions in writing.

Short version: no app can see rides that were never recorded. What a seller can show is the distance Strava has recorded on the bike since a given date, plus a service log, and that’s what watchmy.bike’s certificate shows.

A badge that only claims what it can check

A bike page can be switched to a certificate. The badge shows up only when four things are true at once, and the owner can’t force it. We asked how he landed on those rules.

I started from the buyer. A buyer of a used bike hears a story, and a story is easy to make up. So the badge only claims what I can actually check. The mileage comes from Strava, not from a number someone typed. At least one component carries an install date. At least one service is logged. And the page has to be published.

There’s no manual override, because a badge you can switch on yourself is just another story. The owner can turn the certificate on or off per bike, but can’t make it pass. Miss one rule and the badge disappears while the page stays.

The wording stays narrow on purpose. The badge says “Mileage from Strava since {date} · {n} services logged”, never “all rides”. I can’t know about rides that were never recorded, so I don’t claim them. And it’s something I wish I’d had when I bought my Scalpel second-hand on buycycle, with no way to check its mileage.

So the badge is a floor, not a total: it can’t see rides that were never recorded, and the services on it are the ones the owner logged.

watchmy.bike public bike page for a 2021 Cannondale Scalpel Carbon 3, tagged Mountain, Synced with Strava and Certified, with the badge line Mileage from Strava since Mar 21, 2024 · 12 services logged
The same Scalpel’s public page, certified: mileage from Strava since March 21, 2024, 12 services logged. Image: watchmy.bike.

His how-to on selling a used bike walks through the same four rules, with his own 2016 Synapse as the example badge. He also wrote there that he never got the drivetrain’s numbers for the Scalpel, and fitted a new chain and cassette soon after buying it.

Handing the kilometres over

The other half is the sale itself. A transfer link (or QR code) gives the buyer the bike in their own watchmy.bike account, with every component and the distance on it, while the seller’s Strava rides stay with the seller. The hard part, he says:

Making sure the kilometres exist exactly once. The easy version moves the bike to the buyer’s account. But the seller’s Strava rides belong to the seller, and if the bike stayed linked to their Strava gear it would keep collecting their rides. The same kilometres would then show up in two garages.

So nothing moves. Claiming a link makes a copy in the buyer’s garage, with each component’s distance frozen in as its starting point. The seller’s activities, logbook, receipts and notes stay with the seller. When the buyer links their own Strava gear, only rides from after the claim count, and new rides add on top. The feature is still pretty new, so I don’t know yet how much it’s used. Now that we’re talking about it, I should track that ;-)

watchmy.bike Transfer to another account form for a Cannondale Scalpel at 3,575 km, with a choice between Hand over (for a sale, distance carries over, the link works once) and Share as a template (starts at 0 km), options to retire or delete the seller's copy when claimed, and an optional recipient email
The transfer form. Hand over is for a sale; Share as a template copies the build at 0 km. Image: watchmy.bike.

Tyres first, then brake pads

Beneath the selling features is the core: kilometres from Strava on every component and a warning when something is due. Which warnings get acted on?

The most installed components are tires, then brake pads. When those get close to the end of their lifespan, the rider gets an email, which is also the most used way of being notified. Then there are the service reminders, which riders can set by distance, hours ridden or a calendar date. Distance is used most.

The public build pages are mostly used to let friends know about their bikes and components. I wish they were used more, since I think it’s a nice way to share your bikes. Maybe adding comments would help, but I’m not sure about that yet.

watchmy.bike component page for a Schwalbe Racing Ray HS489 SR 29x2.35 front tyre on a Cannondale Scalpel: 845 km ridden, 17% worn of a 5,000 km lifespan with 4,155 km left, price €61.95, installed Feb 8, 2026, with actions to move it to another bike, set its status or switch its notifications
The Scalpel’s front tyre: 845 km in, 4,155 km left of the 5,000 km it’s given. Image: watchmy.bike.
watchmy.bike 3D view of a Cannondale Scalpel's installed components, with numbered markers on each part and the Lefty Ocho suspension fork highlighted in orange, its card showing 3,575 km, installed Mar 21, 2024, and 36% of a 10,000 km interval
The 3D view of the Scalpel: each numbered marker is a tracked part, here the fork. Image: watchmy.bike.

Indoor wheels, outdoor wheels, a rack of shoes

Each component can now be told which rides count, and a #tag in the activity title can pick out one part. It started with a request:

From a rider who asked for it. I’d thought about it before, but when a rider specifically asks for something, it moves up my to-do list. He had one set of wheels for the trainer and another for outdoors. Every component on a bike picked up every ride on that bike, so on paper both sets were wearing out while only one was being ridden. And I think he had 6 pairs of shoes which he switched every now and then.

The ride-type filter came first, because it needs nothing from the rider. Strava already records whether a ride was indoor or outdoor, road, gravel, MTB or e-bike. That means it also works on rides from months ago. It’s off by default, so nothing quietly stops counting.

The #tags are for what Strava can’t tell apart: four pairs of shoes you rotate, or two identical wheelsets. Put #raceshoes in the activity title and only that component picks it up.

A chat on every plan, and Claude reading the receipts

The app has its own chat, and an MCP connection, the standard way outside assistants like Claude plug into an app. We asked what each is for.

The chat is built into the app on every plan, the free one included. It reads your garage, so you can ask “what needs attention on my gravel bike?” or “which rotor size is on my bike?”. It can also make changes for you. MCP connects watchmy.bike to Claude, ChatGPT and other assistants, on Alloy and Carbon plans. It comes with workflow guides for things like replacing a worn component, setting up a new bike, or moving a wheelset between bikes.

I use the MCP with my Claude app. Whenever I buy something for my bikes, I ask it to read the order email and add the components. It picks up the details like dates and prices, so I don’t have to type them in. It also helped with backfilling: when did I install that component? Finding the order email from a few years ago is easy for it.

If you haven’t connected an app to an assistant before, our guide to connecting Strava to Claude and ChatGPT covers how these connectors work.

For builders: the bike change Strava doesn’t announce

In July 2026 he wrote about running on Strava webhooks with a six-hour sync as a backstop (his FAQ now describes a daily check), and recalculating distances from rides rather than adding them up. We asked which edge case caught him out.

Strava doesn’t send a webhook when you change the bike on an activity. A new ride syncs right away, but often the bike on it isn’t the one that was actually ridden. So about 15 minutes after each new activity I automatically re-check it and pick up any bike change a user may have made. If you use automation that sets the bike after a ride, you can also hold back the first processing by up to an hour. And you can always refresh a ride by hand from the activity list.

Strava’s webhook documentation lists title, type and privacy as the changes an activity update event carries; gear isn’t among them.

No store, so how do riders find it?

watchmy.bike is a web app you add to your home screen, not something in an app store. He has written that this means every rider arrives through a search, a link or another cyclist.

I used to post in Strava clubs, since that’s where most riders are, and on a few forums. Now most people find it through organic search, where the blog posts help of course. But finding users who actually use your product is probably one of the hardest things (certainly nowadays). It’s about trust, and giving them something that truly helps them.

The Chain Games

The Chain Games, from what he calls WMB Labs, let you design a bike chain and play with it in the browser, free and without an account. They grew out of experiments for the 3D view, and he has called them a side door for cyclists who have never heard of the tracker. Is anyone coming through it?

I’m not sure yet. It was a nice experiment, and I like the 3D effects and the 3D chain. But mostly it was just fun to make. It’s amazing how relatively easy it is to build something like this now.

Next: the bike shop’s side of the logbook

Next, I’m working on service reports from bike shops: the mechanic fills in what they did, and the rider adds it to the bike’s logbook with one scan. That way the service history isn’t only what the rider logged themselves. So excited to extend this to more mechanics/shops, beta version is in the works and working closely with a mechanic for this.

Garmin and Wahoo aren’t connected directly, and he has nothing planned there yet: most riders with either already sync to Strava, he says.

At a glancewatchmy.bike
Steel (free)Up to 3 bikes, unlimited components, email and push alerts (push needs the home-screen web app), up to 5 service reminders, in-app AI chat
Alloy€3.99 a month or €39 a year: up to 10 bikes, unlimited reminders, cost per km, MCP for Claude and ChatGPT
Carbon€6.99 a month or €69 a year: up to 50 bikes, everything in Alloy, a personal setup call
What it reads from StravaYour profile, your bikes and your activities (private ones included): distance, time, elevation, ride type, title, bike and a route summary for its activity map, per its FAQ; it never posts to Strava
Other platformsStrava only for now; Garmin and Wahoo rides come in through Strava
Where it runsIn the browser, as a web app; on an iPhone, push alerts need it added to the home screen
Made byMarien van Os, Utrecht, on his own

Marien gave our readers a code: APPSFORSTRAVA takes 20% off the first payment on Alloy or Carbon (the first month on monthly billing, the first year on yearly) until December 31, 2026. It’s also on our deals page. The rest, including how it compares with other component trackers, is on the watchmy.bike listing and in our roundup of Strava bike maintenance apps.

Sources

The app in this post

More from the blog

Spotted something out of date, like a price or a feature that changed? Tell us and we'll check it against the maker's site and fix it.

Fixes and apps for Strava, mid-month

The new guides (fixing a bad file, merging, getting your data out), the best new apps, and any that stopped working. One short email. Reply "unsubscribe" any time.