← ulyssies.com
004
NutriBot
A Telegram nutrition bot that estimates meal macros from photos and keeps the log lightweight.
Personal tool · Active
01 — Why I built this
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.
02 — How it works
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
03 — What was hard
- Hand-in-frame for portion calibrationPure visual estimation without a size reference is unreliable. Asking for a hand in frame gives the model a consistent reference object for portion size.
- 3 AM day boundaryLate-night logs at 11:30 PM should count toward that day, not the next. Rolling the day boundary to 3 AM Eastern keeps logs aligned with how people actually eat.
- User-scoped queries throughoutEvery database query is scoped to a Telegram user ID from the start. That makes the bot safe to share with trusted users without data crossing between accounts.
04 — By the numbers
~3s
photo to estimate
Daily
nudges plus weekly charts
Render
deployed with Supabase
05 — Links