Когда моя девушка рыдает от бессилия, а я вайбкодер. История как решил проблему диеты DAO-гистамин за 10 часов
Дисклеймер. Это не реклама приложения, ссылки скачать не будет, она не выложена в сторы. Это демонстрация на что сейчас способны нейросети в кодинге если отключить мозг напрочь.
Краткая история, путём долгих мучений, экспериментов и анализов, мы выяснили, что у неё DAO-гистамин средней степени 4,8 Ед/мл. Что это значит? В организме, а именно в кишечнике вырабатывается недостаточно фермента и он не может полностью "деактивировать сигнализацию", в итоге кишечник всасывает "сигнализацию" в кровь и начинаются проблемы с кожей. В народе ещё называют ложной аллергией.
Решить проблему можно посидев на диете некоторое время. Проблема этой диеты в том, что запрещены очевидные продукты! Здесь нет набора правил, как в низкожировой или палео/кето и подобных диет. Например, авокадо и помидор нельзя, а чеснок и лук можно. Мясо говядины и можно и нельзя одновременно, всё зависит от свежести. Из яиц, куриное осторожно, а перепелиное можно.
Вроде всё очевидно, составь себе список что можно, а что нельзя и живи себе спокойно. Но нет. У нас это всё превратилось вечный гуглёж, частые вопросы ИИ-ассистентам почему нельзя, а сколько можно итд. Проблему "решил" создав справочник продуктов, где с помощью нейронок и гуглежа составил список что можно/нельзя. Для iOS сделал PWA приложение, на его базе apk для андроида т.к андроиды не умеют в PWA или проблема с хуавеем.
Почему проблема не решилась? А что готовить? Фастфуд нельзя, полуфабрикаты тоже. Создаётся ощущение, что ничего нельзя, сиди и грызи пресный лист пекинской капусты запивая водой.
Хорошо, решил готовку взять в свои руки, начал придумывать необычные и новые блюда, они вкусные, но всё рано или поздно надоедает. И что, теперь всё время питаться из ограниченного числа блюд?
После третей истерики появилась идея собрать список продуктов из того, что есть на кухне, выгрузить нейронке, попросить составить новые блюда, у него хорошо получилось. Дальше начал обдумывать архитектуру, откуда достать бесплатный api, всё это завернуть в удобный интерфейс.
Как нейронка описала приложение:
AI Diet — это персональный помощник для людей с DAO-гистаминовой непереносимостью.
Проблема простая: когда у тебя гистаминоз, ты не можешь просто открыть холодильник и приготовить что-то. Каждый продукт нужно проверять: можно ли его? сколько? а если он уже полежал — точно можно?
Существующие приложения для диет бесполезны — они не учитывают специфику HIT. Списки продуктов в интернете противоречат друг другу. А визит к диетологу стоит денег и времени.
Что умеет приложение
Инвентарь продуктов
Ведёшь учёт что есть дома. Каждый продукт имеет статус: ✅ можно, ⚠️ осторожно (с лимитом), ❌ нельзя.
🤖 AI-генерация рецептов
Нейросеть Gemini смотрит что у тебя в холодильнике и предлагает рецепты, которые тебе реально можно есть. Не просто рецепты из интернета — а именно под твои продукты и ограничения.
🛒 Список покупок
Добавляешь что нужно купить — приложение помнит.
📔 Дневник питания
Записываешь что ел — отслеживаешь реакции.
📚 Справочник продуктов
База данных с HIT-статусами: что можно, что нельзя, какие есть лимиты.
Почему это уникально
Заточено под гистаминоз — не универсальная диета, а именно HIT/DAO
AI понимает контекст — не просто ищет рецепты, а учитывает твои продукты и их статусы
Офлайн работает — PWA, можно добавить на рабочий стол как приложение
Бесплатно — нужен только API-ключ Gemini (он бесплатный)
Self-hosted — твои данные остаются у тебя
Итог
Это не просто приложение — это ответ на вопрос «что мне сегодня приготовить?» без паники, гугла и слёз.
Техническая часть:
Стек:
Frontend: Vanilla JS (SPA), CSS — никаких фреймворков
Backend: PHP 8.2 (FPM)
База: MariaDB 10.11
AI: Google Gemini API (gemini-2.5-flash)
Инфраструктура: Docker Compose (nginx + php + mariadb)
Архитектура:
PWA с Service Worker — работает офлайн, можно добавить на Home Screen
REST API для всех операций
Async polling для AI-генерации (обход 30-секундного лимита iOS)
AI-генерация:
Запрос → сервер создаёт фоновую задачу → клиент опрашивает статус каждые 3 сек
Gemini получает список продуктов с HIT-статусами и генерирует рецепты
JSON-ответ парсится с очисткой markdown и trailing commas
Деплой:
Self-hosted на любом сервере с Docker
Один docker-compose up -d — и работает
Данные хранятся локально, ничего не уходит на сторонние сервисы (кроме Gemini API)
Разработка:
Vibe-coding с помощью AI-ассистента
~2000 строк JS, ~200 строк PHP
Весь проект — один репозиторий, легко форкнуть и кастомизировать
Всё это было сгенерировано в ide Antigravity от гугла с помощью модели Gemini 3 pro + Claude Opus 4.5. Имеется подписка на Google One pro. Токен для приложения используется бесплатный гуголовский aistudio, где доступна модель Gemini flash. Честно, я не могу сказать уверено, что было на 100% сделано на "вайбе" т.к я давал подсказки, вроде очевидные вещи, но робот тупит местами. Нейронка самостоятельно сношалась с докером пытаясь устранить проблемы, иногда запускала браузер Chrome и уже веб интерфейсе отлавливала аномалии.
Готовый докер композ и файлы запустил на сервере TrueNAS Scale, внешний доступ организован через туннель Cloudflare.
Скрины как всё это выглядит и описание:
Раздел где отображаются продукты на кухне, можно добавлять и редактировать. Добавляются только из базы "Справочник продуктов". Живой поиск, отображает сразу найденные.
Можно добавить свои рецепты. При нажатии кнопки приготовить, можно сопоставить продукты и они сминусуют по количеству из базы.
Если нажать "Генерировать", то будут предложены 10 вариантов, 5 из того что есть на кухне, 5 если докупить 1 ингредиент.
Если добавляется новый рецепт, то после приготовления предложит оценить рецепт. После приготовления подсчитывает количество готовок.
Раздел для ведения дневника, здесь ещё думаю как сделать удобнее, может через телеграм бот. Раздел с настройками, прописывается токен, выбирается модель, создаются пользователи и бекап всего и вся.
В целом, я удивлён. Осталось немного отполировать, перегнать в apk для андроида. Что будет с нейросетями через 2 года, боюсь представить, если сейчас можно "вайбкодить" подобные штуки.














