На главную

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.

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