Ethan RobertsHealth Coach

Health Coach

An agent that texts me first

morning briefing · representative data

06:05

The coach that texts first. Press play to replay one morning.

06:05 coach ▸ sleep 7.5h (91)

06:05 coach ▸ leg day · feels-like 27°

06:05 coach ▸ eat by 06:45

Every morning at 6:05 an agent reads how I slept, the real sleep stages, resting heart rate, and training load off my watch. It checks my training plan and the weather in Tel Aviv, then texts me what to eat and when.

The Garmin data goes into a local SQLite database, which is the system of record. An agent running on my own server writes the morning briefing and answers questions I throw at it during the day, using the actual numbers. Meal logs sync between my machines through git. The ingest layer isn’t tied to one device; it handles both Garmin and the WHOOP v2 API.

Stack

  • Python
  • SQLite
  • LLM agent
  • Telegram
  • Garmin + WHOOP v2 API

Links