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

Problem

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.

Goal

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

Final Design

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.

How the health agent connects my data sources to a morning brief, a health report and a daily lesson

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 nightToday's training
7+ hours of sleepFull session; I can add weight
6–7 hoursSame weight, one fewer set per exercise
Under 6 hoursKeep weight, drop a set, or swap for a walk or badminton
HRV under 45 msLow intensity
No lifting in 7 daysLifting 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

1. An automation runs it every day

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

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

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.

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

Blocked: too many Health items in one run

Fix: allow sharing large amounts of data

Fix: allow sharing large amounts of data

A math step failed on text, so Claude does the summary instead

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.

A year of workouts, rebuilt from photos of my paper bullet journal

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

One week in one table: training, activity, sleep, HRV and glucose
Weekly activity and recovery, with my 7-hour sleep goal and average HRV marked

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

Glucose on October 11, from my Stelo sensor

The lesson the agent wrote about that day

The lesson the agent wrote about that day

Impact

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.

Every set from the week I started following the plan

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 Decisions

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.

Reflection

What I learned

What's next