На главную

Рабочий день 29.09: SEO, оплаты и контуры

За день собрали план и основу для SEO-видимости, починили оплату и расширили рабочие экраны в AgentChat и LYSAK.

Фокус дня

Куда ушло внимание за день — по объёму переписки в AgentChat, 140 сообщений всего.

  • SEO — 29%
  • LYSAK — 19%
  • Token — 14%
  • SalesMachine — 13%
  • AgentChat — 10%
  • ClipForge — 6%
  • Courier — 4%
  • Disk — 3%
  • SEMVO — 1%
  • Challenge — 1%

SEO

SEO у нас — это не только сайт с видимостью, но и рабочий контур наблюдения за тем, как продукты и статьи проявляются в поиске и в AI-поиске. Сегодня мы разбирали именно интерфейс и логику этого контура: бейджи, обзор, дельты и понятный статус вместо набора сухих чисел.

Сначала Олег показал, что бейдж в приложении ведёт себя странно: на иконке он появляется, но внутри приложения пропадает, а внизу меню не привлекает внимание к нужной настройке. Мы не стали сразу править вслепую: сначала сверили текущую логику и экран, потом собрали план реализации, а затем уже перестроили SEO PWA так, чтобы «Обзор» сам вычислял состояние, сравнивал два последних снимка, показывал дельты, пять крупнейших движений и индексацию.

Параллельно мы разобрали скриншот про AI-видимость и перевели его в прикладной план для OleHov: четыре пилотных продукта, контрольные AI-вопросы, автоматический аудит упоминаний и вкладка «AI‑видимость» в SEO PWA. Отдельно зафиксировали, что это уже не просто витрина цифр, а единый статус, который должен отвечать на вопрос: всё растёт или нужно вмешаться.

Смотреть на это удобнее в связке с самим продуктом: SEO — это как раз тот контур, где мы собираем статус и не даём ему расползаться по разным экранам.

Рекомендация на завтра: продолжить доводить SEO PWA до состояния, где он не просто показывает данные, а сразу объясняет, что изменилось и что с этим делать.

Blog SEO статьи

С этим блоком мы сегодня выясняли не «как писать побольше», а как вообще превратить сайт в отдельный SEO-контур для статей. Важно было не путать это с текущим дневником: «Автоблог» на olehov.com — это журнал из AgentChat-сессий, а не поток статей под поисковые ключи.

Мы разобрали файл с SEO-методикой, поняли, что отдельного механизма статей под ключи на сайте пока нет, и собрали план MVP для нового типа контента. Потом пошли глубже: привязали идею к продуктам портфеля, обсудили карту болей, ключевые кластеры и формат «причина/следствие → как это работает → продукт как решение». В результате вместо абстрактной идеи получился конкретный маршрут к SEO-конвейеру с ежедневной автопубликацией под продукты OleHov.

Когда стало ясно, что текущий конвейер /guides/ уже может закрывать часть задачи, мы переключились на практику: использовать уже существующее приложение SEO, а не строить параллельный велосипед. Это важный момент — мы не просто обсуждали контент, а проверяли, где уже есть инфраструктура, чтобы не плодить лишнюю работу.

Рекомендация на завтра: продолжить собирать именно автоматический контентный контур, но опираться на уже работающий SEO-пайплайн, а не на отдельную ручную ветку.

LYSAK

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

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

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

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

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

AgentChat

AgentChat у нас — это мобильный рабочий интерфейс, через который Олег общается с агентами и запускает продуктовые изменения. Сегодня здесь было два больших направления: деньги Лысака в шапке и исправление возврата после оплаты.

Сначала мы спроектировали новый финансовый слой: вверху у AgentChat Лысак должен отображаться баланс, рядом — возможность пополнять его в рублях и видеть, сколько нейрокредитов получит пользователь. Мы сразу зафиксировали и ограничение: внутренний баланс Лысака должен жёстко ограничивать расход независимо от общего остатка в Router AI. Потом план подтвердили и повели в реализацию вместе с кошельком, проводками, разовой оплатой ЮKassa, Telegram/Courier и внешним readback.

После этого всплыл отдельный баг: при закрытии оплаты пользователь попадал на старую версию AgentChat. Мы не стали списывать всё на кэш, а пошли по фактическому сценарию на iPhone и выяснили, что проблема не в старом Service Worker, а в SameSite=Strict у cookie входа — возврат с домена ЮKassa ломал первый запрос. Это хороший пример того, как агент не просто меняет экран, а докапывается до реальной причины в цепочке возврата.

Если смотреть на продукт целиком, этот экран и нужен для таких сценариев: AgentChat становится рабочей точкой, а не просто чатом с сообщениями.

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

SalesMachine

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

Сначала мы нашли техническую причину, почему бейдж в приложении не показывал накопление: пуши отправляли фиксированный badge_count=1, поэтому иконка всё время оставалась с единицей, а не росла до двух. Одновременно выяснилось, что непрочитанный счётчик по вкладкам и событиям вообще не был нормализован, так что визуальный сигнал не отражал реальное состояние. Потом мы развернули весь план одним заходом и после внешнего readback подтвердили, что статус предупреждений стал честным — «Всё работает» вместо вечного предупреждения.

Отдельным заходом мы сделали аудит с поиском точки роста и нашли неочевидный результат: появились первые закрытия новой эпохи, где и вход одобрен AI-supervisor’ом, и стоп-лосс считался по вчерашнему R:R-фиксу. Важнее тут не цифры сами по себе, а то, что система начала показывать новый тип поведения, а не просто исправлять старые ошибки.

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

Token

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

Мы перенесли новую аудиодорожку с Диска в проект, обрезали вступительную тишину, не трогая внутренние паузы, и пересобрали ролик под свежую запись. Потом отдельно проверили итоговый файл: рендер шёл в фоне, а после завершения мы сверили длительность, тишину, кодеки, SHA-256, титр и наличие в разделе «Сборки», а также реальное скачивание с прода.

Итог в том, что ролик «Верь в себя» был собран и лежит в REMIX, а файл корректно отдаётся через скачивание. Здесь уже не было эксперимента — это был именно рабочий конвейер с заменой исходника на актуальную дорожку и контролем результата.

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

Коротко по остальному

ClipForge: через ClipForge начали прокладывать маршрут к сохранению Instagram/Reel в Диск, а потом добавили слой ИИ-редакции транскрибации, чтобы текст можно было читать нормально, а не в сыром виде.

Courier: по банковскому API подтвердили, что ключи и доступы выпускаются через личный кабинет банка, а вот обходить SMS/2FA не стоит — вместо этого ждём ответа банка по доверенным получателям, УКЭП или тарифу для автоплатежей без ручной верификации.

Disk: починили русские имена файлов при загрузке с iOS Shortcuts и добавили нормальное возвращение назад из PDF/фото/видео без необходимости сворачивать приложение.

SEMVO: на старте убрали лишний публичный лендинг у уже авторизованного пользователя и удержали экран до завершения проверки сессии.

Challenge: проверили статус ARENA и подтвердили, что отдельного обязательного шага сегодня уже нет — заявка отправлена, а событие было скорее контрольной точкой.

Итог дня

День получился очень прикладным: мы не делали «абстрактную разработку», а распутывали реальные пользовательские сценарии — где бейдж должен гореть, где календарь не должен вылезать, где оплата возвращает не туда и где данные должны соответствовать жизни. Самое заметное — мы одновременно укрепили несколько опорных контуров: SEO стал ближе к измеримому статусу, AgentChat и LYSAK получили более понятные рабочие экраны, а вокруг продаж и контента стало меньше догадок и больше проверяемых состояний.

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