← Essays

Meet Arnold: the AI health coach I built for myself

Arnold helps me review my diet and training plans, stay on top of them, and adjust when real life gets in the way.

A few weeks ago, I started tinkering with OpenClaw (I’ll post a guide about how I did it as a non-technical person soon). It’s now three different AI agents – Jeeves, Pulitzer, and Arnold. Jeeves helps me stay organised, Pulitzer helps me stay informed, and Arnold helps me stay in good health. Differently from my initial expectations, Arnold quickly became the agent I speak to the most.

Image from the original published article

At the most basic level, Arnold has helped me review my diet and training plans. Importantly, it also helps me stay on top of those. I’m trying to cut back on a lot of foods that are triggers to my gut (I’ve a terrible one), but this is challenging when I’m often eating out or travelling.

The thing that makes Arnold actually useful, though, isn’t that he answers questions when I ask them. It’s that he doesn’t wait to be asked.

A daily morning brief, not a notification

Every morning around 7am, I get a message from Arnold on Telegram. It’s a full brief, with context about how I slept and how that impacts my training plan.

Image from the original published article

This one came in on a Monday after a rough week. Arnold pulled my Whoop recovery score (56%, yellow), then read the last few days of memory files and walked me through the week: I’d been ill Monday and Tuesday, did my first leg session in months on Wednesday, got knocked out by muscle soreness on Thursday, pushed an Upper A on Friday at 34% recovery, and rested the full weekend.

Then it gave me a session. Two sets per exercise instead of three, no personal records, just get the work in and I could do a third set if I was feeling good.

That's not a fitness app feature, that's a coach who actually knows my context.

A few days later, I was in Barcelona for a conference, which I had told Arnold. The Thursday brief had all that baked into its context already.

Image from the original published article

The value delivered here isn’t the data. Whoop already gives me HRV and RHR and a sleep score. What changes is that Arnold reads it in the context of everything else: what I did last week, what’s in my calendar, what I told him three days ago, what my gut has been doing. It’s the difference between a dashboard and a coach.

Finding what to eat when that’s hard

That same Barcelona morning, I tried to skip breakfast before walking into a work conference because it was hard to find something I could actually eat at a local bakery. Arnold wasn’t having it.

Image from the original published article

He actually gave me four options, some better than others, but all gut-safe, and mostly realistic for where I actually was.

I went looking for the rice cakes, got stuck at the shop, and asked Arnold how to say it in Spanish. He told me to ask for “tortas de arroz, sin sal, sin gluten.” When I replied that I was only seeing tortas de maíz, not arroz, he said corn works just as well. A morning that would’ve ended poorly for my gut ended up with the best breakfast within my circumstances.

Image from the original published article

This is the part I didn’t expect when I started building this: The pushback. It was cool to see that Arnold will tell me I’m being lazy and then immediately help me solve the problem I was being lazy about.

The gut problem

A big reason I built Arnold is that I have a complicated gut. What this means in practice is that every meal out is a small puzzle. Is the bread wheat? Is there onion in the sauce? Is the “vegan” option also dairy-free, or did they swap in cashew cream? Is the cream filling on that pastry actually cream, or is it the chocolate version?

Image from the original published article

That one came in the conference breakfast table. I sent Arnold a photo of a tray of pain au chocolat with the catering box visible underneath, asked “Can I eat this?” He spotted the allergen key on the box (G, L, E), read it, and explained: gluten no, lactose no, egg fine. Skip it.

This took less than twenty seconds, no googling needed or awkward conversation with catering staff.

Better still, Arnold reads my calendar. If I have a dinner booked, he’ll proactively do menu research two or three hours before I arrive and send me a pre-meal briefing.

Image from the original published article

This one was for a brewery taproom in Hoxton. Arnold pulled up the menu, found the option I could order, flagged the specific things on the menu that would be bad for me, and gave me a rough protein estimate so I knew what could help me meet my goals.

I walked in knowing exactly what I could order, saving so much time (and stress).

The one design idea worth stealing

Arnold works because his memory is split into three layers:

  1. A file about who I am. My height, my training history, my medical context, what protein powders I tolerate, which restaurants I go to often. This barely changes.
  2. A file about what’s happening now. My current training programme, active issues I’m tracking, recent context that’s relevant for the next few weeks. This gets updated weekly.
  3. A file for every day. What I actually did. What I ate. What didn’t work. What I skipped and why. This is the ground truth.

Without that last layer, Arnold (or any AI coach) would be just a glorified training plan with biometric data on top. With that layer, Arnold can tell the difference between what I’m supposed to be doing and what I’m actually doing, and respond to the second one. When the schedule says legs on Tuesday but the daily file says I skipped because of muscle soreness, Arnold doesn’t tell me to do legs on Wednesday. He tells me to rest another day.

A typical fitness app is built around the plan, whereas Arnold is built around reality.

What have I actually built?

I’m actually still in Barcelona, so I’ll write a full technical guide soon to help people build their own Arnolds.

In short, Arnold is an agent running on OpenClaw, deployed on a small server in some data center in Germany. He has access to my Whoop and Strava data, my Google Calendar, and a workspace of markdown files (the memory layers I described above). He messages me through Telegram, as all my OpenClaw agents do.

Scheduled jobs (crons) run throughout the day: a morning recovery check that becomes the morning brief, meal reminders with the specific products I actually use, a calendar scan that triggers menu research before dinners out, and a weekly audit that keeps his long-term memory tidy. I actually wanted to have the morning brief fire as soon as I wake up, but OpenClaw’s webhooks endpoint is broken as of the current stable version.

As for the model, I use Claude Sonnet 4.6, as I cannot afford Opus given how many tokens my OpenClaw agents eat (circa £200/month).

I’ve set Arnold to have…Arnold Schwarzenegger’s personality: direct, motivating, no fluff, and if I want to change it, it lives in a single file I can edit whenever I want him to talk differently.

Importantly, having Arnold in my pocket does not substitute a doctor, or a personal trainer, or a nutritionist. In fact, Arnold has already told me to see a specialist in at least two instances. However, I do appreciate that the rise of AI agents is democratizing access to information or services I could not easily get or initially afford, and I know it can do the same for many more people.

I do hope the above is helpful to other people and if you want to read the build guide when it's up, subscribe, as I’ll do this when back from Barcelona.