I found the price of indoor bike software like TrainerRoad and Zwift too high and decided to build something myself (also just for fun). Chromium browsers implement the Web Bluetooth API, which allows control over smart trainers and heart rate monitors. I added default workouts based on scientific studies and a simple editor for custom workouts. I've been using it for the past two years without problems and hope somebody else might find it useful.