EatQuest — приложение для правильного питания без подсчёта калорий. День разбит на три квеста, еду можно отметить фразой или фото, а ИИ сам разбирает, что съедено. Мотивацию держат серия дней и вечерний итог вместо чувства вины.
Проблема
Классические трекеры превращают еду в бухгалтерию: граммы, нутриенты, таблицы. Большинство людей бросает такой учёт через неделю, и к усталости добавляется чувство вины. Поэтому задача продукта не «считать точнее», а сделать так, чтобы человек продолжал отмечать еду.
Решение
День — это три выполнимых квеста: утро, день, вечер. Человек отмечает еду фразой или фото, ИИ распознаёт блюдо, закрывает квест и коротко объясняет, как это влияет на день. Три закрытых квеста — серия, вечером приходит короткий итог дня. Персональные советы считаются от цели и профиля, без граммов и таблиц.
Ключевые продуктовые решения
- Три квеста вместо учёта. Цель — закрыть день за пару минут, поэтому в продукте нет калорий и граммов. Всё, что требует точности, остаётся за кадром.
- ИИ только там, где он снимает ввод. GigaChat распознаёт еду по тексту и фото; стоит фильтр, который принимает только блюда. Я выбрал GigaChat, потому что нужен нативный русский и распознавание изображений, а зарубежные модели из России недоступны.
- Ошибку распознавания можно исправить. Любую запись можно исправить или удалить одним тапом, а день и серия пересчитаются. ИИ ошибается, и без этой кнопки ошибка ломает доверие.
- Вход без пароля. Основной путь — Telegram (виджет и Mini App). Входы через ВКонтакте, MAX и Яндекс ID реализованы и включаются настройками; аккаунты разных сервисов не склеиваются.
- Бесплатно — привычка, платно — персонализация. В бесплатной версии три квеста, запись, серия и история. В Premium — суточная норма по профилю, рекомендации от неё, учёт типа питания и трекинг движения к цели.
- Подписку проверяю спросом. После закрытого дня бесплатный пользователь видит оффер Premium, и согласие записывается в лист ожидания. Платёжный контур (ЮKassa для самозанятого: чеки, рекуррентные платежи, вебхуки) готов и включается ключами.
Что уже сделано
Работают веб-приложение с офлайн-очередью записей (PWA), Telegram-бот с вечерними напоминаниями по времени пользователя, Mini App и Android-обёртка для RuStore. Есть нижняя навигация, тёмная тема, поделиться днём карточкой, админ-аналитика с конверсией из напоминаний и опросом удовлетворённости не чаще раза в неделю. Бэкенд покрыт тестами, выкладка идёт через CI. Аналитика устроена в два слоя: Яндекс Метрика (после согласия, без Вебвизора) и Umami без cookies. Публичных цифр аудитории пока не привожу: продукт на ранней стадии.
Чему научил проект
- Платформу нужно определять по параметрам запуска, а не по наличию SDK. Из-за одного такого допущения в обычном браузере пропадал вход через Telegram.
- Запись еды обязана быть исправимой: пользователь простит ошибку ИИ, но не простит потерянную серию.
- Я бы начал с одного способа входа и сразу сделал лендинг с настоящими экранами, а не макетом. Четыре входа на старте — это четыре источника багов.
Стек и роль
- Приложение: SPA на чистом JavaScript без сборки (PWA), бэкенд FastAPI, SQLite
- Бот: aiogram; вход через Telegram, ВКонтакте, MAX, Яндекс ID
- ИИ: GigaChat (Сбер) для распознавания и рекомендаций; оплата — ЮKassa
- Android-обёртка на Capacitor для RuStore; прод на VPS в Docker, лендинг на Vercel
- Роль: solo founder — продукт, дизайн, full-stack разработка
Статьи по теме
- Геймификация без бейджиков: механики, которые реально влияют на retention
- Engagement loops для продакта: как спроектировать цикл поведения, а не отдельную акцию
- От «скипнуть всё» до «хочу закончить»: психология онбординга в продукте
Ссылки
- eatquest.online — лендинг
- app.eatquest.online — приложение
- @EatQuest_bot — бот в Telegram


