← Back

Web Bluetooth Medical Dashboard

Full-stack ASP.NET Core dashboard connecting to real BLE hardware (heart rate monitors, thermometers, ESP32 sensors) via the Web Bluetooth API

Live Site ↗GitHub ↗
THE PROBLEM

Final project for CSI418L, Web Programming Lab Expo. The goal was a working web app that talks directly to real Bluetooth LE hardware, heart rate monitors, thermometers, and custom ESP32 sensors, without a native app, while also demonstrating a proper server-side stack: authentication, a database, and LINQ-driven data processing.

SYSTEM DESIGN
HR STRAP · GATT SERVER0x180Dnotify · 1 Hz · no pairing UInavigator.bluetooth — live dashboardHR 72 bpmHR 74 bpmHR 73 bpmLINQ aggregation · JSON/XML exportbrowser-native — no app install, no driver, one permission prompt
ENGINEERING DECISIONS
Web Bluetooth API for direct hardware access
The Web Bluetooth API connects to BLE devices straight from the browser and parses their GATT characteristics, so the heart rate monitor, thermometer, and ESP32 sensors could all be read live without any native driver or companion app.
ASP.NET Core MVC for the actual application
The dashboard needed real accounts, a database of historical readings, and server-side data processing, not just a live BLE view. ASP.NET Core MVC with Entity Framework and LINQ handled auth, storage, and the aggregation queries (grouping, filtering, statistical summaries) the course required.
Apple Watch sync alongside direct BLE
A dedicated sync endpoint lets readings come in from an Apple Watch companion path as well as direct BLE, so the dashboard is not limited to devices that expose GATT characteristics the browser can read directly.
OUTCOMES
  1. 01Live BLE connections to heart rate monitors, thermometers, and ESP32 sensors from the browser
  2. 02Real user accounts and persisted historical readings via ASP.NET Core + a database
  3. 03LINQ-driven aggregation: grouping, filtering, and statistical analysis of stored readings
  4. 04JSON and XML export (LINQ to XML)
  5. 05Deployed live on Render
STACK

ASP.NET Core MVC (.NET 10, C#) · LINQ · PHP · Web Bluetooth API · jQuery · Bootstrap 5 · Docker