⚠️
Device Incompatible
This feature requires camera access and is not supported on this device or browser.
00:00
STANDBY
🔒
100% Local & Private. PPG (RGB triple-channel), HRV, SpO₂ proxy, motion, and ocular data processed entirely on-device via Web Workers. Nothing uploaded.
🔦 Flash status unknown
⚠ Compatibility Warning
📱 Flash / Torch Tips: On Android: torch activates automatically after you tap Start — close other camera apps first. On iOS Safari: requires iOS 17.4+ and HTTPS.
💡 Manual Flash: If flash doesn't activate automatically, open your phone's Control Center (iOS) or Quick Settings (Android), turn on the flashlight/torch manually, then return here and tap Start — the app will use the already-active torch.
60
Measuring…
Cover lens + flash · hold still
▸ Cover lens with fingertip
Rear camera · flash pending
🫀
System Calibration
Rear camera · flash LED · RGB triple-channel PPG
Cover lens + flash with fingertip and hold still 30–60 s
REQUESTING CAMERA…
Tap Allow on the browser prompt
Camera Ready
Cover the lens and flash LED with your fingertip · hold still
🔒
Camera Permission Denied
iOS: Settings → Safari → Camera → Allow
Android: tap 🔒 in the address bar → Camera → Allow
Signal Quality
🔴
Coverage
--
📊
Clip
--
💡
Sat
--
📐
Stability
--
Camera
Torch
Gyro
Accel
FFT Worker -- fps
Signal Quality
⏸ Low SNR — Timer paused · Place finger over lens to resume
Basic · BPM
HRV · ANS
Vascular
--
BPM--
♥ Pulse
--
%
Confidence
--
Zone
HR Zone
--
Red ch
--
Green ch
--
Blue ch
🫁
-- % SpO₂ proxy
R/G ratio: --
RGB ratiometry · Red/Green differential
--
RMSSD · ms
Healthy: ≥20 ms
--
SDNN · ms
Normal: ≥50 ms
--
pNN50 · %
Healthy: ≥20%
--
ANS Balance
LF/HF ratio proxy
ANS: RMSSD reflects parasympathetic (vagal) tone. SDNN captures overall variability. pNN50 = % of successive IBI differences >50 ms. Higher values = better recovery & lower stress. IBI upsampled to 250 Hz via cubic spline before peak detection.
--
Waveform Skew
Pulse asymmetry — elevated may suggest stiffness
--
Dicrotic Notch
Secondary bounce — peripheral resistance proxy
--
AC Amplitude
Pulsatile signal strength · peripheral perfusion
--
Stiffness Idx
Pulse transit proxy — lower = better (<10 normal)
Vascular Note: These are waveform-shape metrics from camera PPG — proxy indicators only, not clinical measurements. Trending across sessions is more meaningful than any single reading. Green channel (highest hemoglobin absorption) drives peak detection; Red/Blue used for SpO₂ and motion artifact rejection.
IBI · Spline-Upsampled 250 Hz · Derivative Zero-Cross
0 beats
--
Poincaré Phase Plot · RR₍ₙ₎ vs RR₍ₙ₋₁₎ · HRV Topology
SD1 --
SD2 --
latest beat
recent beats
older beats
identity line
Beat Timeline · 60 s Window 0 screened
PPG Waveform · Adaptive Baseline · Green Channel Primary
-- Hz
1st Derivative (dPPG/dt) · Zero-Cross = Beat
-- peaks
Single-Pulse Morphology & Decay Slopes ZOOM τ -- ms
HR FFT · 0.4–4 Hz [Worker]
HR band
🫀 Vagal Brake
Measuring…
--
Peak BPM
(inhale)
--
Nadir BPM
(exhale)
--
Δ Brake
bpm swing
Breathe in deeply then exhale fully while session runs — captures vagal brake strength.
🌙
Circadian Drift Detected
NON-DIAGNOSTIC
Autonomic drift detected in IBI series — late-phase IBI shortening may indicate sympathetic activation or circadian dip.
Motion · Tremor Analysis [Worker]
RMS -- mg
X 0.0
Y 0.0
Z 0.0
Tremor Spectrum · 3–12 Hz [Worker]
Peak -- Hz
3–5 Hz Essential tremor
5–8 Hz Physiological
8–12 Hz Fatigue
Motion sensor access required
  1. Tap "Start Assessment" — browser requests camera. Tap Allow.
  2. Flash activates automatically — if not, close Camera app, restart browser, retry.
  3. Cover rear lens + flash LED — moderate pressure (brightness 100–200).
  4. Watch Signal Quality — all four checks green = reliable reading.
  5. Hold 30–60 s — BPM, HRV, SpO₂ proxy, vascular metrics update live.
  6. 3 data tabs — Basic (BPM/SpO₂), HRV (ANS), Vascular (waveform shape).
Session History
0 readings
No readings yet
Tremor & Neuromuscular Fatigue
Select a stability assessment protocol
🎯
Stability Test
Hold phone flat for 30 s. FFT of physiological tremor (4–12 Hz).
🧠
CNS Burnout
Extended 60 s protocol. Tracks fatigue onset via tremor drift.
📳
Tremor Profiler
Live tremor with dominant frequency tracking and zone classification.
🫀
Dual: HRV + Tremor
Correlate HRV (ANS) with tremor amplitude for readiness scoring.
Stability Protocol · 30 s
IDLE
30
SEC
Press Start to begin
--
mg RMS
Tremor
--
Hz Peak
Dominant
--
/ 100
Stability
Neuromuscular Spectrum · 0–15 Hz [Worker]
--
▶ Start Test
Protocol: Hold phone palm-up, arm relaxed on lap. 3–5 Hz = essential tremor · 5–8 Hz = physiological · 8–12 Hz = fatigue/CNS burnout.
👁

Ocular Imaging

Sclera yellowing · Pupil response · Clarity screening

Sclera / Jaundice
Pupil Reflex
Clarity Screen
Position eye within oval
⚡ Corneal glare
Focus: auto
Sclera
--
🔵
Iris
--
Pupil
--
Whiteness
--
Yellowness
--
Redness
--
▶ Start Camera
Hardware Note: Front camera · auto-focus. Shade eye from overhead light to reduce corneal glare. Results are indicative only.
Cardiac Assessment
Heart Rate
--
Normal: 60–100 bpm
HRV · RMSSD
--
Healthy: ≥20 ms
SpO₂ Proxy
--
Normal: ≥95%
Signal Quality
--
Reliable: ≥70%
SpO₂ is a proxy only — Red/Green pixel ratio, not calibrated IR. Not a clinical oximeter.
🧠 HRV · ANS Analysis
SDNN
--
Normal: ≥50 ms
pNN50
--
Healthy: ≥20%
AC Amplitude
--
Higher = better perfusion
Stiffness Index
--
Normal: <10
🏃 Neuromuscular Fatigue
Stability Score
--
Good: ≥70/100
Tremor RMS
--
Low: <5 mg
Peak Freq
--
Physiol: 5–8 Hz
ANS Readiness
--
HRV + tremor index
👁 Ocular Screen
Sclera Whiteness
--
Higher = clearer
Yellow Index
--
Low = normal
Pupil Ratio
--
Normal: 30–50%
Glare Index
--
Low = reliable data
Session History
0 readings
Complete a PPG session to see results
Why CardioSense goes further than HRV scores
A small mechanistic model runs behind your PPG signal — not full differential equations, but a research-inspired surrogate that maps your beat-to-beat rhythm and pulse shape onto cellular-level proxies for trigger strength, Ca²⁺ clearance reserve, and JSR load. The result is a Cellular Resilience Score that answers not just how stressed your autonomic system is, but why — and what kind of activity that implies today.
WELLTORY
✦ Readiness score
✦ Stress bar
✦ HRV snapshot
✦ "Take a rest day"
CARDIOSENSE v12
✦ Cellular Resilience Score
✦ Trigger / Clearance regime
✦ Restitution curve (IBI×Amp)
✦ "Trigger-limited → short efforts fine"
Cellular Resilience Score
AWAITING DATA
--
/ 100
Run a PPG session first
Place finger on lens for 30–60 s to compute the cellular mechanics surrogate.
Trigger str.
--
Ca clearance
--
Beat stability
--
JSR load est.
--
Trigger State
Awaiting signal…
Reflects RyR-like release channel readiness.
♻️
Clearance Reserve
Awaiting signal…
Reflects SERCA-like reuptake capacity.
🫙
JSR Load
Awaiting signal…
Proxy for SR Ca²⁺ store fullness.
🧬
Phenotype Profile
Set lifestyle below to personalise surrogate parameters
(PORT 7 from cpu_21_25).
Set profile ↓
⚠️
Research-Grade Instability Alert
NON-DIAGNOSTIC
We detected N beat(s) with irregular timing while motion was low. This sometimes reflects autonomic load or fatigue — it is not a clinical diagnosis. If this recurs across multiple sessions, consider discussing with a physician.
Model context: recovery slopes were borderline at time of detection.
Signal Fidelity Index · Reliability Gate
Motion (tremor)
--
Vascular amplitude
--
Clipping / saturation
--
SNR
--
SFI composite
--
SFI = max(0, 100 × (1 − tremorRms / ac)) weighted with SNR, clipping, and saturation penalties. Gates all cellular surrogate outputs — CRS is marked low-confidence when SFI < 40.
Vascular Restitution Curve
0 points
IBIn × Ampn+1 pairs
Restitution slope
Beat-by-Beat Summary · PORT 13
CV —
# IBI (ms) Amp (a.u.) ΔAmp JSR est.
Complete a PPG session to see beat-by-beat data.
Lifestyle Profile · PORT 7
Adjusts surrogate leak / SERCA multipliers
Active / Young: Baseline multipliers — leak ×1.0, SERCA ×1.0, vagal tone normal.
Recovery Forecast · Phenotype-Aware
Model estimate
--
hours estimated
to full recovery
SR Reserve
--%
SERCA cap.
--%
Leak factor
--
ANS (HRV)
-- ms
Complete a PPG session to generate a phenotype-aware recovery forecast.
RSA Coherence Stress Test 6-4-6 PROTOCOL
Guided breathing at 0.1 Hz (6s inhale / 6s exhale) to maximise RSA amplitude. Measures vagal tone and cardiac coherence under controlled conditions.
Orthostatic Reflex Challenge · Sit→Stand
IDLE
Start PPG session first, then begin the 30s sit + 30s stand protocol to measure baroreceptor response.
--
Sitting BPM
--
Standing BPM
--
Δ BPM
Key Metrics
Live snapshot from current session
--
BPM
Heart Rate
🫀
--
ms RMSSD
Heart Rate Variability
🫁
--
% proxy
SpO₂ Estimate
📶
--
% quality
Signal Confidence
🧠
--
ms SDNN
ANS Variability
🎯
--
/ 100
Stability Score
--
/ 100
Cell. Resilience
--
Meas. Reliability
HR Zone
--
Overall Readiness
--
Not a medical device · For informational use only · Values update live during PPG session
Session Tags · N-of-1 Tracking
☕ Caffeine
😴 Sleep <6h
🍃 Fasted
🏃 Exercised
⚡ Stressed
🍷 Alcohol
🧘 Meditated
🤒 Unwell
--
Complete a PPG session to receive a personalised coaching directive.