I’m not a biohacker. I’m not even especially into fitness. I’m a tech CEO approaching 50, in decent-not-great shape, who likes sports and goes through phases.
The phases are the problem. I’ll hit a three-week run of customer travel, board meetings, steak dinners, and weekend kids’ tournaments, and then look up on a Sunday night — eating an In-N-Out burger in a hotel parking lot — and realize I haven’t seen the inside of a gym in a month.
Let me be honest about the stakes here, because they’re low. The right answer for a guy like me is basically “eat a little less, move a little more.” I know that. Knowing it has never once been the problem. The problem is that I won’t stick with anything that costs me effort and gives me nothing back — and every fitness tool I’ve ever tried is exactly that trade.
Two walls, every time.
The first is that calorie-tracking apps make me want to throw my phone across the room. Logging a meal means opening the app, hunting through five menus, and reconstructing some restaurant plate the database has never heard of. I’d last about six days and quit.
The second is that once I got to the gym, I’d wander. I played sports growing up, I know my way around a weight room, but with no plan for that specific day I’d drift around the floor deciding what to do next. I didn’t want to hire a trainer. And “do more squats, eat fewer carbs” isn’t advice, it’s a fortune cookie.
The pile of data I’d never used
Meanwhile I was sitting on a heap of data doing absolutely nothing. Ten years of Apple Watch history. Blood panels I get run now and then. A DNA test I did years ago that lays out the usual family-history stuff. None of it a grand longevity project — I’d just accumulated it, the way you accumulate cables in a drawer, and never used a single byte.
So honestly, part of why I built this was that it sounded like a fun thing to build. I’m an operator; I like making systems. The health payoff was almost a bonus. But the thing I stumbled into turned out to matter more than the workout.
Want to inspect the zero-cloud pipeline architecture, local Ollama MCP setup, and Apple Health XML parser? Read Build Notes: The Zero-Cloud Fitness Coach.
Why this one runs local
The first real decision was to run it on private, local models — Ollama, on my own machine. Nothing leaves the box.
That’s not a compliance checkbox. It’s the reason the coach is any good.
Look at what I wanted to feed it: my genome, ten years of biometrics, my actual blood work. There’s no cloud fitness app on earth I’d hand that to. But a model running locally, that physically cannot phone home? That gets everything. The advice gets better the more context you give it. I gave it everything, and I only did that because it can’t leak.
Fuzzy assumptions, on purpose
The unlock on the friction problem was realizing that with an agent, vagueness is a feature.
I don’t weigh my food. I tell it, “I ate a BLT and fries for lunch.” It makes a sensible set of assumptions about the macros, logs it, and we move on. No app, no menus, no reconstructing a sandwich from a database. The calorie count isn’t exact to the decimal, but it’s close enough to keep me logging instead of giving up. That trade — a little precision in exchange for actually doing it — is the whole game, and every app I’d tried had it exactly backwards.

The gym problem went the same way. I gave the agent the actual equipment list at my gym — the specific cable machines, benches, and dumbbells on that floor. Now I don’t wander. I open a session and it hands me a targeted 30-minute workout built around the machines that are actually there, not some idealized gym that doesn’t exist.

Between sets I don’t type. I talk into my Watch: “Four sets of cable rows at 160, right shoulder felt tight on the last one.” It logs the sets, flags the shoulder, and quietly adjusts next week to work around the joint.
And underneath, it’s reading the rest of the picture. It checks last night’s HRV and sleep. If I just got off a red-eye, it pulls back the volume instead of pushing me toward a strain. It weighs my labs and DNA so the plan is tuned to me — the markers that are actually mine to think about, not the generic ones. Which, it turns out, is the whole difference between advice I ignore and advice I follow.
The payoff is the point
What actually surprised me had nothing to do with fitness tech.
For a decade I collected all that data and it just sat there. The moment the agent started using it — really using it, tuning a real workout to my real sleep and my real labs — the collecting suddenly had a point. And seeing that payoff is the thing that keeps me logging. Not discipline. I don’t have any. The reward showed up immediately and personally enough that I actually keep going.
That’s the trick nobody’s willpower solves: the tracking has to pay you back faster than it costs you, or you quit. Mine finally does, because it’s effortless to feed and it hands me something tailored every time. The habit sustains itself because it’s worth it, not because I’m strong.
The part worth stealing
Take the fitness out of it, and what’s left is simple. The most useful version of this agent was also the most personal — good precisely because it knew things about me I’d never put in someone else’s cloud. And the only reason I’d give it those things is that it runs where I can see it and can’t leak.
That’s not a fitness lesson. Every company sitting on data it’s too nervous to point AI at is looking at the same trade from the other side. The private stuff you’re most tempted to keep away from the model is usually exactly what would make it worth having. Figure out how to feed it that safely — somewhere it can’t leak — and you end up with a version of the tool that everyone who played it safe never gets to see.
I’m still not a biohacker. I just finally have a coach I’ll actually use, because it never phones home — and because, for once, the tracking pays me back more than it costs.
Want to inspect the zero-cloud pipeline architecture, local Ollama MCP setup, and Apple Health XML parser? Read Build Notes: The Zero-Cloud Fitness Coach.
Comments welcomed: