Задача
В обычном PR команда вручную проходит длинную цепочку: мониторит новости, ищет повод, соотносит его с позиционированием компании, определяет спикера, формулирует угол подачи, ищет журналистов и проверяет их специализацию, собирает контакты, пишет каждому своё письмо, согласовывает текст, планирует отправку, отслеживает ответы и следит, чтобы не написать одному человеку дважды с неуместным предложением.
Каждое звено требует человека, который держит в голове контекст компании и рынка. Инструменты на рынке закрывают отдельные звенья — база журналистов отдельно, мониторинг отдельно, генератор пресс-релизов отдельно, — и стыковать их всё равно приходится руками. Отдельная сложность в том, что одна и та же новость для большинства компаний пустая, а для конкретного клиента — единственная за месяц возможность высказаться: релевантность нельзя посчитать «вообще», только относительно его тем, весов, конкурентов, региона и экспертизы спикеров.
Решение
Вся цепочка собрана в один управляемый процесс из девяти шагов, и каждый шаг живёт внутри чата с агентом.
Flow — это чат. Newsjacking, Announcement и Trade Pitch не открываются как несвязанные инструменты: каждый процесс — отдельная беседа. Внутри неё появляются структурированные карточки и редакторы, сверху идёт общий степпер этапов. Завершённая кампания остаётся доступной для чтения, к ней можно вернуться без потери контекста, но состояния разных кампаний не смешиваются.
Профиль компании как источник контекста. Онбординг собирает позиционирование, спикеров с их зонами экспертизы, прямых и косвенных конкурентов, разрешённые и нежелательные темы с весами, регионы, отраслевые издания и примеры текстов. Отдельно строится профиль стиля: платформа разбирает утверждённые тексты компании и вытаскивает тон, лексику, длину фраз и формулировки, которых надо избегать. Дальше он работает ограничением при генерации — письмо пишется голосом компании, а не голосом модели.
Непрерывный мониторинг. Бэкенд собирает корпус из RSS, Serper, NewsAPI, GNews и Firecrawl, вытягивает полный текст, нормализует заголовки, дедуплицирует и извлекает темы. Затем считаются два независимых балла: значимость новости самой по себе и релевантность именно этой компании. Для каждой истории в ленте сохраняется объяснение «почему это относится к вам» и происхождение данных.
Медиалист по личному beat, а не по бренду издания. Подбор учитывает do-not-contact, обезличенные редакционные адреса, статус верификации, текущее место работы, регион, должность, совпадение специализации с углом подачи, tier издания, недавние статьи как доказательство, паузу после прошлого контакта и лимит на число людей из одного издания. LLM-судья оценивает консервативно и смотрит на то, о чём человек реально пишет, а не на известность СМИ. В аудит попадают балл, причина, доказательства, модель, версия промпта и итоговое решение.
Три режима выката. Новая логика отбора включается в режиме off, shadow или strict. В shadow она считает и сохраняет результат, но не влияет на то, что видит клиент: версии сравниваются на реальных данных, пороги настраиваются заранее, и только потом решение попадает в клиентский путь.
Базовый питч, потом персонализация. Сначала пользователь утверждает общий смысл кампании — тему письма, зачин, главный тезис, факты, позицию спикера, призыв. Только после этого запускается адаптация под каждого журналиста: тема, первая фраза, отсылка к его недавнему материалу, связь с beat, тезисы, длина. Придумывать статьи персонализации запрещено — ссылки и утверждения сверяются с фактическим контекстом.
Человек перед отправкой. Customer Success может заблокировать поток на правку, поправить угол, медиалист и тексты, отправить тестовое письмо, вернуть запрос клиенту или одобрить кампанию. Пока идёт проверка, клиентские изменения блокируются; после снятия блокировки пользователь возвращается в корректное состояние.
Отправка и ответы. Одобренная кампания превращается в очередь: разнесённые во времени отправки, рабочие окна, часовые пояса, ретраи, собственные верифицированные домены. Входящий вебхук связывает ответ с кампанией, журналистом и веткой переписки и различает интерес, отказ, запрос деталей, автоответ, «не тот адресат» и отписку.
Архитектура. Go-бэкенд на chi и pgx — единый слой оркестрации: потоки и их state machines, сбор новостей, скоринг, журналисты, питчи, кампании, доставка, вебхуки, планировщик и воркеры. PostgreSQL — источник истины, Vespa хранит семантический индекс, фоновые задачи идут через очередь на самой Postgres с приоритетами, ретраями и подъёмом зависших задач после рестарта. Клиент — React и TypeScript, мобильная оболочка — React Native вокруг адаптивного веба. Модельный роутер не привязан к одному вендору: OpenAI, Anthropic, Gemini, DeepSeek, Perplexity; промпты и лимиты лежат в базе и меняются без релиза — дешёвые модели на классификацию и пакетный скоринг, сильные на стратегию.
Результат
Вместо набора разрозненных сервисов у пользователя один последовательный процесс: платформа понимает компанию, находит момент, помогает сформировать экспертную позицию, выбирает журналистов, пишет индивидуальные обращения, проводит их через проверку и отслеживает ответы.
Каждая из шести ролей получила своё. Основатель — упоминания без содержания PR-отдела и контроль над тем, что уходит от лица компании. Внутренняя команда коммуникаций — операционную систему вместо пяти вкладок. Спикер — сохранённые темы, credibility markers и варианты формулировок. Customer Success — возможность вмешаться в конкретный поток, а не переписывать кампанию с нуля. Data operations — каталог журналистов и изданий с обогащением и очередями ручной проверки.
Тяжёлую операционную работу — мониторинг, скоринг, сбор медиалиста, черновики писем — делает ИИ. Человек принимает решения: утверждает темы и спикеров, выбирает возможности и подтверждает отправку. Ни один неподтверждённый текст не уходит журналисту автоматически.
За простым интерфейсом стоит многоприложенческая архитектура с независимыми клиентским, серверным, административным, аналитическим и мобильным контурами. Двадцать модулей — от концепции и дизайн-системы до планировщиков, наблюдаемости и вывода в эксплуатацию — это одна поставка, а не набор проектов.