Agent AI Tools

AI agents for fitness tracking and nutrition guidance, combining LLMs with simple data storage and automation scripts.

PythonOpenAITelegramPostgreSQL

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.