Health Dashboard

·

Released

·

Why I built it

My Apple Watch has been collecting data for years, but the Health app only shows it in small slices. I wanted to see the long-term picture, like how sleep, resting heart rate or running pace change over months, without uploading my health data to yet another service.

How it works

Export everything from the Health app, unzip it and select the folder. The dashboard turns it into interactive charts for sleep, heart, fitness, running, workouts and routes, with trends, a calendar heatmap and year-over-year comparisons. Garmin Connect exports work too, for richer training metrics. Everything runs in the browser and nothing leaves it. Try it here.

What I learned

A full export can be well over a gigabyte of XML, too much to parse the usual way. Instead it streams through a Web Worker in chunks, deduplicates records that come from both the iPhone and the Watch, and caches the result locally so reloads are instant. Safari also refuses to parse Apple’s own date format, so the dashboard reads those dates by hand.

Built with

React, TypeScript, Vite, Recharts, Leaflet