Healthica
Smart-band health monitor with on-device glucose prediction
A Flutter app that streams vitals from an ESP32 smart band over Bluetooth Low Energy and predicts blood glucose on the phone with TensorFlow Lite. No server sits in the real-time path.
Highlights
- ESP32 firmware sends vitals plus 27 derived features as JSON over BLE GATT at 1 Hz
- Glucose regression (HR, SpO2, temperature, GSR) runs on-device; linear and neural models compared, then quantised
- Tiered health alerts, a supervisor view, GSR-guided breathing mode, Supabase auth and history
Data path
Band → BLE notification → BleService → EdgeMlService (TFLite) → Riverpod providers → UI. The phone does all real-time work, so the app keeps running with no connection.
The firmware sends both full and legacy short key names, and the app accepts both, so older bands keep working.
Doctor dashboard
A companion web dashboard (React, TypeScript, Vite on Cloudflare) lets a doctor sign in with an email code, watch patient alerts, and open a patient's history. It has a separate admin view.
Model
Trained on the GlucoBench and PhysioCGM datasets. Linear, polynomial and small neural models were compared across several prediction horizons and exported as float and quantised .tflite files.