Mom's Helper: трекер режима младенца

Роль: Основатель и продуктовый дизайнер Период: 2025 — настоящее время Продукт: Telegram-бот + PWA для учёта режима младенца Платформа: Telegram (Bot API + Mini Apps) Команда: 1 человек

Mom's Helper — Telegram-бот и PWA для учёта кормлений и сна младенца. Я сделал его как родитель: существующие трекеры требуют регистрации и 3–5 нажатий, а это барьер, когда ребёнок на руках и есть только несколько свободных секунд. Бот сам определяет ситуацию и показывает одно нужное действие: запись занимает ~5 секунд против ~20 у конкурентов (самозамер).

Ключевые результаты:

Время на запись

~5 сек

У конкурентов ~20 (самозамер)

Конверсия в онбординг

~10%

В чате мам (≈20 из 200)

v1

Только бот

Пользователи пришли без рекламы

v2

Бот + PWA

Проверена на себе

Обложка кейса «Mom's Helper»: экраны PWA в тёмной теме — главная, шторки записи, история, статистика и настройки

Контекст

В июне 2024 у меня родился сын.

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

Первые 20 человек, прошедших онбординг, дали положительные отзывы, и я увидел в продукте кейс. Опыта продуктового дизайнера у меня не было, поэтому я создал его сам: довёл продукт от исследования до работающей версии.

Моя роль в проекте

Исследование, проектирование, дизайн и продуктовые решения я делал сам, без команды.

Ресурсы

  • Время разработки до текущей версии (v2.19.140): ~4 месяца активной работы параллельно с основной работой и маленьким ребёнком
  • Бюджет на инфраструктуру и ИИ-инструменты: ~$300 (VPS, БД, Coolify, Claude, Cursor)
  • Команда: 1 человек

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

Бота я начинал делать в чате с ИИ, потом перешёл на VS Code и Claude Code.

Метрика, которую хотел улучшить

Время на запись — это время от решения «записать кормление» до сохранённой записи. У конкурентов это ~20 секунд. Это критично, когда ребёнок кричит и руки заняты.

Проблема

Откуда взялась

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

Данные

Я сравнил четыре популярных приложения: Baby Tracker, Glow Baby, Baby Connect и The Wonder Weeks.

Таблица сравнения: Baby Tracker, Glow Baby, Baby Connect, The Wonder Weeks и MVP по регистрации, синхронизации, времени до первой записи и числу нажатий
Сравнение с конкурентами: у них запись сна или еды — 3–5 нажатий, в MVP — одно
КритерийКонкурентыПроблема
РегистрацияОбязательная (email / Apple ID)Барьер на входе
Время до первой записи20–60 сек (онбординг)Слишком долго с ребёнком на руках
СинхронизацияЧерез приглашения по email (часто с задержками)Второй родитель выпадает из процесса
Ввод данных3–5 нажатий (выбор типа → объём → время)Когнитивная нагрузка при недосыпе
РекламаАгрессивная, блокирует функцииРаздражает

Вывод из сравнения

Все конкуренты проектировали для «спокойного родителя за столом». Мой пользователь — «измотанный родитель в 3 ночи с ребёнком на руках». Регистрация, навигация, лишний тап в обычном состоянии незаметны. В недосыпе каждый такой барьер останавливает.

Исследование

Глубинные интервью

Я провёл 5 интервью с родителями детей до 9 месяцев.

Критерий отбора: используют или пробовали использовать трекеры.

Ключевые вопросы:

  • Как вы сейчас фиксируете кормления и сон?
  • Когда данные теряются?
  • Почему перестали пользоваться трекером (если перестали)?
  • Что должен делать идеальный трекер?
Синтез глубинных интервью с родителями
Синтез глубинных интервью с родителями

Синтез интервью

БольЦитатаРешение
Когнитивная нагрузка«Мой мозг перестал работать после родов»Один тап = одно действие
Долгий путь к записи«Пока найдёшь приложение, ребёнок уже орёт»Telegram уже открыт
Проблема синхронизации«Муж не знает, что я уже кормила час назад»Общий чат = мгновенная синхронизация
Регистрация«Ещё одно приложение с паролем — нет»Вход через Telegram ID без регистрации
Реклама«Оно показывает рекламу, когда ребёнок не спит»Никакой рекламы

JTBD — Job-to-be-Done

Из интервью я сформулировал три ключевых Job Story:

Job 1 (основной)

Когда ребёнок только что поел или уснул и у меня есть 5 свободных секунд, я хочу быстро записать событие, чтобы не держать его в голове и не путаться.

Job 2

Когда муж или жена берёт ребёнка, я хочу, чтобы второй родитель автоматически видел последнее состояние и нам не приходилось передавать информацию словами.

Job 3

Когда педиатр спрашивает, как младенец спит и ест, я хочу показать ему точную статистику, чтобы врач мог принять правильное решение.

Гипотезы и их проверка

Часть гипотез я сформулировал до проектирования, часть появилась по ходу работы. Проверял их на работающем боте.

ГипотезаКак проверялРезультат
Если перенести учёт в Telegram, время на запись упадёт до <5 секЗапустил бота, замерил время на ~10 людях (родственники и друзья, iOS)✅ ~5 сек против ~20 у конкурентов
Родителям нужен выбор конкретного бренда смеси из-за разницы в дозахСделал онбординг с выбором брендов, изучил дозировки❌ Дозировки у ведущих брендов одинаковые. Убрал выбор и упростил онбординг
Классическое нижнее меню (Reply) удобнее для навигацииПроверил отображение на iOS и Android❓ На части устройств клавиатура отображается нестабильно
Родителю важно видеть, сколько ребёнок должен есть в его возрастеВзял средние показатели по больнице и вывел норму в сообщении при записи кормления✅ По личному опыту: мы с женой следили за числом кормлений и объёмом. Влияние на удержание не измерял

❌ Про смеси

Пользователи просили добавить конкретные бренды смесей. Я изучил дозировки и убрал этот выбор совсем: разницы между брендами нет, а лишний шаг в онбординге создаёт барьер.

❓ Про меню

Клавиатура отображалась нестабильно из-за совместимости с платформой, сам сценарий был правильным. Переход на Inline-кнопки сохранил логику взаимодействия, но потребовал переделать весь интерфейс бота.

Вывод: проверять совместимость с платформой нужно до проектирования интерфейсных компонентов.

v1 — MVP: только Telegram-бот

Первая версия продукта — только бот, без PWA. Вся логика и весь интерфейс внутри Telegram.

Онбординг в боте

Согласие → Создание ребёнка → Дата рождения → Тип питания → Часовой пояс → Ночной режим → Подтверждение.

В Telegram не нужна регистрация, поэтому эти вопросы можно задать: пользователь ещё не устал от форм. Часовой пояс — единственное поле, которое подставляется автоматически, остальное можно поменять позже.

Онбординг в Telegram-боте: согласие, дата рождения, ночной режим, проверка данных
Онбординг в Telegram-боте

Бот сам определяет, что нужно сейчас

Вместо привычного дерева экранов я спроектировал линейный сценарий, который зависит от состояния ребёнка (State-Aware Flow). Бот сам выбирает точку входа и показывает единственное действие, которое нужно сейчас.

Проблема стандартного подхода

Каждый раз: Вход → Добавить → Выбор действия → Форма с полями. Это 3–5 нажатий и когнитивная нагрузка.

Моё решение

Всё построено на Inline-кнопках и текстовых сообщениях. Без собственного интерфейса это максимум того, что даёт Telegram.

Что бот показывает при записи кормления:

  • Норму по возрасту прямо в сообщении: родитель видит «220 мл — норма» ещё до ввода
  • Последние кормления как контекст
Главное меню бота в четырёх состояниях ребёнка
Пользователю не нужно думать, что нажать: на экране уже одно нужное действие.
Запись кормления и сна в боте: тип кормления, таймер, время засыпания, итог
Запись кормления и сна в боте: тип кормления, таймер, время засыпания, итог

Метрики — v1

Я проводил измерения сам и на малой выборке. Это проверка MVP, формального юзабилити-теста не было.

МетрикаРезультатКонтекст
Время на запись~5 сек против ~20 у конкурентовСамозамер + ~10 человек на iOS
Конверсия в онбординг~10% (≈20 из 200)Чат мам, где состояла моя жена; лично они нас не знали. Без рекламы. Данные v1, MVP отключён
Демо флоу фиксации кормления
Демо флоу фиксации кормления

v1 → v2: почему добавил PWA

MVP подтвердил гипотезу: бот работает как инструмент быстрой записи. Но в использовании проявилась граница: с «глубокими» функциями бот не справляется.

Что не помещалось в бота:

  • История событий за несколько дней. В боте это либо бесконечная лента сообщений, либо кнопки навигации по неделям, и в обоих случаях листать события в чате неудобно
  • Статистика. Отдельные блоки по кормлению и сну в сообщениях, без визуализации и сравнения периодов
  • Настройки. Они занимали много экранов бота

Всё это было сделано и проверено в v1. Сам формат чата не подходит для такого взаимодействия: аналитике и настройкам нужен экран.

Решение

БотPWA
Быстрая запись (Job 1, Job 2)Аналитика и контекст (Job 3)
УведомленияИстория, статистика, настройки
Работает в фонеОткрывается, когда нужна глубина

Бот стал проще: часть функций ушла в PWA. Она взяла на себя всё, что требует экрана и времени.

Настройки ребёнка переехали из модалок на отдельный экран. Первую версию раздела «Настройки» в PWA я собрал быстро и без продуманной структуры: несколько отдельных модалок (уведомления, доступ, профиль, режим дня), лишь бы функция была.

Когда редизайн дизайн-системы дошёл до этого раздела, встал вопрос формы. Настроек ребёнка оказалось больше, чем контента в остальных разделах приложения, а шторка (паттерн для быстрых действий с малым числом шагов) для такого объёма не подходила.

Решение: я вынес настройки ребёнка на отдельную полноэкранную страницу, а в самой форме оставил только необходимые поля.

Это плановая зачистка технического долга: дизайн-система дошла и до этого раздела.

v2 — Бот + PWA (в тестировании)

PWA не дублирует бот. Её задача — показать, что произошло, и дать контекст. Бот отвечает за запись (скорость), PWA — за статус и анализ (глубину).

Общие паттерны

Сводка (дашборд) → История → Статистика → Настройки — четыре вкладки нижней навигации. Порядок повторяет частоту использования: сводку открывают чаще всего, статистику реже, настройки редко.

Навигация PWA: хедер с контекстом и темой, четыре вкладки внизу
Навигация PWA: четыре таба

Три паттерна я закрепил как правило для всего приложения, чтобы не выбирать их каждый раз заново:

ПаттернКогда использовать
Полный экранКонтент большой, нужна навигация внутри, пользователь задерживается
ШторкаБыстрое действие с небольшим количеством шагов, возврат назад
ПопапПодтверждение, форма из 1–2 полей, необратимое действие

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

Страница: Дашборд

Хедер

Хедер решает три задачи одновременно: контекст, доступ и персонализация.

По тапу на иконку и имя ребёнка сразу открываются настройки профиля. Рядом кнопка смены ребёнка: она появляется, только если детей больше одного, иначе не занимает место.

Переключатель темы я вынес в хедер намеренно: тему меняют часто, поэтому ей не место в настройках.

Статус-карточки и персонализация

  • Статус-карточки «следующее действие». Приложение само считает и показывает «Через 1 ч 20 мин — около 14:45»
  • Карточка возраста и периода развития. Объясняет, почему ребёнок ведёт себя именно так
  • Акцентный цвет под ребёнка. На Free цвет можно задать одному ребёнку, в Premium у каждого ребёнка свой. По цвету сразу видно, какой ребёнок активен
  • Светлая и тёмная тема. Выбирает пользователь

Логика статус-карточек:

Каждая показывает два числа: сколько осталось до события, чтобы оценить, скоро ли оно, и в котором часу оно будет, чтобы привязать его к привычному времени. Обе карточки равнозначны — это не иерархия кормление > сон, а плотность данных.

Дашборд PWA: статус, быстрая запись, итог дня
Дашборд PWA со статус-карточками
Дашборд в четырёх состояниях: покой, идёт сон, идёт кормление, без подписки
Дашборд в четырёх состояниях: покой, идёт сон, идёт кормление, без подписки

Быстрая запись — разделение обязательного и настраиваемого

Блок прошёл несколько итераций, прежде чем сложился в текущий вид. Пара «Кормление + Сон» всегда закреплена сверху: это два самых частых действия (Job 1), и их доступность не должна зависеть от настроек пользователя.

Ниже — до четырёх настраиваемых кнопок для второстепенных действий. Набор у каждого родителя свой: кому-то важен «Подгузник», кому-то «Прогулка».

Состав и порядок кнопок я вынес в отдельную шторку. Если разрешить менять их прямо на дашборде, одна и та же кнопка становится и «нажми — запишется», и «нажми — настроится», и непонятно, в каком она сейчас режиме. Шторка явно разводит эти два состояния.

Порядок внутри шторки меняется перетаскиванием пальцем. Стрелки ▲▼ технически работали, но выбивались из остальных прямых жестов приложения: свайпов шторок и перетаскивания карточек в «Статистике».

Сетка подстраивается под число включённых кнопок (1–4 колонки), поэтому пустых мест под выключенные кнопки нет.

Шторки настройки быстрой записи и дневной статистики: переключатели и перетаскивание для порядка
Шторки настройки быстрой записи и дневной статистики: переключатели и перетаскивание для порядка

Тот же принцип я применил к кнопке смены ребёнка в хедере: если решение не готово, временно убрать его, а не латать. В попапе выбора был шеврон «настройки ребёнка». Выяснилось, что иконка не сообщает о своей функции, а для активного ребёнка вообще не срабатывает, и я убрал шеврон целиком.

Страница: Фиксация кормления и сна

Здесь шторка, по тому же правилу, что и везде в приложении: действие короткое, шагов мало, после него пользователь сразу возвращается на дашборд. Паттерн я взял из анализа банковских приложений: шторка открывается поверх экрана, закрывается свайпом и не требует возврата назад.

Табы внутри шторки нужны потому, что у каждого типа кормления свои параметры ввода: у смеси объём, у груди сторона, у таймера запуск, пауза и стоп. Табы разделяют три разные формы внутри одного действия.

Кормление грудью с таймером: старт, таймер идёт, шторка закрыта, записано
Фиксация кормления в PWA: шторка с табами
Фиксация сна в PWA: «Уснул сейчас» и запись прошлого сна
Фиксация сна в PWA
Редкие события: «Другое» → замер веса → карточка на дашборде
Редкие события: «Другое» → замер веса → карточка на дашборде

Страница: История

Free: последние 7 дней, редактирование только за сегодня. Premium: 90 дней, навигация по месяцам, редактирование за 3 дня. Лимиты — часть модели монетизации, интерфейс от тарифа не меняется: пользователь видит одну и ту же структуру (группировка по дням, редактирование) на обоих тарифах, разница только в глубине.

Крайние случаи: пустой день, баннер Premium при достижении лимита.

История: фильтр по типам, редактирование и удаление записи внутри шторки
История: фильтр по типам, редактирование и удаление записи внутри шторки
Premium без подписки: тарифы, ранняя история и приглушённые функции
Premium без подписки: тарифы, ранняя история и приглушённые функции

Страница: Настраиваемая статистика

Бар-чарты по дням: кормления (грудь и смесь) и сон (ночной и дневной). Период — неделя или месяц. Для педиатра есть выгрузка в Excel.

Страница состоит из трёх независимых слоёв, у каждого своя настройка.

Карточки-показатели. Все доступные показатели (кормления, объём, сон, подгузники и ещё 8 будущих метрик) собраны в отдельной шторке с переключателями и перетаскиванием для порядка. Готовые метрики работают сразу. Неготовые показаны в том же списке притушенными, с бейджем «скоро»: их видно, но рабочими они не притворяются.

Это правило появилось после конкретного промаха: кнопка «Прикорм» выглядела полностью готовой, но по тапу ничего не происходило, и пользователь не мог отличить баг от «пока не сделано».

С тех пор правило одинаково действует для всех типов событий везде, где они встречаются: в быстрой записи на дашборде, в выборе типа события и в карточках статистики.

Графики. Одновременно можно показать до 3 графиков. Для каждого отдельно выбирается метрика (только из тех, где есть данные по дням) и вид: столбцы или линия. Дублирование я предотвратил заранее: метрику, которую уже занял один график, нельзя выбрать в другом. Вместо сообщения об ошибке постфактум её просто невозможно совершить.

Сравнение периодов я не добавлял для галочки: оно прошло полный цикл итераций за одну сессию. Требование выросло из Job 3 (показать педиатру динамику): «если закралось подозрение, что ребёнок стал меньше есть или спать — увидеть разницу».

Сначала сравнение включалось отдельным тумблером, потом я его убрал: сравнение с предыдущим периодом теперь включено всегда, выключить его нельзя. Одна шкала без сравнения почти ничего не говорит, а по двум периодам видна тенденция.

Контрол сравнения сначала был внутри карточки первого графика. Когда появился второй график, он переехал в общую шапку страницы, потому что относился к обеим карточкам сразу.

Во всех трёх слоях работает один паттерн настройки: шторка со свичами и, где нужно, drag-реордер. Это одно решение на разный контент страницы вместо трёх случайных.

Статистика: показатели, шторки настройки карточек и графиков, экран без подписки
Статистика: показатели, шторки настройки карточек и графиков, экран без подписки

Дизайн-система

Продукт построен на shadcn/ui (примитивы Radix UI) поверх собственного слоя токенов и компонентов.

Почему shadcn/ui:

  • Компоненты копируются в проект: код полностью под контролем, зависимости от внешней библиотеки нет
  • Примитивы Radix UI дают доступность из коробки
  • Tailwind и CSS-переменные упрощают управление темой

Шрифт системный, типографика своя. Собственного шрифта нет: приложение использует системные шрифты платформы (-apple-system/Segoe UI/Roboto, в проекте нет ни одного @font-face).

При этом размеры и начертания собраны в одну последовательную шкалу, от мелких подписей и лейблов до крупных акцентных чисел на статус-карточках. У каждой ступени понятная роль, случайных значений на отдельных экранах нет.

Акцентный цвет привязан к ребёнку, от темы он не зависит. Цвет можно настроить и на Free, но только для одного ребёнка: Free ограничен одним профилем. Premium снимает именно это ограничение. Детей может быть несколько, и у каждого свой цвет из 6 вариантов.

При переключении активного ребёнка цвет переопределяется через CSS-переменную. Весь UI-кит и собственные компоненты перекрашиваются сразу, заходить в настройки темы не нужно.

Цвет виден и в боте: в шапке главного меню стоит цветной кружок, который меняется вместе с активным ребёнком. Так цвет решает две задачи: персонализацию и быструю ориентацию. Если детей двое и больше, по цвету сразу понятно, кто сейчас выбран, имя читать не нужно.

В данных цвет хранится как токен: в базе лежит семантический ключ («pink»), hex-кода там нет. Конкретный оттенок целиком задаёт тема PWA, поэтому смена оттенка не требует миграции данных.

Акцентный цвет ребёнка: стандартный, синий, зелёный, розовый — в светлой и тёмной теме
Акцентный цвет ребёнка: стандартный, синий, зелёный, розовый — в светлой и тёмной теме
Несколько детей: список профилей, добавление, выбор цвета, выбор профиля после окончания подписки
Несколько детей: список профилей, добавление, выбор цвета, выбор профиля после окончания подписки

Компромисс: «чистые» примитивы shadcn (Select, Popover, Calendar) используют статичные дизайн-токены и не подхватывают акцентный цвет. Они остаются фиолетовыми при любом цвете ребёнка. Риск задеть уже работающие элементы не оправдывал исправление ради идеальной картинки на некритичных элементах управления.

UI-кит — своя надстройка над shadcn. Базовые интерактивные элементы (кнопка, кнопка-иконка, аватар, бейдж) я вынес в собственный слой. Он повторяет паттерн shadcn, но работает на своих CSS-переменных вместо статичных токенов shadcn, иначе тема и акцентный цвет ребёнка не работали бы в новых компонентах.

Цель — одна точка изменения: радиус или цвет правится в одном файле и сразу применяется везде, без ручной правки каждой страницы.

Тему пользователь переключает вручную, по системе она не определяется. Светлая и тёмная темы сделаны на CSS-переменных, переключатель в хедере.

Кому-то в целом нравится светлая тема, но ночью нужно быстро убрать яркость экрана. Переключатель позволяет сделать это сразу при входе в приложение, независимо от системных настроек телефона. Автоматическое определение темы по системе технически возможно, но пока не сделано: без проверки на пользователях не вижу смысла добавлять эту сложность заранее.

Светлая и тёмная тема на одних и тех же компонентах
Светлая и тёмная тема на одних и тех же компонентах

Документация системы — рабочий инструмент проверки. Токены, компоненты и соответствие переменным Figma сведены на одну страницу, и я постоянно сверяю её с реальным кодом. Документация описывает то, как есть на самом деле.

Такая сверка уже находила настоящие расхождения между документацией и рабочей версией. Например, у BottomNav не было фокус-кольца, хотя у всех остальных интерактивных компонентов оно есть. Баг всплыл, когда я сводил всё в одну систему. Подробнее о том, как устроена документация и что она нашла, — на странице дизайн-системы.

Дизайн-система: три уровня токенов, темы режимами коллекции, палитра ребёнка
Дизайн-система: три уровня токенов, темы режимами коллекции, палитра ребёнка
Дизайн-система: компоненты со всеми состояниями
Дизайн-система: компоненты со всеми состояниями

Почему так

UI

  • Фиолетовый как основной цвет. Он стоит между синим и розовым и не привязан к полу ребёнка. Родитель может сразу сменить цвет под своего ребёнка, это доступно без Premium.
  • Размеры под палец. Размеры кнопок и шапок я взял из норм iOS и Android. До этого я проектировал сайты и внутренние системы, а мобильный интерфейс хотел освоить на живом продукте.
  • Плотность как в банковских приложениях. Я считаю их удобными: мало текста, крупные кнопки, понятные с первого взгляда. У родителя с ребёнком на руках нет времени искать и читать.
  • Системный шрифт. Так принято в приложениях на разных платформах: на iOS, Android и в вебе приложение выглядит родным.
  • Скругления. За основу взял радиус из shadcn, а дальше подгонял так, чтобы вложенные друг в друга скругления сочетались между собой.
  • Зелёный для активного кормления и сна. Это привычный для людей сигнал «идёт сейчас».
  • Отступы. Шкала отступов из shadcn и Tailwind, без своих значений.

UX

  • Из онбординга убрал индикатор прогресса. В сообщении Telegram он добавлял шум и смещал акцент с вопроса на полоску.
  • Убрал шаг «спит или бодрствует». Изменилась логика записи, а онбординг стал короче.
  • Убрал экран пробного периода из онбординга. Он приходит позже автосообщением, лишний шаг на входе не нужен.
  • Отключил выбор языка. Не тратил время разработки: юридические документы были только на русском, их пришлось бы переводить.
  • Экран согласия стоит первым. Это требование закона (152-ФЗ).
  • История на 90 дней в Premium. По моим ощущениям, родитель пользуется приложением первые 9–12 месяцев жизни ребёнка. За это время всё быстро меняется, а запись трёхмесячной давности почти никому не нужна.
  • Запись кормления и сна не упрощал дальше. Я проверил её на себе, лишних полей в ней нет.

Что не сработало

Фидбек первых пользователей не отражал реальных проблем

20 первых пользователей знали мою жену по общему чату, и их просьбы шли от желания помочь, реальной боли за ними не было. Просьба про выбор бренда смеси (см. «Гипотезы и их проверка») как раз оттуда. Я научился отличать «хотелки» от реальных проблем.

Медицинские данные — юридический барьер

Я хотел добавить медицинский блок: прививки, визиты к педиатру, историю болезней. Данные о диагнозах и прививках в России относятся к специальным персональным данным (152-ФЗ, ст. 10), для их обработки нужны отдельная инфраструктура и сертификация. Этот блок я отложил. Пока в продукте только бытовые данные: кормление, сон, замеры.

Бизнес-модель

Продукт построен как подписка. Free закрывает основную задачу: один ребёнок, запись кормления и сна, история за 7 дней. Premium снимает ограничения:

  • история за 90 дней;
  • неограниченное число детей;
  • добавление родителей и нянь;
  • расширенная статистика;
  • детальные графики и аналитика.

Цены: 199 ₽ в месяц, 499 ₽ за 3 месяца, 1 599 ₽ за год. Ориентир по цене — месяц стоит как чашка кофе. Платил бы родитель, который ведёт учёт. Платёжный сценарий я проверил в боевом режиме: оплатил подписку сам.

Почему продукт пока не в публичном релизе. Публичный запуск требует времени и вложений, а сейчас мои силы уходят на поиск работы. Идею запуска я не отменял. Прежде чем выпускать, нужно ответить на два вопроса:

  • Платформа. Вход в продукт построен на Telegram: без регистрации и паролей, так я его задумал. Доступ к Telegram в России ограничивается, и опираться на него одного для публичного запуска рискованно. Эту зависимость можно убрать на этапе разработки: вход в PWA вынести из Telegram, а бота оставить для уведомлений.
  • Данные. Прививки, заболевания и диагнозы относятся к специальным персональным данным (152-ФЗ, ст. 10), для их хранения нужна отдельная инфраструктура. Сейчас в продукте только бытовые данные.

Выводы

Что сработало:

  • Бот сам определяет, что нужно сейчас: пользователь видит одно нужное действие вместо меню
  • Telegram как платформа: без регистрации и с мгновенной синхронизацией
  • Решения на основе данных вместо просьб пользователей (убрал выбор смеси)
  • Разделение ролей бота и PWA: скорость и глубина

Что бы поменял

  • Проверил бы отображение Reply-клавиатуры до проектирования сценария. На части устройств она отображалась нестабильно, пришлось переделывать весь слой бота на Inline-кнопки.
  • Фиксировал бы фидбек MVP формально. Первые 20 пользователей знали мою жену по общему чату, и без записи, кто и о чём просил, я не мог отделить заботу от реальной проблемы.
  • Раньше выделил бы PWA в отдельный слой. История, статистика и настройки не помещались в чат, я это понял только по использованию.

Что доделал бы дальше

  • остальные типы записей, где сейчас заглушки;
  • календарь скачков развития и советы по возрасту ребёнка.

Кейс обновляется по мере развития продукта. Последнее обновление: 2026-10-12