LOVI: CRM для бьюти-салонов, выросшая из дашборда владельца
От P&L-дашборда салона до CRM с онлайн-записью и предоплатой
Задача
Салон head spa вёл запись в YCLIENTS, но не видел управленческой картины: P&L, маржу на час мастера, потери на пустых слотах и неявках. Задача — сначала посчитать экономику салона, а затем дать CRM, которая эти потери закрывает. Первый пилот — спа-салон массажа головы в Москве.
Что сделали
Что было
Первый пилот LOVI — салон head spa и массажа в Москве. Салон вёл запись в YCLIENTS. Система давала операционные данные, но не управленческую аналитику: P&L, эффективность мастеров, реальную маржу.
У салона своя экономика, которую стандартная CRM не видит. Мастера работают за фиксированную ставку за смену плюс бонус. Часть клиентов приходит через агрегатор Fitmost со скидкой 35%, абонементы продаются со скидкой 30%. Парные программы требуют двух мастеров в смене.
Задача — понять, где салон зарабатывает и теряет деньги, а затем дать инструмент, который эти потери закрывает.
Как продукт вырос из дашборда в CRM
Продукт прошёл три шага, и каждый опирался на данные предыдущего.
Шаг 1. Insalon — дашборд владельца (апрель 2026 года). Управленческий модуль поверх YCLIENTS. Главная метрика (North Star) — CM/LH: маржинальная прибыль на оплаченный час мастера. В систему загрузили 1519 записей из YCLIENTS, 1584 транзакции расчётного счёта и 2000 транзакций карты.
Что появилось в дашборде:
- P&L по салону, очищенный от личных расходов и других проектов;
- эффективность мастеров по сменам и учёт двойных смен;
- ведомость и расчёт ФОТ с авансами и бонусами;
- обязательства на месяц с автоматическим сопоставлением платежей из выписок;
- 7 автоматических проверок качества данных за месяц.
Шаг 2. Онлайн-запись и LOVI.today (май 2026 года). Сначала появился свой виджет записи с реальными слотами, выбором мастера и предоплатой через ЮKassa. Затем — витрина «горящих окошек» по модели yield management (управление доходностью, как у авиакомпаний и отелей). Пустой слот выставляется со скидкой, клиент вносит 100% предоплату, салон заполняет расписание.
Скидка зависит от времени до визита. Больше суток — 10%, от часа до суток — 15%, меньше часа — 40%. Для премиальных и популярных услуг работают отдельные стратегии. Слоты показываются, только если до визита больше 60 минут — клиент должен успеть доехать.
Параллельно собрали аналитику плотности конкурентов: 176 объектов в 17 зонах четырёх районов ЮЗАО по данным 2GIS.
Шаг 3. LOVI Core и LOVI Business — собственная CRM. Единое ядро записи и CRM для салона поверх него. Салон переезжает из YCLIENTS импортом: мастера, услуги, клиенты, вся история записей, сертификаты и абонементы. Импорт идемпотентный: повторный запуск обновляет данные, а не создаёт дубли.
Что умеет LOVI Business
- Запись. Шахматка и недельный вид, защита от двойного бронирования, перенос, смена мастера и поиск ближайшего свободного окна.
- Предоплата. Правила по дням недели, таймер оплаты, статус «не подтверждена» вместо удаления записи. После неявки следующая запись требует 100% предоплаты, а клиент получает тег «Не приходит».
- Парные программы. Обязательная предоплата, приглашение второго гостя по ссылке, общая оплата двух мастеров.
- Деньги клиента. Сертификаты с PDF, абонементы на визиты или баланс, личный счёт с кэшбэком, который сгорает через 14 дней.
- Коммуникации. Напоминания, подтверждения, запрос отзыва, возврат клиента и поздравления с днём рождения. Каналы — SMS, email, Telegram, WhatsApp и MAX.
- Рассылки. Конструктор аудитории, очередь, темп отправки, пауза и трекинг кликов.
- Команда. Расписание смен, права доступа и модуль расчёта зарплаты с учётом продавца и апсейла.
- Партнёры. Разбор PDF-отчёта Fitmost и сверка с визитами: агрегатор платит в конце следующего месяца одной суммой.
- Каналы записи. Кабинет клиента как PWA-приложение салона, онлайн-запись с аналитикой воронки, черновик интеграции с онлайн-записью Яндекс.Карт.
Где в продукте деньги
Для салона продукт считает и защищает маржу. CM/LH показывает прибыль на час мастера, а не просто выручку. Главная точка роста в документации — переход клиента со SPA-программы на массаж. Правила предоплаты бьют по неявкам, кэшбэк со сроком сгорания возвращает клиента, а сверка Fitmost ловит расхождения в выплатах агрегатора.
Для платформы модель заложена в витрине LOVI.today. Целевая комиссия — 15–20% с успешной брони. Следующие слои монетизации в планах — платная аналитика для салонов и единый абонемент. Для первых партнёров на посадочной заявлено 0% комиссии в первые 3 месяца.
Ключевые метрики витрины — IFR (доля заполненных горящих слотов) и прирост конверсии записи по сравнению со стандартным виджетом YCLIENTS.
Масштабирование упёрлось во внешний барьер. Публичное приложение LOVI в маркетплейсе YCLIENTS ждало модерации. Без него подключать новые салоны пришлось бы вручную, через логин администратора, — такой процесс не масштабируется.
Что получилось
Продукт работает в одном контейнере на Timeweb Cloud. Внутри nginx разводит четыре поверхности: витрину lovi.today, дашборд Insalon, CRM crm.lovi.today и её API. Два бэкенда работают с двумя отдельными базами PostgreSQL.
В ядре CRM — 224 HTTP-эндпоинта: запись, доступность, оплата, абонементы, кошелёк, зарплата и напоминания. Для переезда салона-пилота из YCLIENTS есть импорт всей истории.
Как команда из ИИ-агентов собрала продукт
LOVI сделан без штатных дизайнера и разработчиков. Я ставил задачи, принимал продуктовые решения и принимал результат. Дизайн, код и тесты писали ИИ-агенты.
- Сроки. По документации работа началась в апреле 2026 года: первый спринт Insalon — первая неделя апреля. Четыре отдельных репозитория позже собрали в монорепозиторий, их собственная история туда не перенесена.
- Git монорепозитория. Первый коммит — 19 августа 2026 года, последний — 13 октября 2026 года. Это 217 коммитов, сделанных в 19 разных дней; в пиковый день, 24 сентября, — 41 коммит. 69 коммитов помечены соавторством Claude.
- Память проекта в файлах. Контекст живёт в AI_BRIEF — его загружают в начале каждой сессии. Для разных задач есть стартовые промпты под роли: аналитик, разработчик, P&L, продакт-менеджер с метриками, воронками и юнит-экономикой без кода.
- Журнал решений. После каждой сессии с изменениями обновляются SESSION_LOG и обновляет BACKLOG с приоритетами P0–P2. Сессии логируются с длительностью и токенами, например 240 минут и около 180 000 токенов за одну сессию в мае.
- Правила для агентов. Читать файл перед правкой. Делать один шаг и сразу проверять его командой: запрос к API, сборка или поиск по коду.
- Решения оставались за человеком. На старте выбрали ступенчатую скидку, а не экспоненциальную: её проще объяснить и меньше рисков. Цену салона не зачёркивают, потому что это реальная цена, а не маркетинговый приём. Бэкенд сначала был общим с Insalon ради быстрого старта.
- Тест ядра. Вертикальный сценарий проверяет создание записи, конфликт с подсказкой ближайшего свободного окна, перенос, смену мастера, отмену, пересчёт доступности и журнал событий.
Стек: Python и FastAPI, PostgreSQL, React 19 на Vite с Tailwind 4 и TanStack Query, интеграции с YCLIENTS, ЮKassa, sms.ru и RuSender, Docker на Timeweb Cloud.