Blood Glucose Monitoring Dashboard

A health dashboard for Type 1 diabetes management. Overlays blood glucose data from a Dexcom G7 CGM with activity, cardio, cycling, and movement metrics from Apple Health to reveal how lifestyle factors impact blood sugar levels.

Snapshot
Avg Glucose
-- mg/dL
Avg Daily Steps
--
per day
Avg Exercise Minutes
-- min
per day
Activity
Steps
Exercise Minutes
Active Calories
Metabolism
Heart Rate
Resting Energy
Cycling + Running
Cycling Distance
Walking + Running Distance
Cycling Power
Cycling Speed
About
Why This Dashboard Exists

Smart watches, fitness rings, Garmin devices, Apple Health—everything we track through these apps affects blood sugar, yet the data is disparate. This dashboard was born out of the desire to better understand how each of these factors affects glucose over time.

What are the next-day effects of intense activity on blood sugar? How does caloric intake affect blood sugar 2 hours after a meal? 2 days after? How does cycling affect blood sugar differently than walking or running?

The relationship between these lifestyle factors is different for everyone. Once we know how they work, we can take the guesswork out of personalized prediction and adjustments to basal rates, insulin-to-carb ratios, and insulin sensitivity.

How It Works

Health data is exported from Apple Health and uploaded here as an XML file with hundreds of thousands of health records from every connected device—Dexcom G7 CGM, Garmin wearables, iPhone sensors, and more.

On the backend, a Python Flask application parses the file and loads the data into a SQL database. A single API endpoint serves all chart data for the selected time range. The frontend uses Apache ECharts to render dual-axis line charts, with blood glucose as the orange reference line on every chart. A global time range picker controls all charts simultaneously, and the entire dashboard loads from a single API call.

Python Flask SQLite pandas Apache ECharts Apple HealthKit Dexcom G7 Render