Three metrics compared · 2 min read

Heart rate vs HRV vs Immersion: what can each actually tell you?

Heart rate tells you exertion and arousal. Heart-rate variability tells you the balance between stress and recovery, averaged over minutes. Neither can tell an important moment from a boring one, which is why "use HRV for emotion" keeps disappointing developers. The Immersion SDK takes the same heart-rate data your app already collects and decodes the neurochemical signatures riding on the rhythm, second by second, into Value (what the brain invested resources in processing) and Psychological Safety (how comfortable the person was). It’s the difference between a stress gauge and a behavioral predictor.

Heart rate (HR)

What it is
Beats per minute.
What it tells you
Physical exertion and general arousal.
What it can’t tell you
Whether the arousal is good or bad. A sprint, a jump scare, and a first kiss can all read 120 bpm.
Time window
Instant.

Useful for fitness. Useless for value.

Heart-rate variability (HRV)

What it is
Variation in the interval between beats.
What it tells you
Autonomic balance: stress versus recovery, regulation capacity, sleep and training load.
What it can’t tell you
Valence. The literature is consistent: HRV tracks arousal and regulation, not what someone valued.
Time window
Typically 1 to 5 minutes, often longer for reliable features.

Useful for recovery. A weak proxy for emotional response, and minutes late, so it can’t be tied to what caused it.

Immersion (Value + Safety)

What it is
Neurochemical signatures decoded from cardiac rhythm.
What it tells you
How important an experience is to the person (Value) and how comfortable they are (Psychological Safety), each 0–100.
What it can’t tell you
Name an emotion. It doesn’t try to. It predicts memory and behavior instead.
Time window
Every second, scored as it arrives.

A behavioral predictor from the same sensor.

Same heart rate, opposite experiences

A jump scare and a great song both push heart rate up and HRV down. Worse, HRV needs one to five minutes of beats before it can say anything, so by the time it reports the drop the scene has moved on and there’s no way to connect the reading to the moment that caused it. Immersion is the only column that tells the two apart, and the only one that lands on the second it happened.

MomentHeart rateHRV (1–5 min later)Immersion (that second)
A jump scare in a horror filmSpikesDrops (stress), minutes after the scene has moved onValue high, Safety low, on that second
A great song at a concertSpikesDrops (arousal), reported minutes later, indistinguishable from the scareValue high, Safety high, on that second
A boring quarterly all-handsFlatFlat or rising (disengaged calm), eventuallyValue low, Safety high
A tense performance reviewElevatedDrops, by the time the meeting is overValue moderate, Safety low, tracking each exchange
A brisk walk while listening to a podcast you loveElevated (exertion)Drops (exertion), and stays down for the walkValue high, Safety high, exertion separated out

Illustrative readings. Individual responses vary; the direction of each row is what the science supports.

On-device HRV emotion detection is still an emotion-recognition system

Several newer tools claim to classify emotions from HRV features on the device. Claiming it doesn’t make it so: HRV summarizes arousal and recovery, and the literature has never shown it can tell what a person valued. Suppose for a moment it could. A model that infers emotions from a physiological signal is an emotion-recognition system under the EU AI Act regardless of where it runs: banned in workplaces and schools, subject to a duty to inform the people exposed to it, and high-risk elsewhere. Running on the device is good for privacy. It doesn’t change what the system is, and it doesn’t make the science work.

The Immersion SDK is built differently on both counts. It doesn’t infer named emotions, so it’s not an emotion-recognition system. And it doesn’t stop at HRV features, so its output predicts behavior rather than summarizing stress.