Healthcare · IoT · SaaS
upLYFT
Physical Rehabilitation Platform

My roleI designed the ingestion and analytics architecture and built the backend and web app.
The situation
A clinician watches a patient walk while BLE wearables stream motion data at 200Hz+ per device: a reading every 5 milliseconds. The dashboard has to show joint angles and gait symmetry live, for hundreds of sessions at once.
The first tutorial-style sketch (sensor, API, one database insert per reading) would have melted PostgreSQL before 50 devices.
- Sub-100ms from sensor to dashboard.
- 500+ concurrent sessions on Azure.
- Clinical-grade analytics, not just raw graphs.
System architecture
- BLE wearables200Hz+ per device
- Mobile appFlutter · BLE 5.0
- IngestionWebSockets · UDP · FastAPIsub-100ms
- Kinematics MLAIjoint angles · gait symmetry92%+ accuracy
- Session storePostgreSQL · Azure
- Live dashboardsclinician · athlete · admin500+ concurrent sessions
Architecture decisions I made
- D1The ingest path does almost nothingAnything synchronous runs 200 times a second per device. Ingest validates trivially, buffers and acknowledges; the kinematics ML and storage run in consumers off that buffer.
- D2Batch every database writeA writer flushes each session buffer at 250 ms or 500 readings, whichever comes first. At 50 devices that turns 10,000 transactions per second into about 200 bulk inserts.
- D3Pick transport by loss toleranceWebSockets where a lost reading must be recovered; UDP with sequence numbers for the highest-rate live streams, where a reading is stale before TCP could retransmit it.
- D4Time-partitioned tables with BRIN indexesSensor data arrives in time order, which BRIN exploits at a fraction of a B-tree's size.
Measured in production
What I took away
- At high frequency, every per-reading operation is a scaling bug.
- Choose the transport per stream, not per project.
Questions about this project
What problem did upLYFT solve?
BLE wearables produce 200Hz+ motion data per device. Clinicians needed clinical-grade movement analytics live during sessions, with hundreds of sessions running at once.
Who built upLYFT, and how does it work?
I did (Qalab Hassnain Agha). I designed the ingestion and analytics architecture and built the backend and web app. How it works: An end-to-end pipeline: BLE ingestion over WebSockets and UDP, real-time kinematics ML (joint angles, gait symmetry, power, load) and role-based live dashboards, deployed on Azure. Stack: FastAPI, Flutter, BLE 5.0, Azure, PostgreSQL, WebSockets, AI/ML, Docker.
What results did upLYFT achieve?
200Hz+ per-device ingestion, sub-100ms end-to-end latency. 500+ concurrent sessions supported. 92%+ movement classification accuracy. ~60% faster clinician onboarding.
Can I hire Qalab to build something similar to upLYFT?
Yes. Contracts from $25 an hour, full-time remote from $3,000 a month, fixed-price prototypes from $600 and builds from $2,000, and fractional CTO retainers from $800 a month. Book a free 30-minute call and I will tell you honestly whether and how I would build it.