← ulyssies.com

004

NutriBot

A Telegram nutrition bot that estimates meal macros from photos and keeps the log lightweight.

Python 3.11 Claude Vision Supabase Telegram Bot API Matplotlib Render
Personal tool · Active

Every calorie tracking app I tried was either tedious because everything needed manual entry, or inaccurate because it leaned on generic database lookups. I wanted to take a photo of my food and get an instant macro estimate. So I built a Telegram bot that uses AI vision to analyze meal photos and logs the results to a database.

01
Capture
Send a meal photo directly to the Telegram bot.
02
Analyze
Claude Vision estimates calories and macros using hand-in-frame as a portion reference.
03
Confirm
An inline Yes/Edit flow runs before anything is saved.
04
Store
Confirmed macros are written to Supabase, scoped to the user ID.
05
Report
Weekly dark-themed charts and daily nudges keep tracking visible.
ARCHITECTURE

Telegram intake, Claude Vision analysis, Supabase logging, scheduled delivery

Meal Photo Claude Vision Confirm Flow Supabase Stats + Reports Weekly Charts Telegram macro estimate confirmed entry Monday push Meal Photo Vision Confirm Supabase Stats Charts Telegram macro estimate confirmed entry Monday push
NutriBot logging meal photos and showing remaining calories
Photo meal logging
NutriBot weekly report with calories, protein, recent meals, and chart
Weekly report
NutriBot answering a goal-weight timeline question using nutrition data
Goal estimate
~3s
photo to estimate
Daily
nudges plus weekly charts
Render
deployed with Supabase