How moonScan works
Your pulse, seen by your camera.
A short walk through what happens between pressing Start and seeing your heart rate. In plain words, with pictures, and with the limits spelled out.
The idea
Every heartbeat slightly changes the colour of your skin.
With each beat, a little more blood flows through the tiny vessels under your skin, and the skin changes colour by a tiny amount. You cannot see it. A camera can. moonScan watches that colour over time and works out how fast your heart is beating.
Go deeper
The technique is called rPPG, short for remote photoplethysmography: measuring blood flow from light, without touching the skin. Smartwatches use the same principle with a green light against your wrist. moonScan uses the ordinary light in your room and your phone's front camera instead.
Step 1
Finding your face.
The phone first maps landmarks on your face, a mesh of points that follows your features. From that map it picks the patches of skin to read, mainly your forehead and cheeks, where the colour change is easiest to catch.
Go deeper
The mesh runs in your browser, frame by frame, so the patches follow you if you shift a little. Eyes, mouth and hair are left out because they add movement and shadow rather than pulse.
Step 2
Getting ready.
Before measuring, moonScan checks that your face is framed well, that there is enough light, and that you are holding still. Then it throws away the first few seconds, while the picture and the signal settle down.
Go deeper
Those first seconds are discarded on purpose: cameras adjust their exposure as they start, and people tend to move when a scan begins. Counting starts only once things are calm.
Before the clock starts
- Face is in the frame
- Enough light on your face
- You are holding still
- First seconds set aside
Ready
Step 3
Listening for about a minute.
For each skin patch, moonScan records the average colour many times per second. A standard scan listens for about 60 seconds. Extended mode listens for 90 seconds. More time means more heartbeats to learn from.
Go deeper
Averaging many pixels in a patch smooths out camera grain, so the tiny colour rhythm can show through. The three traces here are exaggerated so you can see them. Real traces are far smaller and much messier.
Step 4
Cleaning the signal.
The raw colour trace is mostly noise: slow drifts, lighting changes and movement. moonScan filters those out and keeps only the range where a human pulse can be, roughly 40 to 200 beats per minute.
Go deeper
In frequency terms, that is about 0.7 to 3.3 beats per second. Anything slower, such as a drifting light, or faster, such as camera flicker, is removed before moonScan looks for a heartbeat.
Step 5
Finding the rhythm.
The cleaned signal is broken into its repeating patterns, and the strongest heartbeat-like rhythm is picked. moonScan also checks shorter slices of the scan to see whether they agree, and rules out echoes, rhythms that are exactly double or half the real one.
Go deeper
The breakdown into repeating patterns is a spectrum, the same idea as an equaliser on a music player. Echoes appear because a regular wave also has a half-speed and a double-speed shadow, so the check looks at which candidate the whole scan supports.
Step 6
Double-checking before showing you anything.
If the evidence is weak or contradictory, moonScan asks you to scan again instead of guessing. A missing result is annoying. A confident wrong number is worse, so no result is better than a wrong result.
Go deeper
Typical reasons for a rescan are poor light, a lot of movement, a face that left the frame, or slices of the scan that disagree with each other. A rescan costs you a minute and protects you from a misleading number.
Evidence check
Let's try that again
The signal was too unclear for a trustworthy number, so moonScan is not going to guess.
No result is better than a wrong result.
Step 7
What you get.
Three readings: heart rate, HRV and breathing rate. They are wellness estimates from a camera, not medical measurements, and moonScan does not diagnose anything.
Go deeper
Heart rate comes from the process you just walked through. HRV and breathing rate come from a specialist partner model that moonScan sends your face crop to, described in the next chapter.
Heart rate
72bpm
How many times your heart beats in a minute.
HRV (RMSSD)
42ms
How much the time between heartbeats varies from one beat to the next.
Time between beats, one bar per beat
Breathing rate
14per min
How many breaths you take in a minute.
Your data
Where your data goes.
Part of the work happens on your phone, part happens on moonScan's secure server, and part happens at a specialist partner. Here is exactly which, so nothing is a surprise.
Go deeper
moonScan does not claim that nothing leaves your phone, because it does. For the full legal wording, see the Privacy Policy and the Camera Data Notice.
Your phone
Reads your pulse and works out your heart rate
moonScan server
Passes your scan on
Specialist partner
Gets face-crop pictures to estimate HRV and breathing
Your account
Saves your results
- Face screenshots are saved by default. Switch them off in Settings (new scans only).
- Saved health values are encrypted, but not end-to-end.
- You can ask to delete your data at any time.
See exactly what goes where
On your phone
- Camera picture and face mapping
- Skin colour traces and cleaning
- Heart rate calculation and the double-check
moonScan secure server
- Passes your scan to the partner model
- Saves your results to your account
Specialist partner model
- Receives reduced-resolution face-crop pictures
- Estimates HRV and breathing rate
Your moonScan account
- Heart rate, HRV and breathing rate
- Scan quality details
- Face screenshots, unless you switch them off
Accuracy
How accurate is it?
In an internal comparison with a Fitbit, moonScan's heart rate was on average 1.1 bpm away from Fitbit's across 118 paired scans. 94% were within 3 bpm and 98% were within 5 bpm.
Go deeper
This is an internal, non-clinical comparison of heart rate only. Fitbit is a consumer wearable, not a medical reference. The 118 pairs are scans, not 118 different people, so this is not a clinical study and it says nothing about HRV or breathing rate.
Internal, non-clinical comparison with Fitbit heart rate. Heart rate only.
- 118
- paired scans
- 1.1 bpm
- average difference
- 94%
- within 3 bpm
- 98%
- within 5 bpm
118 paired scans, not 118 people. Not a clinical study.
Limits
What can throw it off.
A camera reads light, so anything that disturbs the light or the picture disturbs the reading. Most of it is easy to avoid once you know.
Go deeper
Results can also differ between people and between devices, and moonScan cannot promise the same accuracy for everyone. If a reading looks wrong to you, trust that instinct and scan again.
Lighting
Tip: Face a window or a lamp so light falls evenly on your face. Avoid strong light from behind you or flickering lights. moonScan cannot read you in the dark.
Movement
Tip: Rest the phone on something steady and hold still. Movement is the most common reason for a rescan, and no scan is motion-proof.
Talking
Tip: Stay quiet and breathe normally. Speaking and chewing move the skin patches that moonScan is reading.
Framing
Tip: Keep your whole face in the guide, not too close and not too far. Hair, hands or glasses covering the forehead and cheeks make the reading harder.
Slow devices
Tip: An older phone, or one with many apps open, may drop camera frames. Close other apps and try again if a scan keeps failing.
- Read the full Accuracy & Limitations page
The science
Standing on real science.
Reading a pulse from light has been studied for decades, and reading it from an ordinary camera is an active research field. moonScan builds on that published work. It did not invent the idea, and it does not claim to.
Go deeper
What moonScan adds is the engineering around it: face tracking, signal checks, echo rules and an honest willingness to say "scan again". It is a wellness tool and not a medical device.
Curious what it says about you?
A scan takes about a minute. It is a wellness estimate, not a medical measurement.
Try a scanNot a medical device. moonScan does not diagnose, treat or prevent any condition.


