What it does
Two Telegram bots that remove the friction from tracking. The fitness agent takes a workout described in plain language, works out the calories burned from your weight and the intensity, and appends a row to a Google Sheet. The nutrition agent does the same for food: type "200g kip" or "magere kwark van AH" and it logs the calories and macros. Neither needs an app, an account or a login — the entire interface is a chat window you already have open, which is the only reason a tracking habit survives past week two.
How it works
The design principle is rules first, model second: the LLM acts only as a language interpreter, never as an executor. Parsing an ambiguous message is a job for the model; the calorie arithmetic, the daily totals and the writes to storage stay deterministic code, so the same message always produces the same number. The nutrition agent adds a memory: every food is looked up in a PostgreSQL database first, and only when a product is unknown does the model estimate its macros — after which you approve the estimate once and it is cached, so the same yoghurt is never guessed twice.
Highlights
- Telegram is the whole UI: /summary for today's totals, /remaining for what is left of your targets, /suggest for what fits in it, /undo and /reset_day for corrections.
- Dutch-friendly on purpose — it recognises AH and Jumbo products and Dutch phrasing.
- Google Sheets as the log, PostgreSQL (via SQLAlchemy) as the food database: exportable, inspectable, no lock-in.
- Python 3.10+ with python-telegram-bot; OpenAI's gpt-4o-mini as the fallback interpreter.
The wider collection
These two are the most finished of a larger set of AI experiments in the same repository — among them a RAG agent that answers questions over internal documents, an invoicing tool for Dutch freelancers, an e-commerce support chatbot, and Chrome extensions that transcribe audio and suggest replies live. Most of them exist to test one idea properly before it earns a place in a client project.