# Аудит прототипа ElevenHouse: UX/UI и переход к маркетплейсу ## 1. Что это за продукт сейчас ElevenHouse — это React-прототип рабочего кабинета практикующего астролога, полностью на моках. Он объединяет CRM, запись и видеосессии, расчётные системы (натал, нумерология, матрица судьбы, Human Design), продажу услуг и подписок, автоворонки с AI, контент, финансы и отзывы. Снаружи к кабинету пристроены продающий лендинг для астрологов, публичная страница записи к одному астрологу (Алиса Вега), зачаточный кабинет клиента и платформенная админка. Продукт спроектирован с позиции одной роли. Шапка `app/styles.css:3` прямо называет цель стилей: «плотность рабочей CRM». Клиент существует только как гость конкретного астролога, общего каталога нет. Бэкенда нет: состояние хранится в `localStorage` и локальном state экранов. **Масштаб:** | Метрика | Значение | |---|---| | Ролей | 4: посетитель, астролог, клиент, админ (модератор — подроль админки) | | Представлений верхнего уровня | 9 (`app/app.jsx:19-76`), включая отдельный «Моб. кабинет» | | Разделов кабинета астролога | 18: 17 пунктов меню и Настройки. В сайдбаре 19 точек входа | | Пунктов меню | 17 плоским списком (`app/data.jsx:76-94`) | | Вкладок и секций | Настройки — 9, админка — 8, кабинет клиента — 5, публичная страница — 14 секций и редактор на 6 вкладок, онбординг — 9 шагов, лендинг — 12 секций | | Экранов, режимов, модалок и панелей | ≈260, из них около 30 служебные или мёртвые | | Масштаб «системы» | ≈5 800 инлайн-`style={{}}`, ≈38 кеглей, 53 иконки, 17 туров на 44 шага, 44 узла воронок, 14 типов расчёта, 9 типов карт, 34 возможности тарифа, 12 модулей платформы | ## 2. Карта продукта - **Посетитель** - Лендинг для астрологов: hero, «боль → решение», showcase из 4 модулей, слайдер из 9 возможностей, «вместо 6 сервисов», «Как начать», отзывы практиков, тарифы, FAQ, финальный CTA, футер. Юридические документы открываются в LegalModal. - Регистрация и вход астролога по коду из сообщения или через Google, Telegram или Apple. - Публичная страница астролога: шапка, hero, истории, 14 секций, запись в 4 шага, «Все отзывы», личное сообщение со входом, мобильная нижняя панель. - Регистрация клиента. В продукте она никуда не подключена: открыть её можно только демо-переключателем. - **Астролог** - Онбординг: Welcome → 9 шагов с превью карточки «глазами клиента» → «Готово к приёму оплат». - Кабинет. Оболочка: сайдбар, топбар (поиск, «+ Создать», колокольчик), туры, апселл тарифа, тосты. - Ежедневная работа: - Дашборд: баннер, «Требует внимания», KPI, «Сегодня», «Небо сегодня», AI-брифы, лента. - Календарь: день, неделя, месяц; режим доступности; запись, перенос, отмена или неявка, материалы; видеосессия. - Сообщения: единый инбокс, связывание каналов, панель контекста. - Клиенты: список с карточкой на 4 вкладки (Обзор, История, Заметки, Переписка) и канбан «Воронка». - Продажи: - Продукты: каталог и конструктор. - Воронки: галерея, холст, палитра узлов, инспекторы AI-узлов и узлов расчёта. - Контент: лента, контент-план, редактор поста, автопостинг. - Отзывы. - Деньги: Финансы (кошелёк, вывод, отчёт) и Аналитика (8 KPI и 13 карточек). - Расчёты: Движок карт, Нумерология, Матрица судьбы, Дизайн человека, Астрокалендарь, Астродневник, Справочник трактовок. - Настройки: Профиль, Тариф, Верификация, Уведомления, Лояльность, Интеграции, Безопасность, Приватность, Рефералы. - Публичная страница и её редактор. - Мобильный кабинет (отдельная реализация): 5 табов и «Ещё» с 13 разделами. Нативно сделаны 9 экранов, остальное — сжатый десктоп. - **Клиент** - Кабинет: Главная; Консультации (предстоящие, прошедшие, материалы, спор); Лента (посты и дневник); Мои данные (карты и профили рождения); Подписки и оплаты. - Поверх кабинета: мастер записи, «Мои астрологи», уведомления, видеосессия. - **Админ / модератор** - Обзор, Аналитика, Пользователи (профиль, спецусловия вывода, акция), Тарифы (конструктор и калькулятор), Верификация в 2 этапа, Модерация, Споры, Настройки платформы (8 секций). - **Служебное**: DemoSwitch (9 экранов) и TweaksPanel (акцент, свечение, звёзды, скругления). ## 3. Инвентарь функций **Работа с клиентами** - Список клиентов: поиск, 4 сегмента, сортировка. - Карточка клиента: KPI, теги из пресетов, натальные данные, статус расчётов по 5 системам, AI-сводка, «следующий шаг», астро-повод по транзиту. - История взаимодействий в виде таймлайна. Заметки, включая AI-резюме сессий. - Канбан на 6 стадий с drag&drop и своими стадиями. - Единый инбокс: внутренний чат, Telegram, Instagram, Max. Связывание диалогов одного человека, выбор канала ответа, AI-черновик, быстрые ответы, голосовые с транскрипцией. - Астро-триггеры: «повод написать клиенту по его транзиту». **Расписание и сессии** - Сетка день, неделя, месяц; линия «сейчас»; 6 статусов записи (hold, ждёт оплаты, подтверждена, проведена, неявка, перенесена). - Ручная запись: существующий клиент, новый или гость; услуга из каталога или своя; 4 режима оплаты. - Перенос перетаскиванием и запросом клиенту. Отмена с условием и возвратом. Неявка. - Недельный шаблон доступности и правила записи: слот, буферы, отступ, горизонт, лимит, политики переноса и неявки. - Сводка недели. Материалы прошедшей сессии. - Видеосессия: чат, показ карты обоим участникам, запись, экран «Сессия завершена». **Практика и расчёты** - Движок карт: 9 типов, бикарты, интерактивное колесо, таблицы планет, аспектов и домов, настройки расчёта, AI-трактовка. - Нумерология: 6 чисел, квадрат Пифагора, линии силы, личный год, совместимость. - Матрица судьбы: октаграмма, зоны, карта здоровья, программа года, партнёрская матрица. - Human Design: бодиграф, каналы, транзиты, партнёрский разбор. - Общие режимы для расчётов: презентация на весь экран, PDF или отправка «в чат клиенту», привязка расчёта к клиенту, детская карта. - Астрокалендарь событий (глобальных и клиентских), Астродневник с подписчиками, Справочник трактовок с правкой и AI-черновиком. **Продажи и маркетинг** - Продукты 7 типов, статусы черновик / активен / архив. - Конструктор продукта: формат, тайминг, модель оплаты, участники, метод, данные от клиента, доступы, допы-апсейлы, «Что входит», превью «так увидит клиент» и «что получит клиент». - Воронки: 12 шаблонов, «Собрать с AI», 44 узла. AI-узел с моделью, промптом, ограничениями и режимом одобрения. Узел расчёта на 14 типов. Тестовый прогон. - Лояльность (штампы), рефералы для астрологов, акции и промокоды на публичной странице, лид-магнит «бесплатная карта». **Деньги** - 4 баланса. Операции с разбивкой брутто → комиссия → нетто и статусом средств. Вывод (карта, счёт ИП, СБП). Отчёт. - Тарифы с комиссией 8 / 4 / 2 % и замки разделов. Апселл-модалка. - Аналитика: доход, прогноз и цель, продукты, воронка конверсии, источники, здоровье практики, топ клиентов. **Контент и репутация** - Публичные посты и посты по подписке, статусы, AI-черновик по астрособытию, контент-план на 14 дней, автопостинг в 5 соцсетей, платный канал «Лунный круг». - Отзывы: агрегат и распределение, статусы модерации, публичный ответ, AI-ответ, «Оспорить», «Запросить отзыв». **Платформа и админка** - Очереди «Требует внимания». KPI и аналитика платформы (GMV, MRR, воронка предложения). - Пользователи: блокировка и спецусловия вывода. Глобальная акция на вывод. - Конструктор тарифов с юнит-экономикой. - Двухэтапная верификация: профиль, затем KYC через Sumsub. - Модерация с AI-метками и причинами отказа. Споры с эскроу и частичным возвратом. - 12 фича-флагов, включая выключенный «Маркетплейс астрологов». Финансы платформы, реферальная программа, политики, справочник специализаций, шаблоны уведомлений, локализация, юридические документы. - Общие сервисы: уведомления (7 категорий, каналы, тихие часы), тосты, 17 туров, i18n RU/EN (только внешний контур). **Клиентская сторона** - Беспарольная регистрация. - Несколько астрологов на одного клиента: глобальный фильтр, отвязка с сохранением истории. - «Небо сегодня», ближайшая сессия с входом, мастер записи (услуга → астролог → время → подтверждение). - Прошедшие сессии и материалы, спор с заморозкой средств. - Лента от астрологов, личный дневник, собственные карты платформы, профили рождения (я, партнёр, близкие), подписки, платежи, уведомления. ## 4. Сквозные проблемы UX/UI **4.1. Навигация построена вокруг инструментов, а не задач.** - 17 пунктов плоским списком занимают около 730 px высоты. «Сообщения» с бейджем стоят 14-ми, «Аналитика» 2-й, «Отзывы» последними (`app/data.jsx:76-94`, `app/shared.jsx:66-101`). - 7 однотипных расчётных разделов вынесены отдельными пунктами. На мобиле они уже сгруппированы в «Расчёты и системы» (`app/mobile.jsx:154-158`), на десктопе нет. Матрица, HD и Нумерология построены по одному каркасу «рейл → граф → инспектор» и повторяют один набор состояний (`app/matrix.jsx:83-89`, `app/hd.jsx:87-93`, `app/numerology.jsx:59-65`). Это кандидаты на один общий компонент. - Похожие названия: «Календарь» и «Астрокалендарь», «Контент» и «Астродневник», «Движок карт». Почему мешает: ежедневное и редкое смешаны, человек ищет, где нужная вещь, вместо того чтобы сразу сделать дело. **4.2. Контекст клиента теряется при каждом переходе.** - «Открыть карточку клиента» из инбокса открывает CRM всегда на клиенте с id=1 (`app/inbox.jsx:340`, `app/crm.jsx:12`). - «Рассчитать» и «Открыть» в карточке клиента открывают движок на Марине (`app/crm-card.jsx:86` → `app/engine.jsx:15`). Матрица и HD стартуют с первого клиента с датой (`withBirth[0]`). - «Карточка клиента» из календаря и мобильного шита сессии ведёт в общий список (`app/calendar.jsx:45`, `app/mobile-calendar.jsx:122`). Почему мешает: работа астролога строится вокруг клиента, а каждый переход заставляет искать человека заново. **4.3. Плотность заложена как цель, у экранов нет главного действия.** - Дашборд: 7 блоков, ~26 строк списков, ~40 кликабельных элементов (`app/dashboard2.jsx:226-237`). Аналитика: 8 KPI, 13 карточек и 60+ чисел (`app/analytics.jsx:97-313`), на мобиле 19 блоков в столбец. - Hero публичной страницы — около 22 элементов, вся страница — 14 секций, и «Услуги» в ней только 8-е (`app/page-data.jsx:111`). Конструктор продукта: 12 блоков и около 45 переключателей. Инспектор AI-узла: 10 секций в 340 px (`app/flow-ai.jsx:105-232`). - Первый вход в кабинет: через 0,65 с затемнение тура, через 1,1 и 2,8 с два тоста, и тосты оказываются под затемнением (`app/guide.jsx:105,153`, `app/toast.jsx:29`). Почему мешает: это прямо противоположно «свободно». Глаз не находит, с чего начать. **4.4. Одно и то же живёт в нескольких местах и ведёт себя по-разному.** - Ближайшая сессия показана в 4 местах дашборда: приветствие, NextSessionCard, «Сегодня», AI-брифы (`app/dashboard.jsx:121,66-93,290`; `app/dashboard2.jsx:9`). Карты в кабинете клиента — в 5 местах (`app/client.jsx:384-398,290,717-732,761`). - Два чата: инбокс и урезанная вкладка в CRM, где кнопка «Отправить» без обработчика (`app/crm-card.jsx:203-226`). Два дневника с разными настроениями: `app/journal.jsx` («Глазами клиента») и `app/client.jsx:657` («Видите только вы»). Два колеса карты (`app/wheel.jsx` и `app/engine-wheel.jsx`). - Telegram встречается в 4 местах настроек и контента (`app/settings.jsx:23,150,230`; `app/content-data.jsx:31`). Google Календарь подключается дважды в онбординге, тариф показан и в Финансах, и в Настройках. Почему мешает: непонятно, где «настоящая» версия, и состояния копий расходятся. **4.5. Цифры и условия противоречат друг другу.** - Pro стоит 1 490 ₽ при комиссии 9 % в Финансах и 1 990 ₽ при 4 % в Настройках и конструкторе планов. Бесплатный тариф называется то «Free», то «Старт» (`app/finance-data.jsx:9` против `app/plans-data.jsx:56-61`). - Рейтинг: 4.9 в данных, 5.0 в Отзывах, 4.8 на странице при пяти закрашенных звёздах (`app/reviews.jsx:42`, `app/page.jsx:81,108`). В hero «· 10 отзывов», а в данных `reviewCount` 213 (`app/page-data.jsx:7`). «Выручка по продуктам» 649 860 ₽ больше «Оборота» 412 800 ₽ (`app/analytics-data.jsx`). - Комиссия списывается дважды: в операции и ещё раз в модалке вывода (`app/finance.jsx:145,172`). Лендинг обещает «от 0 ₽ — 9 систем, воронки, AI», а в «Старте» этого нет (`app/landing-sales.jsx:143`, `app/plans-data.jsx:57`). Комиссия бесплатного тарифа — 15 % в Финансах и 8 % в «Старте». Карта выплат — 4417 в данных и 4521 в модалке вывода. Почему мешает: в маркетплейсе цифры — это доверие. Расхождения читаются как обман. **4.6. Действия имитируются, а потоки данных разорваны.** - Кнопка «Сохранено» в редакторе воронок не имеет обработчика, при переключении воронки правки теряются (`app/flow-builder.jsx:205,47-52`). Глобальный поиск в топбаре не работает (`app/shared.jsx:192`). - Продукты живут в локальной копии, а страница и кабинет клиента читают исходный `PRODUCTS`. Правки вообще не сохраняются и пропадают при уходе из раздела. Новый продукт всегда получает `type:'custom'`, и клиент его не видит (`app/products.jsx:9,38`; `app/page.jsx:39`; `app/client.jsx:907`). - Слоты для клиента зашиты в код (`app/client.jsx:900-901`, `app/page-data.jsx:46-50`) и не связаны с доступностью из календаря. «Ответить» по спору ведёт в несуществующий раздел `'messages'` (`app/dashboard2.jsx:170`). - Слой уведомлений (Toaster) смонтирован только в кабинете астролога (`app/app.jsx:92`). Около 29 кнопок в кабинете клиента и столько же в админке вызывают тост, которого там нет, поэтому клик не даёт никакой реакции. Почему мешает: пользователь не понимает, что произошло. Сквозных сценариев почти нет. Исключения — спор (клиент → админ → дашборд астролога), тарифы (админ → лендинг, онбординг, Настройки, замки) и конфиг страницы. Их можно взять за образец общей модели данных. **4.7. Опасные и денежные действия выполняются без подтверждения.** - В апселле тариф включается одним кликом без оплаты (`app/access.jsx:70`). В Настройках смена тарифа чисто визуальная: доступы от неё не меняются (`app/settings.jsx:207`). Онбординг по умолчанию ставит платный Pro (`app/onboarding.jsx:18`). - «Оспорить» сразу скрывает отзыв (`app/reviews.jsx:36-39`). «Сбросить» в Справочнике стирает собственные трактовки (`app/ref-library.jsx:25`). «Полный возврат» оформлен главной кнопкой со свечением (`app/admin.jsx:867`). Удаление плана и блокировка пользователя — тоже без подтверждения. - Закрытие конструктора продукта и клик по фону редактора страницы молча выбрасывают правки (`app/product-constructor.jsx:177`, `app/page.jsx:549`). **4.8. Мелкий текст, низкий контраст, ключевое только по наведению.** - Около 1 219 из 2 180 значений `fontSize` меньше 13 px. Самый частый кегль — 12.5 (389 раз). Бейджи 9–10 px, таб-бары 10–10.5 px. - `--text-3` #6F6A93 даёт контраст 3.5–3.8:1 (`app/styles.css:31`), и этим цветом набраны подписи 10–11 px. - Только мышью: детали планеты на колесе (`app/engine-wheel.jsx:90`), стрелки KPI, тултипы графиков, смысл глифов в календаре, drag&drop в календаре и канбане (`app/calendar.jsx:295`, `app/crm.jsx:354`). В `styles.css` ноль правил `:focus-visible`, aria-атрибутов почти нет, модалки не закрываются по Esc. **4.9. Дизайн-системы в коде нет.** - Около 5 800 блоков `style={{}}`, около 38 кеглей с шагом 0.5 px, радиусы 6–22 px в обход `--r-*`. Наведение сделано через `onMouseEnter`, который мутирует стили. - Оверлей модалки скопирован десятки раз с z-index от 40 до 80. Тумблер в админке написан 4 раза (`app/admin.jsx:483,532,947,969`). В кабинете клиента 6 разных чипов при существующем `.chip` (`app/client.jsx:430,816,1062`). - Цвета захардкожены: `#16142F`, `#1A1838`, `#F47A7A` (токен `--neg` не объявлен), `rgba(13,12,32,.85)` повторяется в каждой под-шапке. Почему мешает: стиль нельзя поменять за один шаг, и каждый экран выглядит чуть по-своему. **4.10. Цвет и декор работают против смысла.** - При золотом акценте по умолчанию `--accent` совпадает с `--warn` (#F4C430). Одним цветом окрашены главный CTA, отрицательный тренд, срочность, «Архив», «Ждёт оплаты», «hold» и пик графика (`app/styles.css:44,69`; `app/products-data.jsx:7`; `app/calendar-data.jsx:17-18`). - Статусы различаются только цветом: сегменты CRM, блоки записей, «Личность» и «Дизайн» в HD. - Под всеми экранами 80 мерцающих звёзд и туманности с glow 1.6 (максимум слайдера). На лендинге три слоя космоса, на странице вращающееся колесо, везде backdrop-blur и свечение у primary-кнопок. **4.11. Язык: жаргон и омонимы.** - «Воронка» означает три вещи: канбан CRM, автоматизации и график конверсии. «Удержание» — это и статус hold, и штраф за неявку. «Подписаться» — это и бесплатный follow, и платная подписка за 990 ₽ (`app/page.jsx:129` против `:320`, после обоих показывается «Вы подписаны»). - лид, LTV, MRR, SLA, хендофф, апселл, «кубики», «касание», Activation rate, Брутто/Нетто, «Кресты», «Орбисы ×1.00», «висящие ворота». - Метафоры вместо действий: «Выберите свою орбиту», «Пройти путь», «Четыре дома вашего старта». Почему мешает: клиент маркетплейса этого не прочтёт, а астролог тратит силы на расшифровку. **4.12. Мобильная версия собрана тремя несовместимыми способами.** - Отдельный «телефон» 420×880 с нарисованным «9:41» и для астролога, и для клиента (`app/mobile-dashboard.jsx:257-271`, `app/client.jsx:108-113`). На реальном телефоне получается «телефон в телефоне». - Десктопные экраны сжаты 152 правилами с `!important` и селекторами по инлайн-стилям и тексту `title` (`app/styles.css:548,598-599`). Нативный `MobileEngine` отключён. - В мобильной оболочке не смонтирован VideoSessionMount, поэтому «Войти в сессию» не работает (`app/app.jsx:52`). Тосты там тоже не показываются: Toaster есть только в десктопном кабинете астролога. Топбар переполняется на 375 px, у онбординга адаптива нет совсем. ## 5. Что стоит сохранить - **Токены** на `:root`: поверхности 1–4, текст 1–3, accent-soft/line/text, семантика pos/info. И набор из 53 линейных иконок одной толщины 1.6 px. - **Глобальное «+ Создать»** с интентами (`fireCreate` / `useCreateIntent`): форма открывается сразу в нужном разделе. - **Очередь «Требует внимания»** (споры, задачи, лиды) с одним счётчиком, которая скрывается при нуле. **Карточка следующей сессии** с обратным отсчётом и кнопкой «Войти». В «Сегодня» primary-кнопка есть только у ближайшей сессии. - **Модель статусов записи** (hold → ждёт оплаты → подтверждена → проведена / неявка / перенесена), полный набор правил онлайн-записи, перенос как запрос на согласование с клиентом. - **Единый инбокс со связыванием каналов** и системными событиями в треде (запись создана, оплата получена). - **AI как черновик под контролем человека**: «Полный автомат / Вы подтверждаете / Вы правите», этические ограничения («без медицинских прогнозов», «без гарантий и фатализма»), пометка «черновик · проверьте». - **Взгляд покупателя при настройке**: превью «глазами клиента» в онбординге, «так увидит клиент» и «что получит клиент» в конструкторе продукта. Это почти готовая карточка и страница продукта для каталога. - **Каркас «рейл → граф → инспектор»** с общим контрактом детали `{num, title, sub, text}`: основа единого рабочего места для расчётов. Режим презентации и экспорт в PDF. - **Задел маркетплейса в данных**: `astroId` у всех сущностей клиента, «Мои астрологи» с отвязкой без потери истории, профили рождения «ввёл один раз», спор с эскроу, двухэтапная верификация, модерация с AI-предразметкой, калькулятор юнит-экономики тарифа, справочники SPECIALIZATIONS / METHODS / LANGS / PRODUCT_TYPES как готовые фасеты. - **Мобильные паттерны**: bottom-sheet, группировка «Ещё», свайп между днями, агенда дня со слотами «Свободно для записи», воронка как вертикальная лента шагов. - **Тон там, где он человеческий**: «боль → решение» на лендинге, FAQ про возражения, «Говорю по-человечески, без эзотерического тумана», «карта — не приговор», беспарольный вход по коду. - Входные анимации отключены намеренно. ## 6. Текущий визуальный язык Тёмный «космос»: - **Цвета.** Фон #07060F / #0B0B1F, поверхности #110F26 → #272252, текст #ECEAF7 / #A7A2C8 / #6F6A93. Акцент — золото #F4C430 по умолчанию или аметист #8B5CF6. На лендинге отдельная радужная палитра градиентов: коралл, розовый, лаванда, голубой, мята. - **Шрифты.** Onest 300–800 для интерфейса, JetBrains Mono для цифр, времени, URL и меты. Kicker — 11 px капсом с разрядкой .14em. - **Формы.** Карточки с вертикальным градиентом, внутренней кромкой и глубокой тенью. Пилюли 999, иконка в тонированном квадрате, цветная левая полоса статуса. Что работает против ощущения свободы: - **Плотность.** Под-шапки по 60 px с 6–10 контролами, фиксированные боковые панели 340 px, отступы 8–14 px. - **«Коробка в коробке».** Внутри карточек снова лежат плашки с рамкой на `surface-1`. - **Мелкий низкоконтрастный текст** и избыток моноширинного шрифта. - **Декор, который соревнуется с контентом**: звёзды, туманности, glow, blur, вращающиеся колёса, градиентные заголовки с drop-shadow. - **Золото**, которое значит всё сразу. - **Два визуальных языка**: радужный лендинг и токены кабинета, поэтому на стыке лендинг → регистрация стиль резко меняется. Новый логотип stacked-ivory (#142037 и приглушённое золото #E2CA79) рассчитан на светлый фон, а страница логотипа использует Manrope и Fraunces вместо Onest. Это сигнал к пересмотру темы и шрифтов: светлая «слоновая кость» или как минимум облегчённый тёмный вариант. ## 7. Маркетплейс: что уже есть и чего нет ### Существующие кусочки | Кусок | Что есть | Что мешает | |---|---|---| | Публичная страница (`app/page.jsx`) | Профиль, сигналы доверия, услуги, слоты, отзывы, лид-магнит, сообщение со входом, мобильный CTA | Один зашитый `PAGE`. `isOwner` всегда true (`app/app.jsx:46`). Кнопка «Настроить» в шапке от него вообще не зависит (`app/page.jsx:91`); под `isOwner` только правка историй. Внизу «страница не индексируется». Секция «Услуги» только 8-я | | Регистрация клиента (`app/client.jsx:1111`) | Беспарольный вход, соцвход | Экран никуда не подключён, открыть его можно только демо-переключателем. На странице вход имитируется флагом в MessageModal, а запись обещает регистрацию по SMS: три разные модели входа. Подача «Ваш кабинет у астролога». Не спрашивает данные рождения и запрос | | Кабинет клиента | `astroId`, фильтр по астрологу, «Мои астрологи», профили рождения, спор | Нет поиска (`onFind` не используется), нет чата и оплаты. «Страница ›» у любого астролога открывает страницу Алисы Веги в режиме владельца, и вернуться в кабинет оттуда нельзя | | Запись | `BookingModal` на 4 шага, `ClBooking` | Шаг оплаты на странице — заглушка. Нет брифа, условий отмены и промокода. Слоты зашиты. Время ошибочно спрашивается у мини-продукта (чат). Логика «нужен ли слот» в BookingModal и ClBooking разная (`app/page.jsx:824`, `app/client.jsx:913`) | | Продукты | Фасеты конструктора, превью витрины, допы | Нет владельца (`astrologerId`). Две таксономии: `PRODUCT_TYPES` и категория в превью. Правки не доходят до витрины | | Отзывы | Статусы модерации, ответ, агрегат | Три источника (`REVIEWS`, `PAGE.reviews`, `DATA.rating`). У клиента нет формы. «Оспорить» сразу скрывает отзыв | | Деньги | Комиссия по тарифу, холд, эскроу, споры с заморозкой | Противоречивые цифры, реквизиты негде настроить. Комиссия одна для своих клиентов и клиентов из каталога | | Верификация | Шаг онбординга, вкладка настроек, 2 этапа в админке | В карточке пользователя в админке есть кнопка «Верифицировать» в один клик, в обход двух этапов. Не служит условием для каталога | | Модерация в админке | Отзывы, посты, тэглайны, услуги, страницы; AI-флаги «гарантированный результат» | Нет правил допуска в каталог. Нет жалоб клиента на астролога | | Флаг «Маркетплейс астрологов» | Есть (`app/admin-data.jsx:89`) | Выключен, за ним ничего нет | ### Пробелы - **Каталог и поиск.** Нет главной для клиента, витрины, категорий запросов (отношения, карьера, предназначение), подбора по анкете, «похожих астрологов», избранного. - **Фильтры.** Метод, тема, цена «от», язык, рейтинг, формат (видео, чат, в записи), ближайшее окно. Для «ближайшего окна» нужен движок слотов, которого нет. - **Рейтинги и доверие.** Рейтинг должен считать платформа, а не задаваться текстом в `stats`/`badges`. Отзывы — только из завершённого заказа. Бейджи («Топ-астролог», «Отвечает ~2 ч») — по правилам. - **Верификация.** Уровни доверия, видимые клиенту. Обязательность для попадания в каталог — решение владельца. - **Единый аккаунт клиента.** Модель на несколько астрологов уже есть. Не хватает поиска новых астрологов, возврата со страницы астролога в кабинет, настроек аккаунта и выхода. - **Платёжный поток.** Чекаут, эскроу, чеки 54-ФЗ, разная комиссия «каталог / свой», пакеты с остатком сессий, получатель в истории платежей. - **Споры и возвраты.** Клиент не может отменить запись. Нет правил отмены у платформы, отзывы скрываются без арбитража. - **Модерация.** Премодерация постов, тэглайнов, услуг и страниц есть. Не хватает правил допуска листинга в каталог, жалоб клиента на астролога и связи модерации с реальными сущностями: очередь сейчас статичная. - **SEO-страницы.** Индексируемые профили, отдельные страницы услуг, публичный глоссарий из Справочника («Солнце в Овне», «Аркан 17»), кнопки «Поделиться» и QR. - **Прочее.** Внутренний чат как основной канал (он обещан в трёх местах, но не реализован). Клиентские уведомления. Аналитика спроса. Оферта для клиентов. EN-интерфейс кабинетов. ### Фундаментальные изменения в ролях и модели данных **Роли.** Нужен один аккаунт-человек с ролями «клиент», «астролог», «персонал» (админ, модератор) и переключателем «Я как клиент / Я как астролог»; заготовка ModeToggle уже есть (`app/shared.jsx:132`). Нужны четыре оболочки: гость, клиент, астролог, админ. Тосты, уведомления и видеосессия должны быть общими для всех. Маршрутизация после входа — по роли, а не в онбординг: сейчас повторный вход ведёт в мастер (`app/landing.jsx:438`). **Модель данных:** - **AstrologerProfile** (листинг) отдельно от рабочего пространства. Поля: slug; фото; специализации, методы и темы из единой таксономии (сейчас «Натальная астрология» и «Натальная карта» лежат в разных справочниках); языки; цена «от»; рассчитываемый рейтинг; уровень верификации; статус листинга (черновик → модерация → опубликован → пауза); видимость («по ссылке» или «в каталоге»). - **Product**: `astrologerId`, одна категория, видимость, политика отмены, анкета данных при покупке, связь с доставкой результата вместо текстового триггера «Куплен «Разбор в записи»». - **Availability → Slot engine**: окна под длительность конкретной услуги, буферы, исключения по датам, часовой пояс клиента. **Booking** с реальной датой вместо `day 0–6`, источником (каталог / личная ссылка / вручную) и статусами «заявка» и «отменена». - **Order / Payment / Payout / Refund / Dispute** вокруг одного заказа. Комиссия считается в одном месте. - **Review** привязан к Order, принадлежит платформе, проходит модерацию, у него есть ответ астролога. - **Relationship** «клиент ↔ астролог» = запись CRM (теги, приватные заметки, LTV, стадия, частично автоматическая) отдельно от глобального **User**. - **BirthProfile** принадлежит клиенту. Их несколько (я, партнёр, ребёнок), доступ астрологу выдаётся по согласию. Он заменяет `CLIENTS.birth`, `CL_BIRTHDATA`, `EH_CHILDREN`. - **Conversation** — внутренний чат. Внешние каналы остаются только для собственной базы астролога. **Политики, которые конфликтуют с каталогом:** - обещание «Никогда не продвигают других астрологов» (`app/notifications.jsx:57`); - white-label в тарифе Studio; - «ваша аудитория остаётся вашей» в рефералах (`app/settings.jsx:376`); - уход в Telegram и Instagram, то есть обход комиссии; - AI «Полный автомат» в платных разборах без маркировки для покупателя; - «страница не индексируется». ## 8. Кандидаты на упрощение | Что сейчас | Предложение | |---|---| | 7 пунктов расчётов (Движок, Нумерология, Матрица, HD, Астрокалендарь, Астродневник, Справочник) | Одно рабочее место «Расчёты» с выбором системы в контексте клиента; Справочник — библиотека внутри него и источник текстов для инспектора, PDF и AI. Астрокалендарь — слой календаря или контента. Дневник — функция продукта-подписки в карточке клиента | | Сегменты + стадии канбана + автоворонки | Одна модель статуса клиента, которая частично считается по событиям (заявка → запись → оплата → сессия → повтор). Слово «воронка» оставить только за одним понятием | | Инбокс + вкладка «Переписка» в CRM + «Задать вопрос» у клиента | Один компонент чата для обеих сторон | | Холст воронок с 44 узлами как главный инструмент | Блок «После покупки» прямо в продукте; холст — режим для продвинутых | | Дашборд из 7 блоков | «Сегодня»: ближайшая сессия, очередь «Требует внимания», деньги одной строкой. «Небо», брифы и ленту — в разделы | | Аналитика из 13 карточек | Вкладки «Деньги / Клиенты / Продажи и каналы / Качество»; убрать дубли конверсии и no-show | | 9 вкладок настроек | Разделить «Аккаунт» (профиль, безопасность, приватность, уведомления) и «Бизнес»; Тариф и Финансы — один раздел «Деньги»; Интеграции и соцсети контента — в одно место | | 14 секций страницы в свободном порядке | Обязательный каркас «hero → услуги → слоты → отзывы → о себе → FAQ», остальное опционально; гороскоп дня и промо приложения — на уровень платформы | | Онбординг из 9 обязательных шагов с картой выплат | Минимум для публикации профиля; продукт, расписание и реквизиты — чек-лист в кабинете, реквизиты — к первому выводу | | Лендинг из 12 секций с 5–6 повторами списка возможностей | Две страницы: главная для клиентов и «Для астрологов» на 5–6 блоков | | 17 автоматических туров | Один чек-лист «Начало работы» и кнопка «?» с повтором по запросу | | Три мобильных подхода и `mobile-*.jsx`-копии | Одна адаптивная вёрстка на общих компонентах | | Конструктор продукта одной простынёй | Шаги «Что / Как проходит / Цена / Что получит клиент» с живым превью | | Мёртвый код | `Astrolabe3D` и подключение three.js, `ios-frame.jsx`, `DayNightDecor`, `StatCard`, `DisputeBanner`, `MobileEngine`, `--mob-scale`, неиспользуемые `ANALYTICS.channels` и `forecast.goal`; DemoSwitch и TweaksPanel убрать из продукта | ## 9. Предлагаемая последовательность пересмотра 0. **Решения по модели продукта** (ответы на раздел 10): роли и аккаунты, кто принимает деньги, правила каталога, скоуп методов, ядро MVP. Без них любой экран придётся перерисовывать. 1. **Информационная архитектура и роли.** Карта четырёх оболочек, навигация каждой роли, словарь терминов (одна «воронка», одна «подписка»), сквозные сущности (клиент, заказ, слот, профиль рождения), правило «контекст клиента не теряется». Это фундамент всех следующих этапов. 2. **Визуальное направление и дизайн-система.** Тема (решение по ivory-логотипу), шрифты, типошкала на 6–7 размеров, контраст AA, семантические цвета отдельно от акцента, компоненты (кнопки, поля, сегмент, тумблер, модалка или шит, таблица, пустые состояния, фокус). Идёт параллельно с шагом 1: без неё каждый экран снова «изобретается». 3. **Клиентский путь маркетплейса**: главная и каталог → профиль астролога → запись и оплата → кабинет клиента → отзыв и спор. Это самая новая часть. Она задаёт требования к данным астролога (листинг, слоты, продукты, рейтинг), и кабинет астролога затем строится под эти требования. 4. **Сторона предложения**: онбординг астролога (прогрессивный, до «виден в каталоге»), редактор публичного профиля, лендинг «Для астрологов». Наполняют каталог и зависят от схемы листинга из шага 3. 5. **Ядро ежедневной работы астролога**: «Сегодня», Календарь с доступностью и входящими заявками, единый чат, Клиенты. Опираются на Booking, Relationship и Conversation из шагов 1 и 3. 6. **Монетизация астролога**: Продукты с «после покупки», Деньги (финансы и тариф), Отзывы с ответом. 7. **Рабочее место расчётов**: объединённые системы, справочник, дневник, презентация в видеосессии. Профессиональная глубина, но не блокер маркетплейса. 8. **Продвинутое**: контент, холст автоматизаций, аналитика (с метриками каталога: показы, просмотры, конверсия). 9. **Админка**: модерация листингов, ранжирование, споры, финансы платформы, клиенты. Правила верификации и модерации фиксируются ещё на шаге 0, экраны — после того как известны сущности. Мобильная версия не выделяется в отдельный этап: каждый экран проектируется сразу mobile-first как адаптив, если владелец не выберет нативное приложение. ## 10. Главные вопросы к владельцу 1. **Аккаунты.** Один аккаунт с двумя ролями и переключателем или раздельные входы для клиентов и астрологов? Может ли астролог быть клиентом другого астролога? 2. **Главная.** Кто видит её первым: клиент, который ищет астролога, или астролог, которому продаём кабинет? Один домен с разделом «Для астрологов» или два входа? 3. **Деньги.** Все оплаты обязательно идут через платформу с эскроу и выплатой? Одинаковая ли комиссия для клиентов из каталога и для собственных? Будет ли платное продвижение в выдаче? 4. **Допуск в каталог.** Обязательны ли верификация (профиль и KYC) и модерация анкеты? Входит ли листинг в бесплатный тариф и влияет ли тариф на позицию? 5. **Чей клиент.** Видит ли клиент, пришедший по личной ссылке, других астрологов? Остаются ли white-label, обещание «не продвигаем других» и внешние каналы (Telegram, Instagram, Max), если они уводят от комиссии? 6. **Скоуп практик.** Платформа только для астрологов или для эзотерических практиков вообще (нумерология, матрица, HD, таро)? От этого зависят название, таксономия фильтров и состав меню. 7. **Ядро MVP астролога.** Что из 17 разделов остаётся в первой версии: воронки и AI-узлы, контент и автопостинг, дневник, аналитика, лояльность, рефералы? AI-функции реальные или концепт? 8. **Визуальное направление.** Новый логотип stacked-ivory означает переход на светлую «слоновую кость» и Manrope/Fraunces, или остаётся тёмный космос в облегчённом виде? Какой допустим декор: звёзды, колёса, свечения? 9. **Платформа.** Адаптивный веб для обеих ролей или нативные приложения? Где астрологи реально работают с расписанием и картами — на телефоне или на компьютере? 10. **Рынок и вход клиента.** Только Россия (₽, самозанятые, ИП) или сразу международный рынок с EN-интерфейсом и переводом кабинетов? Можно ли записаться и оплатить гостем, или аккаунт обязателен до оплаты? ## 11. Дополнения после проверки по коду Ревьюер сверил ключевые утверждения аудита с кодом. Неточности выше уже исправлены. Ниже — то, что в первую версию не попало. - **Обратная связь есть только у кабинета астролога.** Toaster смонтирован лишь в AppShell (`app/app.jsx:92`), поэтому действия в кабинете клиента, админке и на публичной странице не дают никакой реакции. Нужен общий слой уведомлений и состояний «успех / ошибка» для всех оболочек. - **Два несовместимых сценария записи.** На странице: «Оплатить» и сразу «Вы записаны» (`app/page.jsx:874,881`). В кабинете клиента: «Подтвердить запись» → «Заявка отправлена, астролог подтвердит», без оплаты (`app/client.jsx:1037-1053`). Модель «заявка или мгновенная оплата» надо выбрать до проектирования чекаута. - **В ClBooking уже есть зачаток маркетплейса.** Сначала выбирается услуга, затем шаг «Кто проведёт» с выбором астролога (`app/client.jsx:906-920,968`). Но продукты общие и без владельца, поэтому цена и состав у всех одинаковые. Это противоречит модели «продукт принадлежит астрологу». - **Три источника текущего тарифа**: `FIN.tariff` = Pro (`app/finance-data.jsx:9`), локальный `billing` в Настройках (`app/settings.jsx:51`) и `eh_current_plan`, по умолчанию 'start' (`app/access.jsx:17`). При этом Start не включает «Продукты» (`app/plans-data.jsx:57`), хотя онбординг требует создать первый продукт. - **Решения админки не доходят до денег астролога.** Спецусловия и акция на вывод нигде не используются: Финансы считают по жёсткому `FIN.tariff.fee` (`app/finance.jsx:145`). - **Лид-магнит не собирает контакт.** Он спрашивает дату, время и город, а потом пишет «Отправил на ваш контакт» (`app/page.jsx:250-260`). Согласия на обработку данных тоже нет, хотя это главная точка захвата лида для маркетплейса. - **С публичной страницы некуда уйти.** PublicPage не получает `setView` (`app/app.jsx:46`). Ссылка «Личная страница» в сайдбаре мёртвая (`app/shared.jsx:105`). - **Промокоды и акции — обещание без механизма.** Они настраиваются в редакторе страницы и показываются клиенту, но ни один сценарий записи их не применяет. - **У кабинета клиента две раскладки.** От 900 px это десктоп с сайдбаром, ниже — нарисованный «телефон» (`app/client.jsx:7-14,41-100`). - **Чат обещан, но раздела нет.** MessageModal отправляет ответ «в раздел „Сообщения“» (`app/page.jsx:1043`), но в навигации клиента такого раздела нет (`app/client.jsx:16`), и отправленное нигде не сохраняется. - **Нет экрана «не найдено».** Неизвестный раздел открывает Placeholder, а его кнопка перезагружает всю страницу (`app/app.jsx:133-157`). ## 12. Решения владельца - **2026-10-21.** Сначала согласуем визуальную концепцию и стиль, затем пересматриваем страницы последовательно, каждую с согласованием. Стартовый лендинг для астрологов из продукта удаляется. Вопрос о входе для астрологов («Для астрологов» на клиентской главной или отдельно) остаётся открытым. - **2026-10-21.** Визуальное направление выбрано: «Тепло» (`design/concept/b-warm.html`). «Журнал» и «Ночь» остаются как справка. Порядок работы: карта всех страниц → проработка страниц по одной с согласованием → сначала весь веб, мобильная версия в самом конце. - **2026-10-21.** Владелец ответил на 10 вопросов карты страниц: см. `docs/2026-10-21-owner-answers.md`. Главное: раздельные аккаунты клиента и специалиста; вывод денег вручную кнопкой; мягкое продвижение карточек по подписке; первой версии нет — финальный продукт с включаемыми модулями; все практики сразу (не только астрологи); клиент из любого источника видит всех специалистов. - **2026-10-21.** Роль на платформе называется «специалист» (не «астролог»). - **2026-10-21.** Второй круг ответов (см. `docs/2026-10-21-owner-answers.md`): приоритет по подписке без пометки «Реклама»; сразу делаем рекламный кабинет (аукцион, оплата за показы, бюджеты, метка «Реклама»); условия отмены для клиента задаёт специалист, платформа — правила для специалистов, всё гибко в суперадминке; комиссии — гибкая настройка; бейджи практик; в своей CRM специалист может записывать клиентов с оплатой вне платформы или без оплаты; всё, что генерирует платформа, — с айдентикой ElevenHouse; новый знак-монограмма «eh». - **2026-10-21.** Этап 1 (фундамент) согласован владельцем. Поиск в верхней строке админки оставляем (добавить в карту страниц как общую часть админки). Начинаем этап 2 — путь клиента. - **2026-10-22.** В интерфейсе роль называется «эксперт» (в документах — «специалист»); главная G1 — перерабатываем первый экран: спокойнее, сначала понятно, куда попал. - **2026-10-22.** Главная G1: остаёмся на исходном варианте; заголовок «Проверенные астрологи, тарологи и нумерологи», подзаголовок «Консультации онлайн: видео, голос или чат. Выберите практику — покажем, кто свободен и сколько это стоит.» Три спокойных варианта первого экрана отложены в design/archive/g1-variants/. - **2026-10-22.** Приоритет по подписке — значок-статус ElevenHouse вместо линии; реклама всегда первой в выдаче; запускаем разработку нового логотипа. - **2026-10-22.** Логотип: «Доработанный текущий» (design/brand/refined). Значок подписки — только знак «eh», без слова тарифа. - **2026-10-22.** Согласованы логотип, G1, G2, G4. Начаты G20, G3, G14, G5, G6, G7. - **2026-10-22.** Части 2–3 этапа 2 приняты с правками: убрать легенду значков над карточками (оставить подсказки и «Как мы сортируем»); переписать текст подвала, добавить реквизиты ООО «Финекст»; поле «Темы» у услуги — да; вход только по телефону или почте, без Google/Apple/Telegram; починить поле почты на G6. - **2026-10-22.** Правки по частям 2–3 внесены (легенда убрана, вход только телефон или почта, подвал с реквизитами ООО «Финекст», поле почты G6). Части 2–3 владелец оценил «всё супер». - **2026-10-22.** G10–G13 согласованы; G8 — согласован кроме вида дверей (делаем тематические арки); в поддержке не упоминаем людей/ботов. - **2026-10-22.** Двери на входе — «Сцена за дверью». Этап 2 согласован полностью. - **2026-10-22.** Этап 3, часть 1: K3, K2, K1, S3 согласованы; сообщения клиента — виджет справа вместо страницы в меню. - **2026-10-23.** Этап 3 согласован. Новая функция: персональные скидки-«подарки» от экспертов (значок-подарок на карточках, условия при наведении, сообщение в чат, не суммируются с общей скидкой).