A maintenance log that fills itself in

Do you know how old your chain is?

For a long time, I didn’t. My mileage lived in a spreadsheet I never opened. I built BikeCheck so my bike would tell me when it needs attention, before the drivetrain starts making noise.

Read-only access to Strava. Nothing is ever posted for you.

My story

It was all in a spreadsheet. That was exactly the problem.

For years I tracked my bike’s maintenance in an Excel file: one row per part, with the kilometres on the chain, the cassette, the tyres, the brake pads.

On paper, it was perfect. In real life, I’d get home from a ride, put the bike away, and the file stayed closed. I forgot to update it. Mostly, I forgot to look at it.

So the chain stayed on far too long, and the cassette paid for it. After wet winter rides, nobody cleaned the drivetrain. Nobody meaning me.

It wasn’t a lack of good intentions. I just needed something to tell me: now’s the time. That’s why I built BikeCheck, for myself first.

Sound familiar?

  • Was your last chain lube before or after that ride in the storm?

  • Strava knows how far your bike has gone. What about your brake pads?

  • That little noise in the drivetrain: how long has it been there?

  • You changed the chain last year… or was it the year before?

Part by part

Your bike, part by part.

The spreadsheet had one row per part. BikeCheck puts them on the bike: each dot is a tracked part, and its colour tells you where it stands. Hover or tap a dot for the details.

Bike diagram showing where each tracked component sits
Example: a road bike after a rainy month (560 km in the wet).
  1. 1 · Strava

    Every Strava ride shows up on its own.

    You get home and put the bike away. The ride is already there, and its kilometres go to every part fitted on that bike: the chain, the cassette, each tyre.

  2. 2 · The rain

    It rained? The chain counts more.

    560 km in the wet: for the chain, each of them counts ×1.5. The real km don’t move; the wear km do.

  3. 3 · The cassette

    Before it damages the cassette.

    A worn chain stretches, then wears the cassette and chainrings, which cost far more. At 86% of its estimated life, it’s time to check it.

  4. 4 · The alert

    BikeCheck tells you in time.

    On the dashboard, and by email if you like. You check it with a chain checker, replace it, and its counter starts again from zero.

my-bike.xlsxup to date, by itself
Kilometres on each part: real km and wear km
PartReal kmWear kmStatus
Chain2,3002,580Warning
Cassette6,9007,068Approaching
Rear tire3,1003,156Approaching
Front brake pads1,4501,730Good
Cleats3,9003,900Approaching
Chainrings6,9007,068Good

Why the chain is orange

It has 2,300 real kilometres. But this month, 560 km were ridden in the rain, and water wears a chain faster: for the chain, each of those km counts ×1.5.

Result: 2,580 wear km, 86% of its estimated life (3,000 km). Time to check it with a chain checker, before it damages the cassette.

Real km are always shown first, wear km right beside them. Didn’t mark a ride as wet? It counts normally.

See how every km is counted

What BikeCheck does for me

The spreadsheet, except it keeps itself up to date.

  • My rides come in on their own

    Once Strava is connected, every ride is imported automatically, onto the bike you picked in Strava. Nothing to copy out when I get home.

  • The real distance on every part

    Not the bike’s total: the chain’s since I fitted it, the cassette’s, each tyre’s. When I replace a part, its counter starts again from zero.

  • Extra wear km when the ride was rough

    Rain is harder on a drivetrain. When I mark a ride as wet, BikeCheck adds wear km on top. On a direct-drive trainer the bike’s cassette isn’t turning, so it counts nothing. Real km are always shown, wear km right beside them, and the app explains every number.

    50 km in the rain75 wear km for the chain (×1.5)

    See how every km is calculated
  • Reminders for upkeep, not just for replacing parts

    I pick my own. For example:

    • Lube the chain every 2 weeks.
    • You rode in the rain: time to clean and re-lube the drivetrain.
  • A heads-up before it gets expensive

    A worn chain chews up the cassette and chainrings; worn-out pads eat into the rotors. BikeCheck warns me first, on the dashboard, and by email if I want.

What BikeCheck doesn’t do

Let’s be honest.

It doesn’t replace a chain checker.
Distance gives you an estimate. The little gauge you drop into the chain gives you the answer. When an alert comes in, check before you swap.
It can’t tell it rained.
A ride only counts as wet, muddy or wintry if you say so. Otherwise it counts as a normal ride.
It doesn’t know your kit better than you do.
The suggested limits for each part are sensible averages for the type of bike. Adjust them to your parts and the way you ride.
It never writes to Strava.
Access is read-only: no posts, no changes to your activities.

So what does it cost?

Nothing. I built it for myself, and I’m sharing it.

Questions

What Strava data does BikeCheck access?

Read-only: your activities (private ones included, so every ride counts) and your profile, which holds your list of bikes. BikeCheck uses the date, distance, duration, bike and whether the ride was outdoors or indoors. It never posts, never changes anything and doesn’t read your feed.

How are rides in the rain or mud counted?

When you tag a ride’s conditions, each part gets its own factor. For the chain: ×1.5 in the rain, ×2 in mud, ×2.5 in winter. So a 50 km ride in the rain counts as 75 km of chain wear. The real distance doesn’t change.

I ride indoors on a trainer. How is that handled?

It depends on your trainer. On a direct-drive trainer the rear wheel is off, so the bike’s cassette and rear tyre don’t wear, but the chain does. On a wheel-on trainer, the rear tyre wears faster than on the road (×1.5). Rollers and smart bikes are covered too.

Why replace the chain on time?

Because a chain stretches as it wears and then wears out the cassette and chainrings, which cost a lot more. Replace it on time and you only buy a chain; leave it too long and it often takes the cassette with it. I learned that the hard way.

Can I track more than one bike?

Yes: road, gravel, mountain, commuter, indoor trainer. Each bike has its own parts, counters and limits, with ready-made templates for each type of bike.

What if a ride isn’t on Strava?

Add it by hand in the app, with the distance, the bike and the conditions. It counts exactly like a Strava ride.

My parts aren’t new. Do I start from zero?

No. When you add a part, you enter when it was fitted and how many km it already had; BikeCheck then counts your rides from that date.

Let BikeCheck open the spreadsheet for you.

Connect Strava, describe your parts once, and get back on the bike.

BikeCheck — le carnet d'entretien de votre vélo, alimenté par vos sorties Strava