Hi,
This started as a debugging tool, not an app. Mid-winter, my HRM DUAL strap stopped working on the trainer. I didn’t want to just guess and buy a new one, so I wrote a simple script to check what the sensor was actually sending. It turned out to be a failed electrode …
Around the same time (about 5 months ago), I lost my job, so I tried to keep myself busy by improving my cycling as a very basic amateur. I didn’t want to pay $20 a month for Zwift when all I really needed was ERG mode and GPX simulation, so I kept adding the features I wanted. Over time, it grew into a full training app.
I started with an FTP of 120 W, so most features exist because I needed to understand them myself first (ERG, PMC, training load, etc.). As I learned about new cycling concepts, I added them to the code.
Currently, my budget and infrastructure allow for about 30 concurrent live sessions—but it’s a start. It quietly turned into something a few other people are using, so I figured this forum would be a good place to share it and get some honest feedback.
The post-ride debrief is quite opinionated and includes:
Recovery time before the next hard session.
Estimated sweat loss and carbs burned, with suggestions on what to eat and drink in the following hours.
A verdict on tomorrow’s planned workout against your current TSB and weekly load budget (e.g., “your TSB drops to -22, move it a day or cut it to 45 min”).
Aerobic decoupling, time in zones, and segment PRs.
Plus the usual tools: FTP tracking, CTL/ATL/TSB, a plan builder, power zones, and a Ramp Test with a cadence guard (it ends the ramp automatically when you can no longer hold the cadence).
How to try it without a trainer? You can import data directly from Strava or upload TCX/GPX files to get a full analysis of your past rides. This is actually how most of the current users use it.
It is free, with no subscriptions and no ads: https://wattlog.pro
Limitations:
Controlling a trainer requires the Wattlog app (Desktop, iOS, or Android) because of Bluetooth connections. A web browser alone can only do the analysis, not ERG control (Web Bluetooth is on my to-do list).
The app is fully translated (via AI) into English, Polish, German, and Dutch.
-– Andrzej (WattLog — Indoor Cycling Training)