AI Health Agent | My Data, My Daily Coach
My Goal
I want to build muscle. That means lifting every week, eating about 104 g of protein a day, and sleeping 7 hours. I already tracked almost everything, but none of my apps told me what to do today.
What I Built
A personal health agent on Claude. It reads six data sources, remembers my goals and my dietitian's plan, and reaches me on my laptop, phone and watch: a living health report and a morning brief.
Why It Matters
It's my proof of designing with AI, not just for it: I designed the agent's role, rules and tone, used AI and code to build it, and use it every day.
Role
Designer & builder
Time
Fall 2026, ongoing
Built with
Claude, iOS Shortcuts, Apple Health
Team
Solo
I had more health data than ever, spread across six places: Apple Watch, a glucose sensor, 15 DEXA scans, a lifting app, two years of a paper bullet journal, and photos of my meals. Each app answered its own question. None answered mine: what should I do today?
Data I couldn't act on
In 2025 my body fat went from 36.2% to 25.6%, but my lean mass barely moved. Looking back, the reasons were in my data the whole time:
No single app could connect these. A person could, if they read everything every morning. That's the job I gave the agent.
Turn the data I already collect into one clear decision each morning, in a way I'd actually keep using.
Design principles for the agent
The agent lives in a Claude project. Two documents are its memory: a baseline with my goal, my dietitian's plan and my lifting program, and a data log it updates itself. Each morning an iPhone Shortcut reads Apple Health and asks Claude for my brief; everything else I send as files or photos.

1. The morning brief: one decision a day
An iPhone Shortcut runs every morning. It reads last night's sleep and HRV and turns them into a training call I can follow without thinking:
| Last night | Today's training |
|---|---|
| 7+ hours of sleep | Full session; I can add weight |
| 6–7 hours | Same weight, one fewer set per exercise |
| Under 6 hours | Keep weight, drop a set, or swap for a walk or badminton |
| HRV under 45 ms | Low intensity |
| No lifting in 7 days | Lifting comes first |
It ends with one food reminder, such as spreading protein across meals, then adds yesterday's numbers to a running health log. The answer lands on my phone as a notification, which my watch also shows.
How I built it on my iPhone
I built the brief in Apple Shortcuts, so it runs on my own phone with no server. Shortcuts pulls the data, Claude does the thinking.

1. An automation runs it every day

2. It pulls sleep, HRV, heart rate, steps, glucose and weight from Apple Health

3. My rules and the data go to Claude; the reply is logged and shown as a notification
The prompt is where most of the design lives: who Claude is, my targets, a fixed answer format, and the sleep-based training rules. It also handles messy data. My watch and phone both record sleep, so the stages can add up to 14 hours. I added a rule: if the stages add up to more than 12 hours, two sources overlap, so halve them. The brief now catches it and explains what it did.

A real brief. It spotted the double-counted sleep and corrected it.
Debugging with real data
Getting real Health data into Claude took a few rounds. Shortcuts blocked the first run because it tried to share 472 Health items at once; I allowed large data sharing in Shortcuts settings. A statistics step then failed because it read numbers as text, so I removed it and let Claude summarize the raw samples instead.

Blocked: too many Health items in one run

Fix: allow sharing large amounts of data

A math step failed on text, so Claude does the summary instead
2. The health report: day, week, month and year
The agent built a report I can open anytime, in English and Chinese. It starts with the view I care about most: my bullet journal stickers, rebuilt as a calendar from photos of the paper pages.

The week view puts training, steps, sleep, HRV and glucose side by side, so patterns jump out without me hunting across apps.


3. The lesson of the day: learning from my own data
Every day the agent explains one nutrition or training idea, using something that actually happened to me. On October 11 my glucose hit 275 after a syrup coffee, a croissant and fried rice. Instead of a warning, I got a lesson on why it happened and three easy fixes for next time.

Glucose on October 11, from my Stelo sensor

The lesson the agent wrote about that day
I lift every week now
Between January and September I lifted 4 times. In the six days from October 8 to 13, I lifted 3 times, following my program's glutes, pull and full-body days, and the report tracks every set.

I sleep more
My 2026 average was 6.3 hours a night. In the week of October 5, I averaged 7.0 hours, right at my goal. The brief ties training to sleep, so sleeping well now has a direct payoff.
Better food habits, steadier glucose
The daily lessons changed how I eat, not just what I eat: protein spread across meals and carbs around training. Eating the same foods in a better order, my glucose is steadier than before.
Design the rules, not just the screens
Most of the design work was writing: the agent's role, what it may and may not say, its tone, and the decision rules above. For an agent, the instructions are the interface.
Every number shows its source
Each card carries a small label such as Apple Watch, Stelo or DEXA. When data is missing or unreliable, like a workout I forgot to start on my watch, the report says so instead of guessing. Trust comes from being honest about gaps.
Meet the data where it already is
I didn't change my habits to feed the agent. It reads photos of my paper journal and my meals, files from my lifting app, and Apple Health directly through a Shortcut. The easier the input, the more likely I keep it going.
Explain, don't diagnose
Health advice needs clear limits. The agent acts as a nutritionist and coach. For anything medical, it explains what a number means, how urgent it is, and what to ask my doctor.
What I learned
What's next