Похожие презентации:
Amaze: искусственно умный трекер питания и тренировок
1.
2. AMAZE
Искусственно умный трекер питания + тренировокПодготовили ученики 5 А класса:
Хан Эдиков и Гном Хуекрад
3. 1. Идея
Полнофункциональный фитнес-трекер с AI-функциями типаатам можно еду фоткать и сами калории считаются и продукты
штихкоды (barкод) сканировать о и еще ИИ тренер такой чтобы ты ему
все свои параетры и результаты тренировок отправляешь (в
автоматическом режиме происходит через АПИ опенроутера за счет
компании) и тебе план тренировок на неделю например + советы и
рекомендации + помощь по питанию и тд
Мобильное приложение если что ну на айфоны андроиды
только на айфоны увы платно (99 обамакоинов в год) но если мы все
будем скидываться то халява вообще а еще там будет оооочень крутая
система рейтинга (на последнем слайде подробнее будет) и там
маскот крутой будет и дизайн шикарный и емае а анимации какие вы
4. 2. Фуд (eda)
• Текст слайжа5. 3.
6. 5.
7. 6. пайплайн
Практический план разработки мобильного фитнес-трекераПолнофункциональный фитнес-трекер с AI-функциями для 10 пользователей реально построить
за 8 недель до MVP и 20 недель до полной версии — при бюджете на внешние API всего $1–3 в
месяц. Ключевые решения: React Native + Expo (TypeScript) на фронте, Go + Chi на бэке, Gemini 2.0
Flash для всех AI-задач, многослойная продуктовая база FatSecret + Open Food Facts + USDA. Далее —
детальный план по каждому аспекту.
Архитектура системы и технический стек
Мобильное приложение: React Native + Expo + TypeScript
React Native побеждает Flutter для этой команды по одной решающей причине — качество LLMгенерации кода. JavaScript/TypeScript имеют крупнейший корпус обучающих данных во всех LLM
(ChatGPT, Claude, Gemini, Copilot), что делает вайбкодинг в 1.5–2 раза эффективнее, чем с
Dart/Flutter. TypeScript с его статической типизацией интуитивно понятен Go-разработчикам.
Expo решает проблему дистрибуции через eas build — одной командой получаете IPA для TestFlight и
APK для Android без публикации в магазины.
Ключевые пакеты для фронтенда:
• react-native-gifted-charts — лучшая библиотека графиков (bar, line, pie, donut, radar), активно
поддерживается, 75+ примеров
• react-native-gesture-handler v2 + react-native-reanimated v3 — свайпы и pinch-to-zoom для
навигации по датам (день/неделя/месяц) на 60fps
• react-native-vision-camera — камера с поддержкой ML Kit для сканирования штрихкодов
• @react-navigation/native v7 — навигация между экранами
• Zustand — легковесный state management
• @gorhom/bottom-sheet — bottom sheets для добавления приёмов пищи
Бэкенд: Go + Chi + модульный монолит в Docker
Для 10 пользователей полноценные микросервисы с message broker — избыточны. Рекомендуется
модульный монолит с чёткими внутренними границами, задеплоенный как отдельные
контейнеры в Docker Compose. Chi выбран вместо Gin/Fiber, потому что он построен поверх
стандартного net/http — наиболее идиоматичный Go, максимальная совместимость с экосистемой,
и LLM генерируют для него лучший код.
RapidNative
Medium
Medium
Medium
Encore
Ключевые Go-библиотеки: chi/v5 (роутер), golang-jwt/jwt/v5 (аутентификация), pgx/v5 (PostgreSQL —
самый быстрый драйвер), go-redis/v9 , minio-go/v7 , zerolog (логирование), prometheus/client_golang
(метрики).
База данных: PostgreSQL + Redis
PostgreSQL покрывает все потребности: реляционные данные (users → workouts → exercises) плюс
JSONB-колонки для гибких структур (разные типы тренировок имеют разные параметры). Для
10 пользователей один инстанс PostgreSQL обработает любую нагрузку. TimescaleDB не нужен —
простые индексы по timestamp достаточны на этом масштабе.
Redis используется для трёх задач: Sorted Sets для лидерборда (встроенная сортировка и ранжирование
— ZREVRANGEWITHSCORES ), кэширование продуктовых lookup'ов (данные Open
Food Facts не меняются часто), и blacklist токенов для JWT-revocation.
Аутентификация: кастомный JWT
Для 10 друзей Keycloak (1GB+ памяти, Java) и Firebase Auth — чрезмерны. Кастомный JWT на golangjwt/v5 + bcrypt — это ~200 строк кода. Access-токены на 15 минут, refresh-токены на 7 дней в Redis с
ротацией. Регистрация через инвайт-коды (10 захардкоженных строк). Весь auth-модуль — идеальная
задача для вайбкодинга.
Продуктовая база: многослойный подход для российского рынка
Ни один российский ритейлер (Перекрёсток, Пятёрочка, Магнит, Лента, ВкусВилл) не имеет
публичного API с данными о продуктах. Яндекс.Еда имеет Vendor API с полями КБЖУ, но
это партнёрская интеграция для ресторанов. Решение — многослойная архитектура из нескольких
источников.
Слой 1: базовые продукты (бесплатно, сразу)
Mobile App (RN/Expo)
│ HTTPS/REST
▼
┌─ API Gateway (Chi) ─ JWT, routing, rate limiting ─┐
││
├─ User Service ── auth, профили, рейтинг │
├─ Food Service ── еда, штрихкоды, питание │
├─ Workout Service ── тренировки, упражнения │
├─ AI Service ── LLM-интеграции, распознавание фото │
││
├─ PostgreSQL 16 ── все данные │
├─ Redis 7 ── кэш, лидерборд (Sorted Sets), токены │
└─ MinIO ── фото еды, аватары │
Codemia
Redis CodeSignal
Хабр Q&A
USDA SR28 с русским переводом (GitHub: alexndr-novikov/usda_sr28_ru ) — SQL-дамп с ~8000+
базовых продуктов и детальными нутриентами на русском. Дополнить данными ФИЦ Питания
(web.ion.ru) — научно верифицированный состав российских продуктов. Это покрывает все базовые
ингредиенты: мука, молоко, курица, гречка, овощи.
Слой 2: брендовые продукты и штрихкоды (основной)
FatSecret Platform API — лучший коммерческий вариант: 1.9M+ уникальных продуктов в 56 странах,
включая Россию, с поддержкой 24 языков. Покрытие штрихкодов >90% глобально
(включая EAN-13 с префиксами 460–469 для России). Для стартапов с доходом <$1M —
бесплатный Premier-тариф (но только US-данные); русский dataset — по запросу.
Методы API: food.search , food.get , food.find_id_for_barcode .
Open Food Facts — бесплатный fallback: 4M+ продуктов глобально, но
российское покрытие слабое (~261 продукт с российским происхождением). Зато
полностью бесплатный, с Dart SDK, и можно хостить всю базу у себя (дамп
~9GB). Пользователи могут добавлять недостающие продукты.
Dietagram — специализированный российский сервис: 150K+ продуктов со штрихкодами,
поддержка русского языка. Цена: $50–100/мес за 1K–10K запросов.
Слой 3: рестораны и доставка (постепенно)
Ручная курация КБЖУ для топовых сетей (Додо Пицца, Вкусно и точка, KFC, Burger King) — данные
публично доступны на fatsecret.ru и health-diet.ru. Скрейпинг каталога ВкусВилл для
КБЖУ проверен на практике (статья на Habr с Selenium/Python).
Слой 4: пользовательский контент + AI
Когда продукт не найден — пользователь фотографирует этикетку, OCR через Gemini/GPT-4o извлекает
КБЖУ автоматически. Все пользовательские записи сохраняются в общую базу для 10 друзей.
Бюджет продуктовой базы: Минимальный вариант (Open Food Facts + USDA) — $0/мес.
Рекомендуемый (FatSecret Premier + OFF) — $200–500/мес. Для MVP стартуйте с бесплатными
источниками.
AI-функции обойдутся в $1–3 в месяц
Главный инсайт исследования: для 10 пользователей облачные AI-API абсурдно дёшевы. Self-hosting
LLM имеет смысл только для privacy, не для экономии.
Распознавание еды по фото: Gemini 2.0 Flash
GitHub
Fatsecret Fatsecret
Fatsecret
fatsecret Fatsecret
GitHub GitHub Wikipedia
Open Food Facts
Open Food Facts Open Food Facts
Open Food Facts Open Food Facts
Dietagram
dietagram
Dostavka Calorizator
Habr
GPT-4 Vision достигает 88.6% F1-score в идентификации еды (93% precision, 84.6% recall)
по рецензированному исследованию (O'Hara et al., Nutrients 2025). 66.4% оценок калорийности
попадают в диапазон <10% ошибки. Это сопоставимо с точностью профессиональных
диетологов.
Но GPT-4o стоит $2.50/M входных токенов. Gemini 2.0 Flash даёт сравнимое качество при $0.10/M
входных токенов — в 25 раз дешевле. Есть бесплатный тариф (1000 запросов/день). При 2250 фото в
месяц (7.5 фото/день × 10 пользователей × 30 дней) стоимость составит ~$0.79/мес на Gemini Flash.
Промпт для Go-бэкенда:
Все крупные LLM хорошо распознают русскую кухню (борщ, пельмени, оливье) при промпте с
указанием cultural context.
Оценка порций через кредитную карточку
Отдельного API для этого не существует. Решение: встроить инструкцию прямо в промпт LLM — «В
фото видна стандартная кредитная карточка (85.6×54мм). Используй её для оценки размера порции.»
Исследования показывают, что GPT-4V обладает «впечатляющим потенциалом использования масштаба
близлежащих объектов как референса». Точность оценки объёма: 0.09–33% ошибки в
зависимости от сложности блюда. Всегда давайте пользователю возможность
скорректировать оценку вручную.
Сканирование штрихкодов
На устройстве: react-native-vision-camera (React Native) или mobile_scanner (Flutter) — обе библиотеки
бесплатны, работают офлайн через ML Kit (Android) и Apple Vision (iOS). Поддерживают EAN-13.
Lookup по штрихкоду: Open Food Facts API ( GET /api/v2/product/{barcode}.json ) → FatSecret
fallback. Стоимость: $0/мес.
AI-тренер: генерация планов тренировок
На вход: параметры тела + история тренировок + цели → на выход: недельный план. При 129 запросах/
месяц (3 запроса/неделю × 10 пользователей × 4.3 недели) на Gemini 2.0 Flash стоимость — **$0.13/
мес**. Альтернатива для нулевых внешних зависимостей: Ollama + Llama 3.1 8B в Docker, требует
8GB+ RAM, генерирует ~9–16 токенов/сек на CPU.
Суммарная стоимость AI (10 пользователей)
News-Medical
PubMed Central
System: You are a nutrition analyst. Analyze the food photo and return JSON.
User: [image] Identify all food items. This is a meal from Russia.
For each item estimate weight in grams and provide nutritional data.
If a credit card (85.6×54mm) is visible, use it as a scale reference.
Return: {"items": [{"name_ru": "", "weight_g": 0, "calories": 0,
"protein_g": 0, "fat_g": 0, "carbs_g": 0}],
"total": {"calories": 0, "protein_g": 0, "fat_g": 0, "carbs_g": 0}}
arXiv
Whatthefood
Open Food Facts
Компонент Gemini Flash GPT-4o mini GPT-4o
Фото еды (2250/мес) $0.79 $1.18 $19.64
Штрихкоды $0 $0 $0
AI-тренер (129/мес) $0.13 $0.19 $4.83
Итого/мес ~$1 ~$1.40 ~$25
Рекомендация: Gemini 2.0 Flash как основной, GPT-4o mini как fallback. Абстрагировать провайдера
через интерфейс в Go для быстрой замены.
Навигация по датам: свайпы и pinch-to-zoom
Горизонтальный свайп навигирует внутри текущей гранулярности (влево = следующий день/неделя/
месяц, вправо = предыдущий). Pinch-out масштабирует от дня → неделе → месяцу, pinch-in — обратно.
Реализация через Gesture.Simultaneous(panGesture, pinchGesture) из react-native-gesture-handler v2 с
анимациями на UI-потоке через reanimated v3.
Пороги переключения: scale > 1.3 → zoom in (к дневному виду), scale < 0.7 → zoom out (к месячному).
Обязательные UX-элементы: кнопка «Сегодня» для быстрого возврата, haptic feedback при
переключении, плавный crossfade между видами (не мгновенная замена), видимый сегментированный
контрол (день/неделя/месяц) как fallback для discoverability. Эталон: Fantastical Calendar — золотой
стандарт pinch-to-zoom между day/week/month.
MVP за 8 недель: что делать и в каком порядке
Фаза 1 — MVP (недели 1–8)
Минимально жизнеспособный трекер еды должен содержать: быстрый поиск продуктов, сканирование
штрихкодов, ручной ввод с порциями, дневное саммари калорий/БЖУ, группировку по приёмам пищи.
Без этих пяти компонентов пользователи уходят. Исследования показывают, что каждый
ввод еды должен занимать <30 секунд — это критический порог.
MVP включает: аутентификацию + профили, трекинг еды (ручной ввод + поиск + ежедневный/
недельный вид), интеграцию продуктовой базы (USDA + Open Food Facts), сканер штрихкодов, трекер
воды, базовый лог тренировок, простые графики (калории, макросы, тренд веса), инфраструктуру
(Docker, CI/CD, деплой).
Фаза 2 — расширение (недели 9–14)
Leanware
GitHub
Bricxlabs
Appinventiv
Apidots
AI-распознавание еды по фото, лидерборд/рейтинг, месячные виды + продвинутые графики, профили с
отчётами, навигация с жестами (свайп + zoom).
Фаза 3 — продвинутые функции (недели 15–20)
AI-тренер, база рецептов, продвинутая аналитика, офлайн-поддержка.
Оценки времени с вайбкодингом (~40% ускорение)
Компонент Без LLM С вайбкодингом
Auth + профили 2 нед 1 нед
Трекинг еды (core) 3–4 нед 2–2.5 нед
Интеграция продуктовой базы 2 нед 1–1.5 нед
Сканер штрихкодов 1.5 нед 1 нед
AI-распознавание фото 3–4 нед 2–3 нед
Трекинг тренировок 3 нед 2 нед
AI-тренер 4–5 нед 3–4 нед
Лидерборд 1.5 нед 1 нед
Трекер воды 0.5 нед 3 дня
Графики 3 нед 2 нед
Бэкенд + Docker 3 нед 2 нед
CI/CD + деплой 1.5 нед 1 нед
Распределение задач в команде
Параллельная разработка начинается с недели 1: бэкенд строит API, фронтенд — экраны с мокданными. Data engineer работает независимо над пайплайном продуктовой базы. Критический путь:
Auth → Food Service → Food UI → Barcode → Charts.
Неделя Фулстек лид Фронтендер Бэкендер 1 Бэкендер 0.5 Дата инженер
1 Архитектура,
Docker Compose,
скаффолдинг
сервисов
Навигация,
скелет UI,
экраны auth
Auth-сервис (JWT,
регистрация)
Схема БД Импорт USDA +
OFF
2 API Gateway, кодревью
Профиль,
настройки
Auth завершение, API
профилей
Auth
middleware,
тесты
Индексация,
поисковая
оптимизация
3 Food Service API Поиск еды,
экраны
приёмов пищи
Реализация Food
Service
Оптимизация
запросов
Пайплайн
штрихкод→КБЖУ
4 Интеграция
штрихкодов
Камера +
сканер
Workout Service API Тесты Food
Service
Валидация данных
5 Ревью Workout
Service
Экраны
тренировок
Завершение Workout
Service
API трекера
воды
Агрегация данных
(дни/недели)
6 API графиков,
агрегация
Компоненты
графиков
API рейтинга Тесты Workout
Service
Пайплайн отчётов
7 Трекер воды, багфиксы
UI трекера
воды, daily
summary
CI/CD, Docker prod Документация
API
Билд TestFlight/APK
8 E2E тестирование,
деплой
UI-полировка,
баг-фиксы
Тюнинг
производительности
Edge cases Мониторинг,
миграции
10 подводных камней, которых надо избежать
1. Хаос точности продуктовой базы. Пользовательские записи (как в MyFitnessPal) приводят к
дубликатам и разбросу калорий для одного продукта. Решение: USDA как первичный
источник, пользовательские записи помечать флагом, модерация через data engineer.
2. AI плохо распознаёт сложные блюда. Точность резко падает на смешанных блюдах и
русских супах. Всегда давайте ручной fallback. AI — подсказка, не истина.
Позволяйте корректировать и сохранять корректировки.
3. Scope creep убивает MVP. Единогласный консенсус индустрии: «ещё одна фича» превращает 8недельный MVP в 6-месячный проект. Заморозьте список фич до спринта 1. Ведите backlog.
Levels +2
Whatthefood
ScienceDaily MedicalXpress
FasterCapital
Lowcode
4. Тормоза графиков на мобильных. SVG-графики с 365 точками (годовой вид) вызывают jank.
Решение: агрегируйте данные (недельные средние для месячного вида), используйте React.memo /
useMemo , рассмотрите Skia-рендеринг.
5. Фрикция ввода еды = потеря пользователей. Каждый ввод должен занимать <30 секунд. Максимум
способов ввода: поиск, штрихкод, недавнее/избранное, шаблоны, быстрое добавление, фото.
6. Over-engineering микросервисов для 10 человек. Не нужен Kafka, Kubernetes или RabbitMQ. Docker
Compose + 4 сервиса + PostgreSQL.
7. Офлайн как afterthought. Пользователи логируют еду в ресторанах и залах без Wi-Fi. Для MVP:
локальное кэширование с retry-on-reconnect. Полноценный offline-first — в Phase 3.
8. Дыры в российской продуктовой базе. Ни один источник не покрывает всё. Собственные продукты
ритейлеров (Красная Цена, марки Магнита) плохо представлены везде. Решение: общая
кастомная база для 10 друзей.
9. Технический долг от вайбкодинга. LLM-код может содержать захардкоженные секреты, SQLинъекции, неконсистентную архитектуру. Senior-отчёт о «development hell» с вайбкодингом
(Fast Company, Sept 2025). Решение: фулстек лид ревьюит каждый LLM-PR, запускайте
golangci-lint и ESLint.
10. Разное поведение iOS vs Android. Камера, жесты и пуш-уведомления работают по-разному.
Тестируйте минимум на 2 iOS и 2 Android устройствах.
Open-source проекты для референса
wger Workout Manager (github.com/wger-project/wger, 5.6K★) — лучший референс: self-hosted, трекинг
тренировок и питания, 2M+ продуктов через Open Food Facts, мульти-пользовательский, полный
REST API, Docker. Изучите API-дизайн и модели данных. Есть Flutter-клиент
(github.com/wger-project/flutter).
State of Health Tracker (github.com/Kennygunderman/state-of-health -tracke r) — React Native, трекинг
макросов, USDA FoodData, графики, прогрессивная перегрузка. Ближайший аналог вашего
проекта.
Go Backend Clean Architecture (github.com/amitshekhariitbhu/go-backend-cl ean-architecture) — шаблон
Go-бэкенда с auth, профилями, Docker. Адаптируйте под фитнес-домен.
Заключение: стратегия запуска
Medium
PubMed Central
Codemia
Apidots
DigitalOcean
Attract Group
GitHub
GitHub Elest.io GitHub
Hacker News
GitHub
GitHub
Проект реалистичен для этой команды. Три фактора работают в вашу пользу: всего 10 пользователей
(нулевые проблемы масштабируемости), вайбкодинг (~40% ускорение на CRUD и API-интеграциях), и
отсутствие App Store ревью (экономия 1–2 недели).
Начните с «Недели 0»: архитектурный дизайн, API-контракты между фронтом и бэком, Docker Compose,
CI/CD-скелет. Это позволит фронту и бэку работать параллельно с первого дня. Data engineer запускает
пайплайн продуктовой базы (USDA + Open Food Facts) в тот же период — к моменту готовности Food
Service база уже будет наполнена.
Критически важно: не добавляйте AI-фичи в MVP. Фаза 1 — ручной ввод + штрихкод +
поиск. AI-распознавание фото — Фаза 2. AI-тренер — Фаза 3. Каждая фаза должна работать автономно
и приносить ценность. Ваш бюджет на внешние API ($1–3/мес) настолько мал, что даже «премиальный»
вариант с GPT-4o ($25/мес) — допустим. Основные затраты будут на сервер (~$20–50/мес VPS) и,
опционально, FatSecret Premier ($200–500/мес за русский dataset
8. 4/ htqnbyu
что такое бжугиена
я рук не чувствую
гном ХУЕКРАД
Войтенко
попробуй засолить эти
банки
пользуюсь душем в ддх
поджарый хищник
Светочка юзмиева оценит
Протокол Берсерк
цифры которые и не снились
моему отцу
АМАЗОНКА 160КГ
⬆(ai_generateд, потом будет круче)⬆
Маркетинг