Сборка завершена · 11.06.2026

РВП MVP собран

Рекламная воронка Performante AI: посетитель с рекламы сам доходит до оплаты — без созвонов и продажников. Анализирует свой Instagram, видит настоящие креативы под свой бизнес в демо-кабинете, платит через Робокассу. Всё проверено на 375px.

Лендинг Анализ Instagram Демо-кабинет Оплата Реальный аккаунт
Прогулка по воронке

Как это выглядит для клиента

Скриншоты — реальные экраны на мобильном (375px), снятые верификатором. Слева направо: путь от рекламы до создания аккаунта.

Ввод username
1

Ввод @username

Человек кликнул в рекламе → попал на лендинг → нажал «Попробовать» → здесь вводит свой инстаграм. Один шаг, ничего лишнего. Никакой регистрации.

Анализ профиля
2

Идёт анализ

Система читает профиль: «определяю нишу → собираю бриф → подбираю стиль». Живой прогресс на 20–60 секунд, чтобы человек видел, что работа реально идёт.

Карточка брифа
3

Готовый бриф

Карточка с тем, что система поняла о бизнесе: имя, ниша, город, услуги, аудитория, тон. Если что-то не так — клиент правит сам и жмёт «Сгенерировать креативы».

Генерация креативов
4

Генерация креативов

На основе брифа и фото из профиля система рисует 3 настоящих рекламных макета под этот конкретный бизнес. Прогресс-экран, потом — автопереход в кабинет.

Демо-дашборд обзор
5

Демо-кабинет · Обзор

Стиль TG Кошелёк: крупные карточки, нижнее меню, ноль жаргона. «Потрачено / заявки / цена заявки» простым языком. Подпись: «так будет выглядеть твой кабинет через 2 недели».

Демо-дашборд кампании
6

Кампании

2–3 кампании с понятными статусами («Работает», «Тестируется») и графиком цены заявки, который ползёт вниз. Цифры калиброваны под нишу клиента.

Демо-дашборд креативы
7

Креативы (настоящие)

Здесь — те самые 3 макета, которые система сгенерировала под этот бизнес. Это ключевой момент «вау»: человек видит свою рекламу до того, как заплатил рубль.

Демо-дашборд заявки
8

Заявки

Лента входящих клиентов с именами и статусами от WhatsApp-бота: «новая / бот ответил / передана тебе». Показывает, как продукт обрабатывает лиды.

Демо-дашборд деньги
9

Деньги

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

Paywall
10

Paywall

Любое реальное действие в демо (запустить кампанию, скачать креатив, ответить на заявку) упирается в мягкую модалку: «это заработает в твоём кабинете после запуска» → к тарифам.

Тарифы
11

Тарифы

Сетка тарифов. На время приёмки активен только тестовый план test-500 (оплата 500 ₸), боевые 49k/99k/299k включаются после твоего «да».

Контакт
12

Контакт перед оплатой

Поля для email/телефона — чтобы потом доставить логин и привязать оплату к аккаунту. Отсюда — редирект на форму Робокассы.

Успех
13

Оплата прошла

После успешной оплаты создаётся настоящий аккаунт, бриф и креативы переносятся в него, и человек попадает в боевой онбординг (подключение Facebook и т.д.).

Под капотом

Что собрано (для владельца)

Без технических деталей: что за компонент, что делает и в каком он состоянии.

КомпонентЧто делаетСтатус
Анонимная сессияЗапоминает посетителя без регистрации: его инстаграм, бриф, креативы. 1 бесплатная генерация на сессию.Готово
Анализ InstagramЧитает профиль через HikerAPI, понимает нишу/город/услуги, собирает бриф. Проверено вживую на @beautybar_almaty.Работает
Генерация креативовРисует 3 макета под бизнес через сервис генерации (funnel-режим). На проде ключ рабочий.Прод-ключ
Демо-кабинет5 табов в стиле TG Кошелёк, mock-цифры по нише + настоящие креативы клиента.Готово
Тарифы + checkoutСетка тарифов, контактная форма, обёртка над Робокассой (план test-500).Готово
Оплата → аккаунтПосле оплаты создаёт реальный аккаунт, переносит бриф и креативы. Webhook не сломал существующую логику (доказано тестом).Готово
База данныхТаблица funnel_sessions (миграция 275). Аддитивная — старое не трогает.Применить
Лендинг v29Тексты по blueprint v2 + ICP research, все кнопки ведут в воронку.Опубликован

Качество: независимый верификатор принял Task 4/5/6 — 0 багов, 9/10 против дизайн-канона. Все тесты зелёные, типизация чистая.

🔌 Что нужно от Тимура, чтобы включить вживую

Код готов и протестирован. Чтобы воронка заработала на реальном трафике — четыре действия с твоей стороны.

А~30 секунд

Применить миграцию в Supabase

Открой Supabase → SQL Editor, вставь SQL ниже, нажми Run. Таблица аддитивная — ничего существующего не ломает. Без неё воронка не сможет сохранять сессии.

-- Migration 275: funnel_sessions (РВП — анонимная воронка self-serve)
-- Хранит анонимные сессии воронки: @username → analyze → бриф →
-- креативы → оплата привязывает к user_account. Аддитивно. Обратимо: DROP TABLE.

CREATE TABLE IF NOT EXISTS funnel_sessions (
  id              UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  ig_username     TEXT,
  brief           JSONB,
  creatives       JSONB,
  status          TEXT NOT NULL DEFAULT 'new',
  ip              TEXT,
  user_account_id UUID REFERENCES user_accounts(id),
  created_at      TIMESTAMPTZ NOT NULL DEFAULT now()
);

-- Индекс под привязку оплаченной сессии к аккаунту
CREATE INDEX IF NOT EXISTS idx_funnel_sessions_user_account
  ON funnel_sessions (user_account_id)
  WHERE user_account_id IS NOT NULL;

COMMENT ON TABLE funnel_sessions IS 'РВП: анонимные сессии воронки (analyze → creatives → checkout). TTL ~30 дней (чистка не реализована).';
COMMENT ON COLUMN funnel_sessions.status IS 'new | analyzed | creatives_done | paid';
COMMENT ON COLUMN funnel_sessions.brief IS 'JSONB: {name, niche_key, niche_label, city, services[], audience[], tone, source, palette[]}';

Выдели весь блок и скопируй → вставь в SQL Editor → Run.

Бдо запуска трафика

Пополнить баланс HikerAPI

Анализ Instagram идёт через HikerAPI — баланс сейчас низкий. На тестах хватает, но при реальном трафике быстро закончится, и анализ начнёт падать. Пополнить до старта рекламы.

Всамо решится на проде

Генерация креативов на dev упирается в бесплатный Gemini-ключ

На dev-окружении генерация ограничена бесплатным ключом (лимиты). На проде у сервиса генерации ключ рабочий — там креативы заработают сразу после деплоя. Действий не требует, просто учитывай при тесте на dev.

Готдельная задача

Доставка логина/пароля оплатившему

Сейчас после оплаты креды клиента падают в admin-уведомления — ты отправляешь логин вручную. Для полного self-serve (без ручной работы) нужен SMS-сендер. Это отдельная задача, на MVP не блокирует.

Перед боем

Переключатели

Три тумблера перевести из «демо» в «боевой режим» после приёмки.

RVP_MOCK = false
В funnelApi.ts. Сейчас true — фронт работает на реалистичных фикстурах, бэкенд не нужен. Перевести в false → пойдёт в живой API (анализ + генерация).
RVP_GO_URL
На лендинге v29. Кнопки ведут в /go — указать реальный хост воронки (прод-домен monorepo), а не локальный.
RVP_PLAN_OVERRIDE
Сейчас test-500 (оплата 500 ₸ на приёмке). После приёмки перевести в null → откроются боевые тарифы 49k / 99k / 299k.
Ссылки

Куда смотреть

Код воронки — ветка feat/rvp-funnel (worktree ~/agents-monorepo-rvp). Коммиты: backend session+analyze, demo-data 6 ниш + генерация, checkout + конверсия оплаты в аккаунт, /go фронт, демо-дашборд, pricing UI. Push в cranchagency — по твоему «да».