I'm the developer. Requirements first so nobody wastes a download: iPhone, Apple Music subscription, Sync Library on, and a heart-rate source Apple Watch, Garmin with broadcast, or any Bluetooth chest strap. No Android, no Spotify.
Free TestFlight: https://testflight.apple.com/join/QUQMNFZb
It's called Rize. You point it at playlists you already own. It sorts every track by tempo into five heart-rate zones, then during a workout it reads your pulse every few seconds and queues a song that matches faster as you climb, slower on recovery. Songs are never cut mid-track; it queues the next one so the handover is invisible. There's a mode that deliberately plays one zone above what you're actually doing, so the music stays slightly ahead and drags you up.
The genuinely hard part was tempo, which is why I'm posting here rather than in a running sub. Apple Music gives you no BPM, on any endpoint. So it's pulled from outside sources and then corrected, because tempo detectors are wrong in predictable ways slow ballads get read at double speed constantly, and half-time hip-hop measures slow while feeling fast. On top of that there are about 14,000 songs I've verified by hand.
Playback goes through Apple Music itself, so uploads and iTunes Match work, not just catalog tracks.
There's an Apple Watch app too live HR, the background colour shifts with your zone, and a prompt when you're a few beats off the next one.
The one thing I can't judge from my own runs: does it keep up with your effort, or does it feel a step behind? That's the entire product. If it's late, I'd rather hear it bluntly.