Как я сделал сервис по подбору кето-меню на 28 дней и почему он работает
Всем привет! Хочу рассказать про свой недавний проект — сервис, который помогает людям составить персональный план питания по кето-диете на 28 дней. Всё работает в полуавтоматическом режиме, выглядит как полноценный продукт, и уже приносит первые деньги.
Сразу скажу: я не нутрициолог, я разработчик. Просто мне всегда было интересно собирать системы, которые "живут" без моего постоянного участия и помогают людям. Идея появилась из личного интереса — и со временем выросла в полноценный сервис с прохождением квиза, логикой подсчета всех необходимых данных, админкой и партнёрской программой.
Суть проекта
Пользователь проходит анкету из 15 вопросов. Вопросы касаются:
- уровня активности;
- предпочтений по продуктам (что ест/не ест);
- желания есть сладкое;
- и других нюансов вроде режима дня.
На выходе он получает:
- меню на 28 дней — каждый день с уникальными рецептами;
- КБЖУ по каждому приёму пищи;
- список покупок с подсчётом количества необходимых ингредиентов;
Рецепты не рандомные. Есть система ротации и логика: рецепты не повторяются чаще определённого числа дней, есть чередование по типу приёмов пищи. Всё адаптируется под ответы пользователя, активность и тягу к сладкому — например, если человек «не может без сладкого», то в меню появляются десерты (но не каждый день — есть свои правила). На данный момент в базе более 500 рецептов, но ежедневно стараюсь добавлять еще по паре десятков, благо в этом помогает ИИ и загрузив свою базу с ингредиентами и существующими рецептами, он с легкостью составляет новые позиции
Как всё устроено внутри
Архитектура
- PHP (без фреймворков) — потому что быстро и просто, особенно для MVP.
- База данных MySQL
- Сам сайт обычная верстка html+css+js
- Админка — чисто на Bootstrap, без SPA, всё быстро.
- Партнерка — взял готовый бесплатный шаблон на Bootstrap и ее подогнал под себя.
- Генерация меню — по сути, кастомный движок с ротацией, расчётом TDEE, фильтрами по предпочтениям.
Что особенно:
- У каждого рецепта — динамические граммовки. Сначала я думал жёстко задавать количество, но потом пришёл к расчётам: меню масштабируется под калорийность пользователя, т.е. каждый рецепт у меня рассчитан на пользователя с 1500 калорий, и если пользователь который прошел квиз и у него больше калорийность, соответственно порция увеличивается и подстраивается под его калорийность.
- Исключение ингредиентов — если пользователь указывает, что не ест мясо, исключаются рецепты с курицей, говядиной и т.д. (аналогично для «не ем сыр», «не ем орехи»).
- Если пользователь наоборот выбирает любимый ингредиент, то с данным ингредиентом процентность блюд повышается и они встречаются чаще
- Учёт тяги к сладкому — это отдельный вопрос в анкете, на основе которого определяется частота десертов. Если максимум — даём десерт через день. Если «редко хочется» — раз в 5 дней.
- Количество приёмов пищи в день — 3, 4 или 5, в зависимости от анкеты. Не просто «завтрак-обед-ужин», а реально подстраиваемся, если пользователь не активничает на протяжении дня, тогда и 5 приемов пищи ему не к чему, а если весь день физический труд, тогда добавляем в рацион дополнительное питание.
- Поддержка всех единиц измерения — граммы, штуки, мл. Если ингредиент штучный, то показываем и в граммах, и в штуках. Например по рецепту идет яйцо 100гр, мы покажем пользователю в рецепте что нужно 100 грамм ~ 2 шт. Все для удобства пользователя😁
Админка
Поскольку проект ориентирован не только на пользователей, но и на автоматизацию — я заморочился с админкой:
- можно управлять ингредиентами, рецептами, типами продуктов,
- можно быстро менять тексты, добавлять рецепты с изображениями, правда пока изображения не вывожу в плане, но на будущее заложил сразу в основу
- есть система просмотра и редактирования планов питания пользователей.
- управление партнерами и все что с ними связано (управление тикетами, вывод средств партнерам, статистика по партнерам кто сколько привел и на какую сумму)
Монетизация
Сейчас сервис работает по фиксированной стоимости — человек платит и получает доступ к меню. Возможно добавлю подписку, но честно говоря считаю подписки обманом и не хочется потом получать письма с просьбой о возврате за то что подписку не отключили, поэтому больше смотрю в сторону дополнительных платных расширений вроде плана тренировок. А пока работает просто и стабильно.
Оплата происходит через SDK YooKassa. После оплаты формируется меню и открывается доступ.
Партнёрка
Добавил простую партнёрскую систему — по сути, это UTM-ссылка, которая сохраняет ID партнёра в сессии, и при создании заказа фиксирует, от кого пришёл человек. Учитываются клики, уникальные клики, пройденный тест, лиды и оплаты, при этом если партнер поставил свою цену за план питания, то пользователю подгрузятся именно они, даже если пользователь удалит все параметры из ссылки после перехода
- Есть кабинет партнёров с дашбордом, где собраны все необходимые данные (добавить UTM метки под нужный сервис, указать метрику, посмотреть статистику по дням, статистику по заработку, просмотреть каждого приглашенного реферала и многое другое)
- Для партнеров решил сделать возможность указывать свои цены за план питания, но не меньше минимальной стоимости на сайте.
- Система тикетов.
- Есть запрос на вывод средств с выбором реквизитов для оплаты.
- Всё считается и отображается в реальном времени.
Можно вести трафик с любых источников за исключением спама. Сам тестил трафик с групп в вк по аналогичным тематикам о похудении, также УБТ трафик дорвейный с историями от пользователя.
Что показали первые пользователи
Удивительно, но конверсия с квиза оказалась высокой — люди покупают и очень часто доходят до оплаты пройдя весь тест. Видимо, формат "всё за тебя уже продумано, осталось только следовать" хорошо заходит. Вообщем сервис еще молодой, но планы на него грандиозные 😅
Что планирую дальше
- Сейчас больше всего сосредоточен на партнерском кабинете, хоть для работы уже и есть все необходимое, но хочется добавить сохранение потоков, особенно настроен на страницу промо материалов, чтобы у партнеров всегда были свежие креативы, автоматизировать выплату, так как сейчас приходится в ручном режиме обрабатывать заявки, а хотелось бы в 1 нажатие, чтобы произошла оплата (с этим мне также поможет YooKassa)
- Создать привлекательный лендинг для партнеров, а то сейчас пока заглушка стоит.
- Активно сейчас общаюсь с CPA партнерками о сотрудничестве.
- Добавить в анкете авторизацию, чтобы можно было вернуться.
- Развить меню: возможно ввести разгрузочные дни.
- Добавить больше показателей о пользователе после прохождения теста.
- Также думаю может почту заменить на номер телефона и отправлять план в мессенджеры, с одной стороны удобнее, а с другой мне кажется пользователи сейчас не хотят оставлять свой номер телефона и часто сливаются на этом этапе.
Если интересно протестировать сервис оставлю ссылку
Если интересно протестировать партнёрку то сюда, пока всем партнерам плачу 50%.
Буду рад любому фидбеку, особенно по дизайну, логике анкеты или идеям по монетизации.
Спасибо, что дочитали!