About

Why AirHRM exists, and how I think about building it.

Dominik Maglia climbing a mountain pass during a road cycling race

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.

Diagram: AirPods Pro heart rate via HealthKit to iPhone AirHRM app, broadcasting to bike computer and gym equipment via Bluetooth

I hope it frees you from the strap as much as it freed me.

Dominik Maglia

Dominik Maglia

Independent iOS developer & cyclist

Questions, feedback, or just want to talk training? I read every email.