A number appears after a breathing exercise. It looks reassuringly precise. You feel much the same. A useful app should leave room for both observations, and explain what produced the number before attaching a meaning to it.
Stillness is an experimental research app exploring breathing and optional camera feedback. It estimates a pulse-related rhythm and visible breathing movement. Those are specific sensing tasks. They do not establish how someone feels or whether a session benefited them.
A pulse estimate belongs on a chart. How the session felt belongs to you.
There is a signal in the pixels
Remote pulse sensing uses small changes in light reflected from skin. An algorithm tries to separate a pulse-related colour pattern from the rest of the video. The published method used in Stillness is called POS, introduced in Algorithmic principles of remote-PPG. That paper gives the approach a scientific origin. It does not supply an accuracy certificate for every implementation built from it. Wang and colleagues.
This distinction is familiar outside wellbeing. A recipe explains how to bake something; it cannot tell you whether this oven held its temperature. Here, the camera, room and movement all become part of the measurement.
In a study involving 140 adults in India and Sierra Leone, researchers compared video estimates with simultaneous finger pulse-oximeter readings. Large errors occurred alongside movement, poor or changing lighting, and another person entering the image. An apparently small average difference did not mean every individual estimate was close. Dasari and colleagues, 2021.
Accuracy includes the readings we cannot make
Skin-tone performance also needs to be examined rather than assumed. An analysis of three datasets found performance differences across skin types, with poorer average results for the darkest type; the size of the difference depended on the method. It supports inclusive validation, not a blanket verdict about what any person's camera can measure. Nowara, McDuff and Veeraraghavan, 2020.
A useful evaluation would count missing readings as well as successful ones. It would show how errors change across devices, lighting and movement. Reporting only the cleanest sessions could make a tool look reliable while leaving the people it serves least well out of the result.
Stillness has not yet produced that participant-level validation. Its confidence check can withhold a weak signal, but a strong-looking pattern can still be the wrong one. The honest interface needs a way to say that it cannot estimate reliably.

Keep the measurement attached to its name
The same discipline applies after a number is available. Pulse rate is not heart-rate variability, which concerns the timing between individual beats. Stillness's current pulse module estimates a rate; it does not produce the beat-by-beat sequence needed to make an HRV claim.
And neither rate nor a facial movement supplies a definitive emotional label. A synthesis of 202 laboratory emotion studies found substantial variation within emotion categories and no clear, unique pattern across the autonomic measures considered. Context and a person's own account still matter. Siegel and colleagues, 2018.
What Stillness currently estimates
The inspected implementation averages forehead and cheek colours and searches a short signal history for a pulse-related frequency. Breathing feedback comes from recurring shoulder movement, with some adjustment for head position. This is a motion proxy, not an airflow or oxygen measurement. Synthetic-signal tests check the software's behaviour; they do not replace comparison with a reference instrument. The source code exposes those choices for inspection.
Signal — every major browser now hands a page the camera, frame by frame. Firefox added requestVideoFrameCallback in October 2024, joining Chrome, Edge and Safari, so a web page can read each new video frame as it arrives and analyse it on the device. Stillness reads frames this way and does the maths in a background worker; the picture never needs to leave the phone. MDN. One thing to try this week: if your feature analyses a camera, run the analysis in the page and send only what a person chooses to share.
A research app still needs a privacy boundary
Our boundary for Stillness is that camera-derived measurements and felt-state responses stay on the device. Product analytics count coarse interactions such as starting or ending a session. They exclude those measurements and responses, and use neither session replay nor automatic interaction capture. Calling an app experimental creates no permission to quietly turn its visitors into a study population.
The research contribution is a clear separation between what a sensor estimates, what a person reports, and what remains unknown. Anyone building a camera experience can use that separation before adding a score.
This follows the original face-free prototype, alongside the series on breathing evidence and light as a cue.
Send this to someone putting a health-looking number on a screen. Explore Stillness and its evidence, or talk with us about a reference-device comparison.
