Сложные решения

Что было неочевидным — и как решилось

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

Три школы на одной системе — и обновление достаётся всем сразу

Очевидный путь

Скопировать готовый трекер, перекрасить под новую школу и вести две копии кода.

Что сделано

Общая логика вынесена в одну кодовую базу. Школа получает свой бот, свою базу, свой домен и свою тему — а поведение общее.

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

ИИ отвечает клиентам сам — но всегда помечает свои сообщения

Очевидный путь

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

Что сделано

Каждый ответ ИИ помечен значком внутри CRM, а рядом — кнопка «Пауза ИИ». Команда всегда видит, что написал человек, а что автоматика.

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

Длинная аудиопрактика больше не подвешивает весь сайт

Очевидный путь

Отдавать аудио так же, как страницы, — самим приложением. Работает же.

Что сделано

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

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

Бот не присылает одно и то же напоминание дважды

Очевидный путь

Пропала на неделю — отправить заготовленный текст «мы скучаем». Один текст на всех.

Что сделано

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

Одинаковое сообщение во второй раз читается как рассылка робота — и человек окончательно перестаёт открывать бота. Ротация вариантов стоит одной маленькой таблицы, а разница в том, вернётся участница или отвалится.

Ни одно сообщение из Telegram не теряется

Очевидный путь

Запоминать номер последнего обработанного сообщения и игнорировать всё, что меньше.

Что сделано

Запоминается каждое сообщение по отдельности. Пришло с опозданием и не по порядку — всё равно будет обработано ровно один раз.

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

Где: оба трекера и CRM

Тренировка подстраивается под самочувствие, а не под календарь

Очевидный путь

Составить план на неделю и вести человека по нему: понедельник — ноги, среда — спина.

Что сделано

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

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

Где: Forma

В вашем проекте наверняка есть похожая развилка

Обсудить в Telegram @valter_valter · отвечаю лично