Skip to content
Go back
Photo by Anastase Maragos on Unsplash

Building a health advisor that keeps my data off the cloud

This feels weird to write about. I’ve been working on this for a month, testing it for the last week, but in light of the continuing articles about the engagement economy I feel a tad conflicted about this. Bots shouldn’t be treated like they care about you. And what I’m about to describe absolutely should not replace a professional.

But here we are.

The problem

I’m over 50. I have time now. And in the past year I’ve started making concerted efforts to improve my health.

I’m gathering data from multiple sources—my blood panel tests, vitals tracking, Oura ring sleep data, Peloton workout history, Weight Watchers nutrition logs. It’s great. It’s fun. It’s… overwhelming. Assembling it all together with research I’m trying to understand gets cumbersome fast.

So what did I do? I created a Claude Code Agent to distil all that data and start providing useful guidance from it.

Why Claude Code and not something else

I’m feeling like a one-trick pony here. Lately all my posts seem to be about Claude Code Skills and Agents. But bear with me. I love the CLI, and my preferred CLI-based AI bot is still Claude Code. While it uses Anthropic’s LLM in the cloud, the context and memory are stored on my drive.

This is critical. I don’t want to share my health information online. I couldn’t care less about my fitness routine or nutritional intake being public, but personal health information is different. It stays local.

Starting with requirements

For this project I wrote a draft requirements document—the kind of thing I would’ve been handed as a Product Designer when I was part of the corporate mincing machine. I used this PRD as the basis for working with Claude Code to plan what this agent should do and brainstorm potential issues before implementing anything.

That was by far the best way I’ve started a project so far. It shook down a bunch of assumptions before we got to any planning.

This is something that’s scratching my itch, so user testing beyond myself wasn’t a consideration.

What it actually does

The agent takes on the role of tutor. It keeps track of evidence I provide, automatically extracts key points, and records them into specific documents (locally!) that act as its memory. All stored in plain Markdown files I can edit with any text editor. It doesn’t have to run in any particular project directory—I can invoke it directly with claude --agent over-50s-health-advisor from anywhere.

The agent knows its limits—it immediately refers emergencies to professionals and refuses to answer medication questions.

The idea is I can speak to this agent to gather insights, generate plans, dig into research about concepts I find confusing, even create workout plans for my impending trip to the UK where I don’t have access to my usual workout equipment.

Of course, this doesn’t work unless you invest time training the agent with your data and good evidence sources. An initial document, INITIAL_USER_INFORMATION.md, captures age, height, weight, vitals like blood pressure—the sort of information you’d fill out when you sign up with a new doctor. The install script for the agent also copies templates of this file and others to ~/.claude/over-50s-health-advisor/context/. You can fill in what you know or just let the agent ask you for that information. The agent will maintain the content of these files.

I’ve also fed it screenshots from blood panel tests, a spreadsheet of my vitals over the past few years, my Oura ring sleep data, Hume Body Pod metrics, nutritional macro data from the Weight Watchers app. Basically anything I can think of that would be useful evidence for the agent to distil. As you can see, storing this locally and not having it in the cloud becomes critical.

The Peloton frustration

One of the things that really motivated this project was my frustration with the limitations of the Peloton app. Don’t get me wrong—I’ve been using Peloton for years and I really enjoy it. It works well for me. But as I’ve become more serious about my workout programme in the last year, I see a few shortfalls.

It doesn’t provide low-risk exercises for strength work, which becomes crucial the older you get. Frankly, it seems like the over-50s category is a growing market Peloton should be capturing. There’s also limited filtering so you can’t find strength routines for, say, dumbbells and a bench. I really don’t understand why that isn’t a thing. I also want to find more Peloton strength workouts that use straight-sets because, as anyone who also owns a set of Bowflex dumbbells knows, pausing the video to go reconfigure them every time the instructor switches to a different weight is a pain. Yes, I should probably get a rack of weights but I like how compact the Bowflex solution is.

Early insights

One of the first things I tested was asking about my weight. I’d been concerned about a slight uptick on the scales despite consistent training. The agent helped me understand the body composition metrics from my Hume Body Pod data—my muscle mass was increasing, which meant my weight should go up. The number on the scale wasn’t the problem. It was progress. That completely reframed how I was thinking about the data and what I should be tracking.

I also asked it to create a weekly tracker based on all the evidence I’d given it about my health—one that would account for how I use Peloton and provide exercise modifications I should be using at 50+ instead of just mimicking what these young amazing Peloton instructors were screaming at me to perform.

An interesting thing that dropped out of those conversations: the agent’s derived opinion that Peloton programming was built for variety and so-called “muscle confusion.” When I dug in about muscle confusion, the agent helped me understand from legitimate sources that this was a myth. I don’t want to dwell on that, but it was interesting. The agent wrote up a reference for me about the reality versus the marketing hype (originally by P90X) and how to think about it and use Peloton more efficiently for my strength training journey.

That’s something else you can control with this agent… I’ve seeded it with sources—academic papers, legitimate medical websites, but also things I’ve found useful as I’ve tried to understand how I adapt to exercising as someone approaching 60. This is something you can curate as needed.

What else it remembers

The agent keeps session notes. It remembers my preferences. It remembers my health context. This context store contains the following files:

~/.claude/
├── agents/
│   └── over-50s-health-advisor.md    # Installed agent
└── over-50s-health-advisor/
    └── context/                      # Your personal context files
        ├── INITIAL_USER_INFORMATION.md
        ├── CLIENT_HEALTH_CONTEXT.md
        ├── CLIENT_PREFERENCES.md
        ├── SESSION_NOTES.md
        └── SOURCES.md

Using this, it’s made some interesting insights.

For example, I use an Oura ring to monitor my sleep. I’m lucky enough that losing significant weight has dramatically fixed my sleep apnoea—I did confirm this using a sleep test my health care provider issued—but the agent’s insights from my Oura data helped identify further sleep-enhancing optimisations which I can run by my doctor. It’s the usual stuff, inferred from my personal data, and, as I asked the agent to do, written to a markdown document I can refer to in my Obsidian Vault.

The balance

This is all starting to sound very serious, but my health has become another hobby to me now. I’m really enjoying it. I’m seeing results. And it’s nice to have this tool help me create documents I can share with the professionals I engage with.

Of course, the agent only provides guidance and there’s no substitute for professional advice. But having that extra support that I can take to a professional feels good.

Early days

It’s still early days with this, but so far it’s really encouraging. Let’s see how it goes.

Give it a go if it sounds useful. It’s on my GitHub. Or don’t. I’m just figuring this out myself.


Share this post on:

Next Post
An Obsidian documentation assistant that doesn't need me