Start free

For researchers and teams that collect data

Introducing
eSSESSMENT

Build a program with questions, guided breathing activities and camera readings, and run it on participants' own phones.

  • Describe your protocol to Claude, and it builds the program
  • Participants check in from the free Coherence app on their phone
  • Review each answer next to its reading in Playback
See how it works

How it works

You see a face. The camera sees a heartbeat.

Every heartbeat and breath makes tiny changes in the face and chest. Presage reads them from ordinary video.

Pulse, from your face

Each heartbeat changes how much light your skin reflects. The camera picks up those tiny color shifts across your face to find your pulse, a method called remote photoplethysmography (rPPG).

Breathing, from your chest

Each breath moves your chest and shoulders. The camera follows that rise and fall, frame by frame, in the same video to measure your breathing rate.

Any camera, about 30 seconds

Phone, laptop or webcam, with nothing to wear. Sit still with your face and chest in view, and every reading comes with a confidence score for how clean its signal was.

Read how a phone camera measures heart rate
What you seeWhat the camera sees

Drag to compare. Changes are drawn much larger than they really are.

Two ways to use Presage

One sensing engine.
Two ways to use it.

Run a program with eSSESSMENT. Or build camera sensing into your app with the SmartSpectra SDK.

Run your protocols on any phone

eSSESSMENTQuestions, guided activities, and vital signs in one check-in.
Launch your protocol today.

Add camera sensing to your tech

ContentView.swift
1// File > Add Package Dependencies: SmartSpectra23import SwiftUI4import SmartSpectra56let sdk = SmartSpectraSDK.shared7sdk.config.apiKey = "YOUR_API_KEY"8sdk.config.cameraPosition = .front9sdk.config.requestedMetrics =10    SmartSpectraConfig.breathingMetrics +11    SmartSpectraConfig.cardioMetrics12try await sdk.start()
MainActivity.kt
1// app/build.gradle.kts2implementation("com.presagetech:smartspectra:3.4.0")34import com.presagetech.smartspectra.SmartSpectraSdk56val sdk = SmartSpectraSdk.shared7sdk.config.apiKey = "YOUR_API_KEY"8sdk.useCamera(CameraSelection.Front)9sdk.config.requestedMetrics =10    SmartSpectraConfig.breathingMetrics +11    SmartSpectraConfig.cardioMetrics12lifecycleScope.launch { sdk.start() }
hello_vitals.cpp
1// find_package(SmartSpectra CONFIG REQUIRED)2#include <smartspectra/smartspectra.h>3namespace spectra = presage::smartspectra;45spectra::SmartSpectraConfig config;6config.api_key = "YOUR_API_KEY";7config.requested_metrics =8    spectra::SmartSpectraConfig::BreathingMetrics();9config.AddMetrics(spectra::SmartSpectraConfig::CardioMetrics());10spectra::SmartSpectra sdk(config);11sdk.UseCamera(spectra::CameraSelection::Default()).Build();12sdk.Start();
index.ts
1// npm install @smartspectra/node-sdk2import { SmartSpectraSDK, CameraSelection,3  breathingMetrics, cardioMetrics, decodeMetrics }4 from '@smartspectra/node-sdk';56const sdk = new SmartSpectraSDK({7 apiKey: 'YOUR_API_KEY',8  requestedMetrics: [...breathingMetrics, ...cardioMetrics],9});10sdk.on('metrics', (buf) => console.log(decodeMetrics(buf)));11sdk.useCamera(CameraSelection.default);12sdk.start();
SmartSpectra SDKPulse, breathing, HRV, facial signals, and more from any camera.
Install it into your app with only a few lines of code.

Clinical validation

The science behind the signals.

Explore FDA clearance, model performance and testing across all six Fitzpatrick skin types.

FDA 510(k) K254169
MeasurementClinical result
Pulse ratevs. ECG
1.73
BPM RMSE
Android
1.77
BPM RMSE
iPhone
Respiratory ratevs. reference devices
0.03
BrPM mean bias
95% limits of agreement −2.17 to +2.23

FDA cleared

SmartSpectra Vital Signs Monitor 1.0 received FDA 510(k) clearance (K254169) for contactless measurement of pulse rate and respiratory rate.

View FDA clearance

Model cards

Model cards

Each model card explains the testing conditions: the people tested, the reference instruments and the error against them.

See all model cards

Fitzpatrick skin types

Subjects in each model card

  • I
  • II
  • III
  • IV
  • V
  • VI
Pulse rate and pressure waveform
118 subjects
Breathing
93 subjects
HRV
118 subjects

Tested across skin types

Every model card includes subjects from all six Fitzpatrick skin types.

Capabilities

Discover what you can measure.

Add contactless health monitoring to your product with SmartSpectra. One SDK uses standard cameras to measure heart and breathing rates, capture physiological waveforms and analyze facial expressions, with no wearables or specialized hardware needed.

Heart rate

Pulse waveform

Heart rate variability (HRV)

Blood pressure changes (uncalibrated)

Respiratory rate

Micro-expressions & facial action units

Lip & speech activity

Blink rate & eye tracking

Vital signs & breathingFacial expressions & speech

Vital signs & breathing

  • Heart rate
  • Respiratory rate
  • Heart rate variability (HRV)
  • Blood pressure changes (uncalibrated)
  • Pulse waveform

Facial expressions & speech

  • Micro-expressions & facial action units
  • Lip & speech activity
  • Blink rate & eye tracking

See contactless vitals in action

Get to know us.

See how Presage turns ordinary video into vital signs, from guided check-ins with eSSESSMENT to contactless measurements in your own app with the SmartSpectra SDK.

Pricing

Start free. Scale when you’re ready.

Both start free. After that, eSSESSMENT is $10 per additional active participant per month, and the SDK is priced for your volume.

eSSESSMENT

For researchers and teams

Labs, coaches and research teams running studies and check-ins.

Free to startthen $10 per participant per month

  • Free for your first 3 active participants each month
  • Participants never pay
  • Team seats and programs are unlimited

No credit card needed to start. Active participant is defined as anyone who completes an activity that month, your team included.

Start free

SmartSpectra SDK

For app owners and developers

App and product teams adding contactless vitals to their platform.

Free trialthen priced for your volume

  • Full SDK on iOS, Android, Linux, macOS, and Windows
  • Vitals, AI insights, storage, and reference data
  • No credit card required. In production: SSO, audit logs, FHIR, and an uptime SLA, plus government and on-premise deployments. Production pricing: team@presagetech.com.
Get API Key

Frequently asked questions

SmartSpectra Vital Signs Monitor 1.0 is FDA 510(k) cleared (K254169) for contactless measurement of pulse rate and respiratory rate. All other Presage products, including the SmartSpectra SDK, eSSESSMENT and Coherence, are for general wellness and research use.

eSSESSMENT runs your protocol on participants' own phones. Build it as a program of questions, guided breathing activities and optional camera readings of pulse rate, breathing rate and more. Participants run it in a few minutes in the free Coherence app, with no wearable devices to put on or charge, and your team can review every completed session. See eSSESSMENT.

SmartSpectra is a contactless sensing SDK that turns any camera into a real-time biometric sensor. It tracks facial and chest movements to extract anonymized health metrics including pulse rate, breathing rate, HRV, and more, all without wearables or physical contact.

Heart rate and respiratory rate, heart rate variability, blood pressure changes (uncalibrated) and the pulse waveform, plus micro-expressions and facial action units, lip and speech activity, and blink rate and eye tracking. Read how a phone camera measures heart rate.

Pulse rate is within ±0.36 beats per minute and breathing rate within ±0.37 breaths per minute on average (mean absolute error at an 80% return rate, from our model cards). Accuracy depends on lighting and motion. Each heart and breathing reading comes with a confidence score for signal quality.

iOS (Swift), Android (Kotlin), C++ on Linux, macOS and Windows, and Node.js with TypeScript. Install with your package manager, and find samples on GitHub.

Yes. The free trial requires no credit card and includes every piece of the platform: all SDK features, LLM insights, storage and reference data, plus community support on Discord. eSSESSMENT is free for your first 3 active participants each month, then $10 per additional active participant per month. For production apps, contact team@presagetech.com.

No developer? No problem. We can host your activities for your users in the Coherence app, with no coding required. See eSSESSMENT, or contact team@presagetech.com.

Still have questions? Email support@presagetech.com