← All projects

Training Atlas

I had health and training data, but no bigger picture. I built Training Atlas to keep my history across apps and explore the analytics I was missing.

Training Atlas dashboard with weight trends and body-composition coverage, using synthetic sample data.

App preview · Synthetic sample data

Focus

Health & strength trends

Built with

Python · SQLite

Data sources

Apple Health · Gravl · Hevy · Hume

Approach

Local-first · Data ownership

01 / WHY I BUILT IT

I had the data.
I needed more.

I could see pieces of my training and health, but not the whole picture. Switching training apps meant losing the history I’d built up. Even when I stayed with an app, it didn’t always give me the analytics I wanted.

Apple Health could store most of the data, but it didn’t give me the analysis I was looking for.

So I built Training Atlas to bring that history together and explore it on my own terms. Apple Health provides the long view, while Gravl workouts and Hevy history add the detail of exercises, sets, and personal records. Hume provides body composition and sleep. There’s an event database to tag injuries, vacations, supplement changes, and more.

As long as your data source has an export, an API, or a screenshot it can be normalized and saved.

Follow the work

Explore exercise progression, personal records, training volume, and muscle-group trends.

Connect the context

See weight, body composition, activity, and logged nutrition alongside your training.

Keep the nuance

Missing food logs stay unknown. Exploratory correlations never claim cause and effect.

02 / HOW I’M BUILDING IT

A history I can keep.

I’m keeping the app local and preserving the source snapshots behind the trends. Conflicting records get flagged instead of silently rewriting history. It’s a project I’m continuing to build around the questions I want to ask of my own training.

Explore Training Atlas ↗