Как я устал считать калории руками и сделал Gramo — счётчик калорий, который живёт в Telegram

Я делаю Gramo — счётчик калорий, которому не нужны приложение, регистрация и штрихкоды. Отправляешь боту в Telegram фото еды или голосовое — ИИ распознаёт блюдо, считает КБЖУ и записывает в дневник. Расскажу, зачем я это начал, на какие грабли наступил и что получилось.

Проблема: все счётчики калорий сделаны для тех, кто и так справится

Считать калории я начинал раза три. Каждый раз одно и то же: ставишь приложение, заводишь аккаунт, а дальше — форма. Найди продукт в базе, взвесь порцию, введи граммы. Для йогурта со штрихкодом работает. А теперь посчитай так борщ у мамы или бизнес-ланч в кафе: ни этикетки, ни весов, ни желания.

Домашняя еда и заведения без штрихкода — это не крайний случай, это основная еда обычного человека в России. И именно на ней классические трекеры ломаются. Через неделю дневник забрасываешь.

При этом телефон и так в руке, Telegram и так открыт. Сфотографировать тарелку — одно движение, которое делаешь и без всякого дневника. Вот и вся идея: пусть записью еды будет фото, а остальное сделает ИИ.

Как это работает

1. Отправляешь боту фото тарелки, голосовое («съел два яйца и тост с маслом») или текст.

2. ИИ разбирает блюдо на состав, оценивает порции и считает калории, белки, жиры, углеводы и клетчатку.

3. Запись падает в дневник. В мини-аппе внутри Telegram — дневной баланс: сколько съел, сколько осталось, динамика веса, спорт.

Никакой установки и регистрации: продукт целиком живёт в мессенджере. Открыл чат — это и есть дневник. Есть и веб-версия для тех, кто без Telegram, но мессенджер — главная сцена.

Экран дня в Gramo: остаток калорий и БЖУ одним взглядом
Экран дня в Gramo: остаток калорий и БЖУ одним взглядом
Записи за день и «Совет дня» от ИИ-нутрициолога: источник каждой записи — фото или голос
Записи за день и «Совет дня» от ИИ-нутрициолога: источник каждой записи — фото или голос

Под капотом — Нейросеть от OpenAI для распознавания и разбора состава, Java и Spring Boot на бэкенде, Telegram Mini App на React, всё крутится на обычном VPS. Стек скучный и надёжный — осознанно: магия должна быть в продукте, а не в инфраструктуре.

Грабли, которые я собрал

ИИ ошибается — и это нормально, если не врать. По фото невозможно отличить куриную грудку от бедра под соусом и угадать, сколько масла ушло в жарку. Поэтому принцип такой: если модель не уверена — она так и говорит, а запись можно поправить в пару тапов. Честная погрешность лучше выдуманной точности: я сознательно нигде не пишу «точность ±20 ккал», потому что мы её не измеряли.

Голосовой ввод оказался недооценённым. Казалось, фича «для галочки». На деле — наговорить «съел плов и два огурца», когда тарелка уже пустая или ты за рулём, проще, чем открывать камеру. Часть еды в дневник попадает только благодаря голосу.

Ребрендинг на середине пути. Проект начинался как CalorieAI — название честное, но безликое: таких «calorie-ai» в сторах десятки. Летом я переименовал продукт в Gramo — от слова «грамм», с дружелюбным «-о» на конце, чтобы не звучать как медицинский прибор. Дневник питания — штука про каждый день, и он не должен ощущаться как клиника.

Почта с VPS не отправляется. Когда добавил веб-версию и регистрацию по email, выяснилось, что хостер режет SMTP наглухо и навсегда. День дебага — и переезд на HTTP-API почтового сервиса. Мелочь, но из таких мелочей состоит половина проекта.

Бот — это ещё не продукт, пока в нём нет платежей. Подписку прикрутил через ЮKassa прямо в Telegram: старт бесплатный и без карты, платят те, кому дневник прижился. Продавать «здоровье» агрессивно не хочу принципиально — об этом ниже.

Что я не стал делать — и почему

Никакого шейминга. Превысил норму — это факт в дневнике, а не красный экран с восклицательными знаками. Подсчёт калорий — инструмент, а не наказание.

Никаких «до/после» и диет-культуры. Продукт для тех, кто хочет понимать, что ест, а не для гонки за цифрой на весах.

Никакой геймификации ради геймификации. Стрики и ачивки удерживают неделю, а потом вызывают чувство вины. Удерживать должна польза: открыл экран — за три секунды понял, укладываешься ли сегодня.

Что дальше

Ближайшие планы — модуль спорта: тренировки в том же дневнике и баланс с учётом активности, смотрю в сторону интеграции с фитнес-трекерами. Дальше — по обратной связи от пользователей: она в таком продукте дороже любого роадмапа.

Попробовать

Gramo — счётчик калорий по фото и голосу в Telegram.

Сайт: https://calculator-calories.ru/

Бот: https://t.me/calculator_calories_ai_bot

Старт бесплатный, карта не нужна. Буду рад обратной связи в комментариях — особенно про то, чего вам не хватает в существующих счётчиках калорий.