About
Why AirHRM exists, and how I think about building it.
Road cycling is one of my favorite hobbies and I train almost every day. My bike has a power meter; power and heart rate are how I pace almost every hard effort. I've run a Garmin Edge for years.
I already shipped HRM — an earlier app for the same job: heart rate from Apple Watch, broadcast to any bike computer or trainer as a standard Bluetooth sensor. I built it so I could drop the chest strap when I already had something accurate on me.
When Apple put a heart rate sensor in AirPods Pro 3, it clicked: even more people train with buds in, indoors and outdoors, and those readings land in HealthKit. Apple still doesn't expose that stream as a generic BLE peripheral for your Peloton, head unit, rower, or treadmill — the same wall HRM had already worked around for another wearable. AirHRM is the next beat of that idea: AirPods Pro → HealthKit → iPhone → the receiver sees a sensor named AirHRM, like a chest strap.
Same philosophy as before. One job: bridge heart rate. No duplicate analytics engine, no training zones in the app your head unit or studio software already handles. I still want boring reliability over feature creep.
If you've used HRM before, the idea will feel familiar — Start lives on the iPhone now, and receivers see the name AirHRM. If you're new here: welcome. I wanted accurate HR on real hardware without buying another dedicated strap or band.
I hope it frees you from the strap as much as it freed me.