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.- 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).
Quick Start Examples
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
EachBehaviorSessionSummary 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).
Motion State Inference
WhenenableMotionLite 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:
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
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
- Dart: synheart-behavior-flutter Β· pub.dev
- Kotlin: synheart-behavior-kotlin Β· JitPack
- Swift: synheart-behavior-swift