Skip to main content

What is Synheart Behavior?

Synheart Behavior is a multi-platform SDK for inferring behavioral signals from digital interactions (scroll, tap, swipe, typing, notifications, calls) directly on device, ensuring privacy and real-time performance. Supported Motion States:
  • πŸ›Œ LAYING:
  • 🚢 MOVING:
  • πŸͺ‘ SITTING:
  • 🧍 STANDING:

Key Features

On-Device Processing

  • All inference happens locally on your device
  • No network calls required
  • No raw interaction data leaves the device
  • Privacy-first by design

On-Demand Metrics Calculation

  • Calculate behavioral metrics for custom time ranges within sessions
  • Query metrics for specific time periods without ending the session
  • Supports both active and ended sessions
  • Automatic validation ensures time ranges are within session bounds

Privacy-First Design

  • No PII: No names, contacts, or user-identifying data
  • No content capture: No text, images, or semantic data
  • No keystroke logging: Text input captured only as abstract tap events
  • Event-level metadata only: Timing and physical metrics only

Multi-Platform

Architecture

Behavior SDKs are input layers: they capture interaction events and stream them out. Higher-level metrics (focus hint, distraction score, etc.) are computed downstream by the Synheart runtime when behavior is fed through Synheart Core.
Components:
  • Event Collectors: Capture scroll, tap, swipe, app_switch, notification, call, typing, and clipboard events.
  • Session Aggregator: Aggregates events into session-level summaries on-device.
  • Motion State Inference: On-device ML model for activity recognition (LAYING, MOVING, SITTING, STANDING).
Behavior is content-free: only timing and physical metadata. Use the SDK standalone for raw events, or feed it into Synheart Core to fuse with biosignals into HSI.

Quick Start Examples

Full Flutter SDK Guide β†’

Use Cases

Focus and Distraction Apps

Monitor user focus in real-time:

Digital Wellness Analytics

Track behavioral patterns throughout the day:

On-Demand Metrics for Time Ranges

Calculate metrics for specific time periods within a session:

Cognitive Load Estimation

Estimate cognitive load from interaction patterns:

Behavioral Metrics

Each BehaviorSessionSummary carries two metric bundles. Per-platform pages document the exact field types β€” the canonical set is small.

BehavioralMetrics

  • interactionIntensity (0–1): Overall interaction rate and engagement.
  • taskSwitchRate: Frequency of app switching.
  • taskSwitchCost: Penalty for fragmented switching.
  • idleTimeRatio (0–1) / activeTimeRatio (0–1).
  • fragmentedIdleRatio (0–1): Ratio of fragmented vs continuous idle periods.
  • burstiness: Temporal clustering of interaction events.
  • behavioralDistractionScore (0–1): Distraction proxy.
  • focusHint (0–1): Focus-quality proxy.
  • deepFocusBlocks: Sustained-engagement intervals.
  • notificationLoad: Notification pressure proxy.
  • scrollJitterRate: Scroll-pattern irregularity.

TypingSessionSummary (when typing events occurred)

  • typingSpeed, typingCadenceStability, typingCadenceVariability.
  • typingActivityRatio, typingGapRatio, typingBurstiness, typingInteractionIntensity.
  • clipboardActivityRate: (copy + paste + cut) / (typing taps + clipboard actions).
  • correctionRate: (backspace + delete) / (typing taps + backspace + delete).
All metrics are bounded and numerically stable.

Motion State Inference

When enableMotionLite is enabled, the SDK uses an on-device ML model (LinearSVC, one-vs-rest) to predict motion states from accelerometer / gyroscope features. The native (Kotlin) layer ships the model directly; the Flutter SDK forwards motion classification to the engine runtime instead of surfacing it on the session summary. Native (Kotlin / Swift) β€” on the session summary:
Flutter β€” motion classification is performed by the Synheart runtime when behavior is fed through Synheart Core. It does not appear on BehaviorSessionSummary. Use Synheart.onHSIUpdate to read the runtime’s motion-state output.

API Features

The SDK provides the following functionality:

Available SDKs

Flutter SDK

Cross-platform mobile apps (iOS + Android)

Kotlin/Android SDK

Native Android applications

Swift/iOS SDK

Native iOS applications
Each repo ships a runnable example in its example/ directory: Flutter Β· Kotlin Β· Swift.

Stability

Synheart Behavior is pre-1.0. Minor version bumps may include breaking API changes β€” pin exact versions in production, and read the CHANGELOG before upgrading. The three language SDKs are versioned independently (Flutter 0.2.x, Kotlin 0.4.x, Swift 0.3.x at time of writing); check each before bumping.

Privacy & Security

  • On-Device Processing: All behavioral inference happens locally
  • No Data Retention: Raw interaction events are not retained after processing
  • No Network Calls: No data is sent to external servers
  • Privacy-First Design: No built-in storage - you control what gets persisted
  • No Content Capture: No text, images, or semantic data collected
  • Event-Level Metadata Only: Only timing and physical metrics

Resources

Citation

If you use this SDK in your research: