VeloDrive is a private, local app for building and riding structured workouts on any FTMS smart trainer, like the Wahoo KICKR or Tacx NEO. It runs entirely on your computer in Google Chrome or as a native Linux app—no account, and no workout or ride data is uploaded.
Click here to start riding 👉 https://velodrive.bike/
If you install it as a Chrome app, you can ride offline.
- Open https://velodrive.bike/ in Chrome.
- Click the install icon in the address bar.
See real-time information at a glance, in a simple, distraction-free workout view.
VeloDrive works with most modern Bluetooth smart trainers such as the Wahoo KICKR and Garmin Tacx NEO through the standard FTMS protocol and records heart rate from an optional Bluetooth monitor.
VeloDrive comes with a large number of built-in workouts, but you may also import existing workouts or build your own.
VeloDrive is compatible with the .zwo and .fit protocols, meaning you can import any workout from websites like TrainerDay, the Zwift collection, and WhatsOnZwift.
You can also use the built-in workout builder to create your own.
Using the workout calendar to view your past workouts, or schedule ones for the future. 3/7/30 day stats are automatically calculated for your schedule, so you can keep your TSS in check.
All workouts are saved at FIT files to your hard drive, so you can analyze them whenever you want, or even upload them to apps like Intervals.icu or Strava.
Your workouts and ride files stay in the folder you choose, where you can inspect, back up, or move them yourself:
workouts/holds your workout libraryhistory/holds completed rides as FIT filestrash/holds workouts and rides removed through the app
Items in trash remain available until you decide to remove them permanently.
| Key | Action |
|---|---|
Space |
Start, pause, or resume the selected workout |
W |
Open the workout library |
C |
Open the calendar |
S |
Open Settings |
E / R |
Choose ERG or resistance during a free-ride block |
J / K |
Lower or raise the active free-ride target |
Esc |
Close the current view or return to its parent |
Linux users can build the native app for more reliable Bluetooth connections and automatic device reconnection. It can also import workout links that browsers block:
scripts/build-flatpak.sh # build and install
scripts/build-flatpak.sh --run # build, install, and launch
flatpak run bike.velodrive.VeloDriveSee flatpak/README.md for prerequisites and packaging details.
VeloDrive works with Bluetooth FTMS trainers and standard Bluetooth heart-rate monitors. It has been tested with a Wahoo KICKR and Wahoo TICKR, and other standards-compliant devices should work too.
The app is built with TypeScript, Vite, and Svelte. The source is in web/, and the GitHub Pages build is in docs/. See web/README.md for architecture and test-harness details.
cd web
npm install
npm run typecheck
npm run test
npm run test:e2eContributions to the workout bank, device support, tests, documentation, and interface are welcome.