Quantified self was always interesting but not feasible for someone like me. I am not a diligent person: filling out a spreadsheet is not my idea of a good time. Anything that requires me to be proactively consistent is going to fail: the friction of data entry and then plumbing the data somewhere usable is just too much.
I recently built two apps with Claude Code:
- Diet Scorer receives pictures of my food1. It then sends the photo to Gemini to fill out a rubric: is this whole food, how much protein/fiber/saturated fat is in it, is this junk food? Then it gives me back a score and gives me daily recaps and weekly suggestions for improving my diet.
- Run Coach, which pulls data from my Garmin (workouts, resting HR, sleep, HRV) and has an LLM plan my training week. Then every morning it sends me the day’s brief.
Both are running on the same small $5 Hetzner VPS and reachable over Tailscale2. There’s a web UI but the main interface is Telegram bots. The server is the most expensive bit: the LLM calls are going to be pennies a month.
Vibe coding the apps was quick and simple. I keep it in Python instead of JavaScript so I can understand it, but honestly I haven’t looked at the code and I’m not going to. For these purposes, I can judge utility just from the outputs.
The data is not perfect; you really can’t judge calories from a picture. But things like “is there fiber here” or “are you eating 6 Oreos a day” are certainly doable. Similarly, the training plan from the LLM is nowhere near the quality of the real coaches I’ve had, but for this season in my life where training is going on the back burner it’s good enough and lets me free up mindspace for other things.
Their real benefit is the lack of friction: it’s basically just responding to text messages. And I can reduce the friction myself. When I forgot to take a photo of my dinner, a text description input was born. When I pulled my back, an “athlete status” update for my running bot was born. I am my own user, UXR, and PM. And Claude is a reasonably competent SWE for these simple plumbing apps.