SEMVO, воронки и починка блога за день
За день починили интерфейс и поведение SEMVO, разобрали агентную воронку, укрепили SalesMachine, восстановили блог и проверили несколько системных фиксов.
Фокус дня
Куда ушло внимание за день — по объёму переписки в AgentChat, 72 сообщений всего.
- SEMVO — 36%
- Challenge — 17%
- SalesMachine — 14%
- Блог — 11%
- AgentChat — 8%
- Sentinel — 6%
- Token — 6%
- PULSE — 3%
SEMVO
SEMVO — это AI-приложение для быстрого знакомства, квалификации контактов и продолжения живого диалога. В нём мы смотрим на первые касания, профиль человека и то, как приложение ведёт диалог дальше.
Сегодня в SEMVO было сразу несколько точечных правок. Убрали лишнюю плашку «Отправлено» из интерфейса, добавили в самый низ настроек отдельный пункт App Store с переходом на витрину и проверили, что на мобильном он открывается корректно без горизонтального переполнения. Ещё исправили календарь в профиле: поле даты перестало вылезать за карточку на iPhone, добавили принудительное сжатие формы и контейнеров, обновили CSS-кэш до версии 58 и перезапустили SEMVO с внешним ответом HTTP 200.
Отдельно разобрали скорость отправки: нашли, что сообщение Игоря записалось в БД в 12:34:00, а сервер ответил телефону только в 12:34:05 — узкое место оказалось в синхронном переводе и отправке push. Параллельно проверили автозаполнение профиля по тексту в чате и подтвердили, что проблема не в минутной задержке, а в том, что распознаватель не учитывал конструкцию «Это Евгения».
Рекомендация на завтра: продолжить доводить автозаполнение профиля и распознавание имени по реальным формулировкам людей, а также закрепить мобильную проверку самых хрупких экранов, чтобы такие правки не возвращались. В целом SEMVO уже выглядит как продукт, где важнее стабильность поведения и аккуратность интерфейса, чем новые крупные фичи.
Challenge
Challenge — это ветка, где мы проверяем, живёт ли платная воронка, и решаем, стоит ли её дальше вести или лучше выключить. Здесь задача была не «подождать ещё чуть-чуть», а принять решение по фактам.
Сегодня сделали аудит последних трёх дней после фильтрации рекламы: клики, расходы, новые диалоги, счета и оплаты. По промежуточному выводу ждать дальше уже почти нечем оправдать: в окне были десятки кликов и ноль диалогов, то есть сигнал для продолжения воронки оказался слабым. После этого обсуждение ушло в сторону новой модели — агентной воронки «Договор.AI» внутри SEMVO.
Мы зафиксировали несколько важных решений по архитектуре. Решили использовать существующую CRM, не строить отдельную админку, и переиспользовать то, что уже есть в контуре AI-расписания: модель, бот-менеджер, supervision, платежи через Moscow, CRM и Courier. В итоговом плане «Договор.AI» должен вести человека от клика до оплаты, а затем до результата и автоматического контроля, без создания новых API-ключей, если текущая инфраструктура подходит.
Рекомендация на завтра: не распыляться на старую воронку, а спокойно переводить внимание на запуск «Договор.AI» как более сильный сценарий. Здесь уже видно, что нам нужен не косметический ремонт старого пути, а рабочая новая воронка с понятным контролем качества.
SalesMachine
SalesMachine — это продукт про созвоны и продажи, где важно не только поймать лид, но и довести его до подтверждённой встречи. По сути, это рабочий контур вокруг приглашений, слотов, уведомлений и подтверждений.
Сегодня снова сделали аудит того, почему до сих пор нет заявок на созвон. Проверили, что новая воронка действительно включена, а затем приняли важное решение: убрать Google Calendar и Telegram из этой ветки и сделать собственные «Созвоны» внутри SalesMachine. В этом контуре подтверждение клиента должно уходить как структурированное событие в собственный календарь SalesMachine, а не разъезжаться по внешним интеграциям.
Ещё уточнили механику уведомлений: при подтверждении созвона карточка должна появляться внутри приложения, а затем приходить два Web Push — сразу и за 5 минут. Это уже не про «доделать красивую интеграцию», а про упрощение системы до своего источника правды, чтобы не зависеть от Google Calendar и Telegram. Внутри ветки также обнаружили реальный результат после починки: уже создалось два scheduled-события сегодня, и это потребовало проверки на дубли.
Рекомендация на завтра: довести собственные «Созвоны» до полностью рабочей схемы и отдельно проверить, где возникают дубли и как их отсеивать. Здесь явно правильное направление — упростить контур и оставить только то, что реально помогает доводить человека до встречи.
Блог
Блог — это наш ежедневный автопостинг журнала и связанные с ним публикации, где важно, чтобы статья соответствовала фактам дня. Здесь мы не придумываем события, а проверяем, что текст совпадает с тем, что было в рабочих сессиях.
Сегодня разбирали сразу два класса проблем. Во‑первых, нашли причину, почему AI иногда пишет в блог не то, что реально было: он подставлял AgentChat там, где по факту использовалось другое приложение. Во‑вторых, расследовали странные одинаковые письма и выяснили, что это не две одинаковые подписки на блог, а письма от другого источника — то есть проблема была не в повторной подписке, а в трактовке канала уведомлений.
Отдельно восстановили публикацию и усилили деплой-процедуру: есть коммит на восстановление опубликованного поста за 11 сентября и коммит на жёсткое восстановление blog publisher deployment. Это хороший признак того, что мы не просто правим текст, а укрепляем сам путь публикации, чтобы журнал не ломался повторно.
Рекомендация на завтра: закрепить диагностику расхождений между источником событий и текстом статьи, чтобы следующий раз можно было не вручную искать причину, а быстро диагностировать её инструментом. Для живого журнала это важнее, чем ещё одна косметическая правка шаблона.
AgentChat
AgentChat — это мобильный рабочий интерфейс Олега для общения с AI-агентами и управления задачами. Через него идут повседневные правки, проверка экранов и работа с продуктами с телефона.
Сегодня здесь было две простые, но полезные правки. Скрыли синюю кнопку рядом с микрофоном, потому что связанная с ней функция временно приостановлена, а значит не должна сбивать пользователя. Ещё добавили точечную правку на главной: кнопка с четырьмя квадратиками в нижнем меню теперь ведёт напрямую в App Store, а не открывает внутреннюю шторку «Приложения».
Эти изменения не выглядят большими, но для живого мобильного интерфейса они важны: меньше лишних действий, меньше ложных кликов и меньше путаницы, когда какая-то функция временно не должна светиться в основном сценарии. АгентChat здесь выступает как рабочая оболочка, через которую удобно быстро проверять и скрывать ненужное.
Рекомендация на завтра: продолжать чистить мобильные сценарии от временно отключённых кнопок и лишних переходов, чтобы интерфейс не обещал того, что сейчас не работает.
Sentinel
Sentinel — это защитный контур вокруг публикаций и серверного пайплайна, который помогает не пропустить ошибки в выкладке и не сломать чужой результат. По этой ветке мы проверяем, где именно застревает публикация и что нужно укрепить.
Сегодня подтвердили, что Playwright тут не виноват, а реальная проблема оказалась в blog-publisher.service. После этого перешли к восстановлению зависшего выпуска за 11 сентября: исправляем ownership, собираем сайт, выполняем обязательный dry-run rsync --delete, а затем только при безопасном результате делаем реальный deploy и отдельно защищаем пайплайн от повторного ownership-конфликта и потери очереди.
Это как раз тот случай, когда продукт работает не на «новую фичу», а на надёжность всей системы. Обе статьи уже прошли QA, и дальше задача — не потерять уже восстановленный выпуск и не допустить повторения той же ошибки на следующей публикации.
Рекомендация на завтра: закончить восстановление выпуска и зафиксировать защиту пайплайна как стандартное правило. Для Sentinel сейчас важнее устойчивость, чем расширение функциональности.
Token
Token — это хранилище карточек и рабочих данных, где мы аккуратно заводим сущности вроде банков, сервисов и других объектов без вывода секретов. В этой ветке важно не дублировать уже существующее и не создавать лишнего.
Сегодня создавали отдельную карточку для «Райффайзен Банк — стикер» и проверяли, нет ли уже таких карточек в хранилище. По пути выяснили, что ManyChat уже существует как карточка №60, а по Chatfuel сначала не нашлось совпадения по названию, поэтому проверяли метаданные известной карточки №59 напрямую — только название и имена полей, без значений.
В итоге работа шла именно в режиме аккуратной инвентаризации: существующее не дублируем, отсутствующее создаём, а чувствительные данные не выводим наружу. Это полезный технический порядок, когда карточки постепенно становятся нормальной структурой, а не набором случайных записей.
Рекомендация на завтра: продолжить ту же дисциплину — сначала сверка по названию и метаданным, потом только создание новой карточки, если она действительно отсутствует.
PULSE
PULSE — это персональная AI-система энергии с ежедневными чек-инами, привычками и подпиской. В ней мы смотрим на мелкие UI-ошибки, которые портят повседневный ритм использования.
Сегодня по PULSE разбирали визуальные артефакты при скролле вверх на iPhone. Причины подтвердились на скриншоте: зелёный блок напоминания был полупрозрачным, из-за чего сквозь него читалась строка ниже; дальше проверили закреплённый блок при инерционном скролле и пошли по обычной цепочке «локализовать высоты, фон и z-index → исправить → повторить мобильный QA в тёмной теме».
Это не про новую функциональность, а про аккуратность интерфейса в реальном использовании. Такие баги особенно заметны в приложении, которое человек открывает каждый день, поэтому важно дожимать их до состояния, когда экран не «подтекает» и не сбивает взгляд при прокрутке.
Рекомендация на завтра: закрепить уже найденные правки и ещё раз прогнать мобильный сценарий скролла в тёмной теме, чтобы визуальный шум не возвращался.
Итог дня
День получился про приведение систем в порядок: где-то убирали лишние элементы интерфейса, где-то пересобирали воронки, где-то восстанавливали публикацию и защищали пайплайн от повторной поломки. Общий рисунок простой: меньше хаоса в контурах, больше своих правил и меньше зависимости от внешних интеграций там, где они уже мешают.
По ощущениям, день был не про один большой запуск, а про несколько важных развилок: старые воронки пересматриваем, рабочие интерфейсы шлифуем, а то, что уже продаёт и публикует, укрепляем. Это хороший технический день, после которого системы становятся чуть тише и надёжнее.
Что это меняет для следующего шага
Если смотреть на день целиком, то мы всё сильнее двигаемся от разрозненных действий к собственным контурам. В SEMVO мы правим поведение и распознавание, в SalesMachine — уводим созвоны внутрь продукта, в блоге — страхуем публикации, а в Sentinel — закрываем уязвимые места деплоя. Это не громкие перестройки, а последовательное снижение числа мест, где система может повести себя неожиданно.
Такой режим работы обычно не даёт красивой одной строки в отчёте, зато хорошо показывает, где продукт действительно становится устойчивее. И именно из таких дней потом складываются решения, которые уже можно переносить в другие ветки без повторного изобретения процессов.
Куда смотреть дальше
На ближайший шаг нам логично продолжать две линии. Первая — довести до устойчивости те экраны и сценарии, где уже есть реальные пользователи: мобильные формы, календарь, скролл, скрытие лишних кнопок. Вторая — не держаться за старые слабые воронки, а переносить энергию в более ясные сценарии вроде «Договор.AI» и собственных созвонов в SalesMachine.
Если интересно, как мы оформляем такие рабочие ветки в продукт и не теряем их в общей куче задач, можно посмотреть архитектуру продуктового контура.
Рассылка новых статей
Новые статьи — на email. Push приходит в приложение Blog. Telegram-рассылка отключена.
Чтобы получать статьи на email, сначала привяжите email в личном кабинете.
Уведомления в приложении: blog.olehov.com → колокольчик.
Получайте новые статьи и разборы
Подпишитесь через email — без спама, только новые материалы.