Building heart-driven intelligence in public. This repo is the open-source MVP for Synheart: SDKs, example apps, and docs to connect wearable biosignals to emotion-aware AI.
These parts of Synheart are released publicly to accelerate research and collaboration:
- SDKs (Python + JS) β lightweight clients for collecting or simulating biosignals and performing mock emotional inference.
- API Service (FastAPI) β a simple reference implementation of how apps can send biosignal data and receive emotion states.
- Example UI (React + Vite) β a demo visualization that turns heart rate data into color-coded emotional feedback.
- Schema & Documentation β open definitions for signals, states, and feature mappings to standardize affective computing development.
To protect privacy, intellectual property, and user safety, the following remain internal to Synheart:
- Real biosignal datasets collected from wearables.
- Fine-tuned models and internal inference engine.
- Production infrastructure and pipelines.
- Proprietary emotion-mapping algorithms.
Synheart believes emotional intelligence in AI should be transparent, ethical, and co-created. By open-sourcing the foundational frameworkβbut keeping sensitive data closedβwe invite the world to help define the language between the human heart and artificial intelligence.
For comprehensive documentation, project updates, and research insights, visit our public knowledge base:
π Synheart Atlas
The Atlas contains product briefs, research papers, technical architecture docs, and partnership updates.
cd sdk/python
pip install -e .
python examples/quickstart.pycd sdk/js
npm install
npm run build
node examples/quickstart.mjscd services/api
pip install -e .
uvicorn app.main:app --host 0.0.0.0 --port 8000cd examples/emotion_demo_app
npm install
npm run devThe Synheart Open MVP includes a production-ready ingestion schema that standardizes biosignal data collection across all components.
heart_rate(bpm) - 30-220 range validationibi_ms(inter-beat interval) - 300-3000ms rangehrv_rmssd(heart rate variability) - 0-200ms rangeaccelerometer(m/sΒ²) - 3-component vector validationresp_rate(breaths/min) - respiratory rateskin_temp_c(Β°C) - skin temperature
- Anonymous subject IDs (
anon_xxxpattern) - Consent tracking with versioning
- No PII or GPS data in MVP
- Pseudonymous data collection
- Batch JSON: Complete session with multiple signal streams
- JSONL: Row-wise format for streaming/logging
- CSV: Tabular format for data analysis
- JSON Schema: Full validation specification
| Signal Type | Range | Unit | Status |
|---|---|---|---|
| Heart Rate | 30-220 | bpm | β |
| IBI | 300-3000 | ms | β |
| HRV RMSSD | 0-200 | ms | β |
| Accelerometer | 3-component | m/sΒ² | β |
| Subject ID | anon_[a-zA-Z0-9]+ | - | β |
The React + Vite demo app demonstrates the "hello world" of heart-driven intelligence:
- Heart Rate Visualization: Generates 30 synthetic data points (70-72 bpm)
- Emotional State Inference: Uses variance-based classification
- Calm: Variance < 4 (correctly identified)
- Focused: Variance 4-16 (tested with 11.29)
- Stressed: Variance > 16 (tested with 146.61)
- Clean UI: Modern interface with SignalCard component
- Performance: 46.4 kB gzipped build size
// Generates realistic heart rate data
const windowArr = Array.from({ length: 30 }, (_, i) => ({
t: i,
hr: 70 + (i % 3)
}));
// Calculates emotional state from variance
const variance = windowArr.reduce((a, b) =>
a + Math.pow((b.hr ?? 0) - mean, 2), 0
) / windowArr.length;
const state = variance < 4 ? "Calm" :
variance < 16 ? "Focused" : "Stressed";synheart-open-mvp/
ββ README.md
ββ LICENSE
ββ CONTRIBUTING.md
ββ CODE_OF_CONDUCT.md
ββ ROADMAP.md
ββ SECURITY.md
ββ .gitignore
ββ .editorconfig
ββ .github/
β ββ ISSUE_TEMPLATE/
β β ββ bug_report.md
β β ββ feature_request.md
β ββ PULL_REQUEST_TEMPLATE.md
ββ schemas/
β ββ ingest-batch.schema.json
β ββ ingest-batch.sample.json
β ββ ingest.sample.jsonl
β ββ ingest.sample.csv
ββ sdk/
β ββ python/
β β ββ README.md
β β ββ pyproject.toml
β β ββ src/synheart/__init__.py
β β ββ src/synheart/client.py
β β ββ examples/quickstart.py
β ββ js/
β ββ README.md
β ββ package.json
β ββ tsconfig.json
β ββ src/index.ts
β ββ examples/quickstart.mjs
ββ services/
β ββ api/
β ββ README.md
β ββ pyproject.toml
β ββ app/main.py
β ββ app/schemas.py
ββ examples/
β ββ emotion_demo_app/ (React + Vite)
β β ββ README.md
β β ββ package.json
β β ββ tsconfig.json
β β ββ vite.config.ts
β β ββ index.html
β β ββ src/main.tsx
β β ββ src/App.tsx
β β ββ src/components/SignalCard.tsx
β ββ notebooks/
β ββ (whatss uppp :)
ββ docs/
ββ overview.md
ββ schema.md
ββ api.md
The Synheart Open MVP is fully functional with:
- β Complete ingestion schema v0.1.0 implementation
- β Robust validation and error handling
- β Privacy-first design with anonymous data collection
- β Multiple data format support
- β Comprehensive documentation and examples
- β Backward compatibility maintained
All components work together seamlessly, providing a solid foundation for building emotion-aware applications with standardized, validated biosignal data ingestion! π
- π Overview - Comprehensive project introduction
- π§ API Documentation - Complete API reference
- π Schema Documentation - Data format specifications
- π Synheart Atlas - Public knowledge base with research papers, product briefs, and technical architecture docs