Too Lazy to Run, but Enough Time to Build a Fitness Agent

So, building a fitness agent was part hack project — new tools to play with — and part my way of working on one thing that was actually under my control. Like many, covid added a few pounds around my belly, alongside entering the latter half of my 30s and founding my own company. I knew a couple of things. Now was the time to shed this weight or it would only get harder. The day-to-day startup journey wasn't always in my control, but getting back to a fighting weight was.
I'd already made some progress with coaches and wanted to keep going — and see how far agents could help me. Especially one of my claws.
Failed Years With Calorie Tracking
It started as a simple experiment inside my OpenClaw setup. I wanted a way to log calories directly via Telegram. I created a specific agent with its own channel so it could log everything.
Fundamentally, I know my issue has always been calorie imbalances, especially over the weekends. Monitoring calorie balances has always helped me, but I absolutely hated going into MyFitnessPal, and almost invariably didn't log anything. So many button clicks per day to add a few meals. What size was the cup? Was it grams or mls? What brand of mayo was it… oufff. For a task I didn't want to do, it was too much to keep up over any real stretch of time.
The initial concept was simple: a markdown log. A digital diary for my calories. It worked, but it lacked structure for any real analysis. You could of course pull it into a context window, but as the dataset grew it started to fall down. It didn't persist schema rules well either.
After a week of running it, I sat down and asked Sonnet to review the dataset. From there we identified a lot of ways to make it better.
Memories > Database > Science-Backed 24/7 Personal Trainer
What continues to get me — and as I mentioned in my last blog — is how fast things compound when you start stacking systems and frameworks together. Never has it been so easy. Python, in part, pulled a generation of non-developers into coding and building, by wrapping complicated tasks inside simple APIs and abstractions. But now, it's just a different level.
So I built a specialised subagent to act as my coach. I spent a long time seeding its AGENTS.md using Opus 4.6, based on my age profile, results from a DEXA scan, and my training schedule. From there we agreed on a mutual plan for weight loss and a system for tracking. It pulled in best practices and augmented what I already had by adding check-ins — for wellbeing, how I was sleeping, the quality of training — plus metric trackers for each session.
What followed was a couple of weeks of iterative development: moving from the flat markdowns to a full database syncing everything from Apple Health, performing daily analysis, and properly measuring calorie deficit against training load. A properly researched and proactive personal trainer. Always on, always present.
I have an Apple Watch taking constant metrics — training sessions, sleep quality, stress levels, resting heart rate. Over thirty every week. Pulling all of that in was where it made sense to switch to a database, hosted in Supabase. I used Apple Health Export and my OpenClaw setup, alongside some Tailscale security, to tunnel metrics from my phone into my VPS and then into the database.
I gave Gemini Flash Lite or Haiku the simple task of logging data into the database — pulling in data pushes from Apple Health, organising them, and, via some daily crons, nudging me to add data in case I forgot. Funny, I am much more responsive to messages than I ever was to push notifications.
Then the much bigger unlock: having a more advanced model run data analysis on a longitudinal basis. Proper, end-to-end Python analysis, using up-to-date best practices, coming back with actions and adjustments for the next week — be it to training or food intake. Things like: if I went too intense one day and my sleep and training suffered the next, adjust the following run to thirty minutes in zone 2, not 3 or 4.
Where This Is Heading
Most apps give generic advice. My agent is a proactive partner, tuned to me. The problem with existing systems is they're siloed, and they don't adjust their voice to how I actually want to be interacted with. This category of personal agent solves that. I expect it to be productised many times over — until maybe Siri gets around to being useful and can do it for me.
What started as a hack project has ended up feeling 10x better than anything I could buy. Most of the unlock comes from meeting myself where I actually am — in Telegram — with lightweight models for the daily throughput and deep-thinking models for the weekly pass.
Ultra-personalisation is the part I keep coming back to. No app on the market can yet compete with a system you've built yourself, with direct access to your habits, your biometric reality, and your long-term goals. This is a gap products should fill — the space is there to be taken. The old way just feels inferior to what's now possible.