ride. sync. read.

Training dashboard for your rides.

No feed, no kudos, no leaderboard. Just your training – form, load and every ride in detail, on your own computer.

your form

Form, load, fitness.

Pick a period and see what changed – hours, intensity, zones – and what it did to your form.

every ride

Second by second.

Power, heart rate, speed and elevation – coloured by zone and tied to the map. Hover the chart, see the spot.

your year

One page per year.

Months, climbs, best efforts – the rides that mattered.

every road

All your roads, one map.

Every track as a heatmap. Filter by year, bike or place – click a road and see every ride that took it.

Your rides stay home.

Every ride is a plain file on your computer. No sign-up, no cloud, no one else’s server. Delete the folder and it’s gone.

get started

Four steps to your own rides.

  1. Clone

    Get the code.

    git clone https://github.com/davidhellmann/casquette.git cd casquette
  2. Look around

    A made-up rider with three years of rides – on localhost:4321.

    npm ci && npm run dev
  3. Connect

    Create your API app on Strava, put its ID and secret into .env, sign in once.

    cp .env.example .env npm run strava:auth
  4. Sync

    The first full sync takes hours to days – Strava’s rate limits. Stop it any time; it picks up where it left off.

    npm run sync:all # later: npm run sync

Putting it online? Only behind a password – it contains your GPS tracks, start and end points included. Building and hosting · All steps: the README