The hard problem
Take a sensor-heavy clinical platform and make it live on a phone: stream two BLE insoles simultaneously (left/right, kept in sync), run gait-cycle analytics on-device, give the patient feedback while they walk — and keep all of it working offline in a clinic with no Wi-Fi.
What I built
- The vision modality — camera-based gait analysis (TensorFlow.js + MediaPipe BlazePose), so the app delivers value without any insole hardware.
- Live biofeedback — real-time audio and visual cues for load distribution and step cadence, plus balance-training rehabilitation tools, driven directly from the live sensor stream.
- Long-term maintenance — years of production work across iOS and Android: bug fixes, performance optimization, raw-data export formats, calibration refinements.
The BLE streaming layer and the C→WASM analytics engine predate me on this product; my work was the vision path, the biofeedback system, and keeping the app healthy in production.
How the system works
- Inputdual BLE insoles · or camera (BlazePose)
- AnalyticsC → WASM engine, on-device
- Feedbacklive heat maps + audio cues
- ReportsPDF + zipped CSV raw data
- Syncoffline-first → Parse backend
Everything latency-critical happens on-device: the WASM engine computes gait cycles, stress distribution and Kalman-filtered joint angles in real time, so biofeedback cues fire while the step is still happening — not after a server round-trip. Sessions queue locally and sync when connectivity returns.