The app has three jobs: read a clean heart-rate signal, find the breathing pace that maximizes your HRV, and then help you practice there. Here's how each one works.
1. Sensor pairing
Heart Resonance needs beat-level heart-rate data — not a smoothed average, not a thirty-second "RHR" — so it only talks to sensors that expose the Bluetooth Heart Rate Service with R-R intervals. That's basically every chest strap on the market plus the best arm straps. Known-good models:
- Polar H9, H10 (gold standard for research)
- Garmin HRM-Dual, HRM-Pro+, HRM-Fit
- Wahoo TICKR, TICKR X
- Polar Verity Sense (optical arm strap)
- Coospo H6, H808s (budget options that work)
Open the app, tap Start Session, and it scans for nearby sensors. Pair once; the app remembers and auto-reconnects on future sessions.
Optical wrist sensors (Apple Watch, Fitbit, most Garmin watches) are fine for average heart rate but their R-R timing is not accurate enough for HRV analysis at the resolution resonance-frequency work needs. The beat-to-beat noise floor is simply too high. A $40 chest strap gives you cleaner data than a $400 watch for this specific task.
2. The adaptive assessment (ASSESS → REFINE → HOLD)
The core feature. When you run your first session with the adaptive pacer enabled, the app runs a 12-minute protocol that measures your resonance frequency directly from your HRV response.
Phase 1 — ASSESS (about 8 minutes)
The pacer cycles through five candidate breathing rates, typically spanning 4.5 to 6.5 BPM, holding each for around 90 seconds. During each candidate, it computes:
- The peak power in the HRV spectrum at the breathing frequency
- The peak-to-noise ratio (dominance)
- The LF-band power concentration
A steady-state buffer at the start of each candidate is discarded so we're scoring only after your RSA has locked on to the new pace. You'll see the candidate number (1 of 5, 2 of 5, ...) count up on the pacer card as the protocol progresses.
Phase 2 — REFINE (about 2 minutes)
Once all five candidates have been tested, the app picks the two or three best-scoring candidates and runs a second, finer-grained pass — in 0.25 BPM steps — around the winning region. This catches cases where your true resonance sits between two of the original candidates.
Phase 3 — HOLD (remainder of session + all future sessions)
The pacer locks to the winning rate. You breathe there for the rest of the session, and on every subsequent session by default. A one-line snackbar confirms: "Your optimal breathing pace was found."
Your resonance frequency is stable over months but can drift with significant changes in cardiovascular fitness, body weight, or autonomic health. The app lets you re-run ASSESS any time from the setup screen.
3. The pacer itself
Visual: an expanding/contracting peach orb, inhaling smoothly as it grows, exhaling as it shrinks. The animation uses a sine-shaped curve, not a triangle wave, so the rate change at the turnaround points is gradual rather than abrupt. Your diaphragm prefers it this way.
Audio: optional chime or tonal cues on the inhale and exhale transitions. Ten sound packs ship with the app — Harp, Clarinet, Flute, Meditation, Ping, Pizzicato, Vox, Wurlitzer, Strings, Guitar. Default is Vox. All can be muted.
Haptic: light haptic pulse on phase transitions (Pro feature).
Zen mode: one tap on the spa icon collapses the UI down to the breath ball over the zen background, hides everything else. Useful when you just want to breathe and don't need to see charts.
4. Live coherence and resonance scoring
As you breathe, two score bars update in real time:
Coherence
A 0 – 100% composite of the Shaffer six criteria, weighted for breath-to-breath responsiveness. This is the number most users watch during a session. It climbs into the green zone (≥ 70%) when you're well-locked to resonance.
Resonance
A separate score that measures how closely the HRV peak frequency matches your identified resonance frequency. Coherence can be high while resonance is low (you're coherent but at the wrong pace — common if you speed up unconsciously during a session). Resonance can only be high if you're genuinely on your frequency.
We keep them separate because they answer different questions. Coherence answers "is your heart rhythm in a nice clean sine wave?" Resonance answers "is that sine wave at the specific frequency where your physiology wants it?"
5. The heart-rate chart
Below the pacer, the full heart-rate trace updates as data arrives: the red curve is your filtered BPM, the faint gray underneath is the raw per-beat signal. The chart auto-scales to your heart-rate range and shows minute-markers at 0:30, 1:00, 1:30, etc.
This isn't decoration. When your breathing is matched to resonance, the BPM trace becomes a smooth, regular oscillation tracking the pacer's inhale/exhale cycle. You can visually confirm lock-on by watching the peaks of the BPM curve align with the peaks of your breaths.
6. Session analysis
When you end a session, the app runs a full post-hoc analysis and displays:
- Complete HRV spectrum plot (0 – 0.5 Hz) with peak frequency highlighted
- All six Shaffer criteria, each with its value, threshold, and pass/fail
- RMSSD and SDNN, both overall and in 2-minute windows
- Average BPM, BPM range, total beats
- Coherence and resonance score history across the session
- If you used the adaptive pacer: the scored curve for each candidate rate
Sessions are listed on the History screen. Tap any past session to re-open the full analysis.
7. Export
Every session can be exported as a zip containing:
rr_intervals.csv— every R-R interval, millisecond precisionpacer_cues.csv— every inhale / exhale transition timestamphrv_spectrum.csv— computed frequency-domain outputsession_meta.json— configuration, timestamps, scores
The format is stable and documented. If you want to do your own analysis in Python or R, or feed the data to a coaching dashboard, it's a straightforward read.
8. Consistency tools
Two features aimed at keeping a daily practice going:
- Streak counter — tracks consecutive days with at least one completed session. Shown on the home screen.
- Weekly coherence report — Sunday evening notification summarizing the week's sessions and average scores. Inexact scheduling so it doesn't require the "exact alarms" permission on Android 12+.
- Custom reminders — schedule breathing reminders at any time of day, any days of the week. Scheduled via local OS notifications; no network required.
9. Privacy
Every byte of your session data stays on your device unless you explicitly export it. There is no cloud sync, no account, no server collecting your heartbeats. Analytics are anonymous crash and usage counts only. Read the full privacy policy for specifics.
10. Pro unlock
The free tier gives you unlimited sessions with a fixed-rate pacer at whatever rate you choose. Pro ($9.99, one-time) unlocks:
- Adaptive assessment (ASSESS / REFINE / HOLD)
- Full session statistics screen with six-criteria breakdown
- CSV export
- Haptic breath cues
- All sound packs beyond the default
One payment. No subscription. We believe breath training shouldn't have recurring billing.