What helped me a few years ago on the bike was using the indoor trainer and virtual power. I've never used HR for cycling, only running to stay in zone 2/3 etc.
The virtual power setup simply required a speed/cadence sensor, a ANT+ USB stick (to send data to laptop) and I used a free cycling program called Golden Cheetah. This turned out to be a great training tool and an incredibly low budget.
https://www.goldencheetah.org/ You start by determining your virtual FTP then all workouts are based on percentages of FTP.
For example a one hour workout might look like this:
10' warm up at 60% FTP
5 x [30" at 120% FTP, 30" easy]
5' easy at 60% FTP
5 x [2' at 105% FTP, 1' easy]
5' easy at 60% FTP
1x10' at 90% FTP
10' easy cool down
I would do 3 indoor sessions a week during the winter. I rarely did any workouts over 90 minutes during the winter. They were an hour long on average and rarely had any steady state riding over 20 minutes. With so many intervals and having to hit power targets there was no time for boredom in these workouts. These shorter workouts allowed plenty of time to run and swim. I would often do a 3-4 mile run right after the bike workout.
Once warmer weather settled in I then took to longer rides (2-3 hours etc.).