Skip to main content
The NEUROFIT Vitals SDK adds a 60-second fingertip reading to your iOS or Android app. Your user covers the rear camera and flash with a fingertip, sits still for a minute, and the SDK returns heart rate, HRV (RMSSD) and breathing rate, together with SDNN, the Baevsky stress index, the Poincaré SD2:SD1 ratio, a signal-quality tier and diagnostics. No wearable is needed. Readings are processed entirely on the phone with deterministic signal processing, not machine learning. No images are stored or transmitted; the SDK returns only the metrics, a quality tier and diagnostics. It is the same engine that powers the Vitals feature in the NEUROFIT app (engine 1.3.0), so the numbers your app shows match the numbers NEUROFIT shows.
The NEUROFIT Vitals SDK is not a medical device and does not diagnose, treat or prevent any condition. Use it for wellness, fitness and self-tracking features.

Validated against a chest strap

In the NEUROFIT validation study, 30 participants took 265 accepted readings while wearing a Polar H10 chest strap. Against the strap’s beat-to-beat timing: 94.7% of HRV (RMSSD) readings were within 10 ms of the strap and none was off by 20 ms or more. The SDK withheld the 3.3% of readings it flagged as unreliable. These figures apply to seated, still, 60-second readings. See Metrics for every metric, the limits of agreement and what is not yet claimed.

What ships

Native SDKs

Swift package for iOS 15+ (xcframework, or sources for Xcode 16+) and Kotlin AAR for Android 9+ (API 28). Each adds under 1 MB to your app download.

Wrappers

Thin React Native, Flutter and Capacitor wrappers over the native SDKs, with the same events and result fields.

Sample apps

A SwiftUI sample and a plain-Views Android sample that walk through activation, permissions, the live reading and the result screen.

Two license types

A binary license gated by an offline license key, or a source-available license to the engine and SDK. See License keys.

How a reading works

  1. Activate the SDK once at launch with your license key. Verification is offline.
  2. Ask for camera access (the SDK provides the permission calls on both platforms).
  3. Create a session and start it. The camera and torch turn on and the session waits for a fingertip.
  4. Show guidance from the events the session emits (cover the camera, adjust pressure, hold still).
  5. Show live values during the 60 seconds: heart rate, a provisional HRV (RMSSD) from about 20 seconds in, a provisional breathing rate from about 30 seconds in, a signal level and the elapsed time.
  6. Receive the result: metrics, a quality tier of clean, usable or withheld, flags and diagnostics.
The session handles restarts for you: if the finger lifts or the signal drops during a reading, the reading is cancelled and the session returns to positioning, ready to start again as soon as the signal is back. Reading lifecycle has the full state machine.

Where to go next

iOS quickstart

Swift, SwiftUI or UIKit.

Android quickstart

Kotlin or Java.

React Native

TypeScript wrapper.

Flutter

Dart wrapper.

Capacitor

Capacitor 6 plugin.

Outcomes

Pre/post designs and trends.

Support

Licensing and technical questions: contact@neurofit.app. Please include the SDK version (VitalsSDK.sdkVersion), the platform and, for a reading question, the result’s diagnostics.