Валерия Саблина
theme:

Все кейсы Кейс 01 — Qonversion

No-Code Builder в продуктовом стартапе

No-Code Builder — это инструмент, которым мобильные команды собирают и публикуют свои экраны подписки без разработчика: продукт внутри продукта. Я получила его первую версию и пересобрала её. Из той же работы выросли ещё две вещи, на которых держится продукт, — его дизайн-система и онбординг, и обе стали главами этого кейса.

26+ пользовательских флоу выпущено за год после редизайна
  • ~3 недели — полный редизайн редактора, светлая и тёмная темы одновременно
  • Редизайн разблокировал разработку — команда снова смогла выпускать фичи
  • AI-генерация изображений внутри билдера, с историей промптов, спроектирована мной
  • Один продукт, три главы — редизайн редактора, дизайн-система под ним и онбординг
продукт
No-Code Builder — конструктор пейволлов внутри Qonversion (B2B SaaS, инфраструктура подписок для мобильных приложений)
роль
Продуктовый дизайнер — ведущий дизайнер интерфейсов продукта
команда
Head of Product, тимлид разработки, CEO, фронтенд-инженеры
сроки
Редизайн сдан за ~3 недели, затем год фичевых флоу
что сделано
Редизайн редактора в двух темах, собственный UI-кит билдера, галерея шаблонов, multi-page editing, платежи, генерация изображений нейросетью
результат
26+ флоу выпущено за год

Глава 01

Редизайн редактора

Билдер, который я получила, и что изменили три недели редизайна.

Первая версия была тёмной, визуально сырой и явно собранной в спешке. Но под этой поверхностью лежала по-настоящему проработанная система состояний компонентов — типы действий, навигация, покупка и восстановление покупок, всё описано. Поверхность сохранять не стоило. Логику — стоило.

Поэтому редизайн не был перекраской. Я пересобрала редактор целиком и рисовала светлую и тёмную темы одновременно: каждый компонент сразу рождался в двух видах, и разработчикам не приходилось додумывать второй. Это заняло около трёх недель.

Редизайн редактора в светлой теме: чистый тулбар, структурированная панель слоёв и сгруппированные настройки.
Редактор первой версии билдера: тёмный интерфейс со списком слоёв, канвасом-телефоном и панелью настроек.
2024 — досталось 2025 — редизайн
Потяните ручку влево — или наведите на неё фокус и нажимайте стрелки, — чтобы открыть редизайн из-под версии, которая мне досталась. Та же модель редактирования, пересобранная как продуктовая поверхность.
Редизайн билдера в тёмной теме: панель слоёв, канвас-телефон с пейволлом и панель настроек фрейма с позицией, размером, раскладкой и отступами.
Тот же редактор в тёмной теме. Правая панель — место, где сосредоточена основная дизайнерская работа: позиция, размер, раскладка и отступы, и всё это ложится на то, что реально умеет рендерер.
Два состояния тулбара билдера: обычное состояние редактирования и состояние наведения с подсвеченной кнопкой публикации.
Состояния рисуются, а не описываются словами. Тулбар в состояниях edit и hover — прямо из файла.
Собственный UI-кит билдера: кнопки, поля, панели и контролы, сверху светлая тема, снизу тёмная.
Собственный UI-кит билдера — обе темы на одном полотне. скролл →
2024 — галерея шаблонов Галерея шаблонов первой версии билдера: тёмная модалка с превью шаблонов пейволлов.
2025 — галерея шаблонов Модалка галереи шаблонов после редизайна в светлой теме, с категориями шаблонов пейволлов.
С галереи шаблонов большинство пользователей начинает пейволл, поэтому она прошла то же «до и после», что и редактор.
Модалка галереи шаблонов после редизайна в тёмной теме.
Та же модалка в тёмной теме — один компонент, два вида, без отдельного файла.
Спецификация дефолтного пейволла: слева правила раскладки, справа отрисованный канвас.
Спецификация дефолтного пейволла — правила раскладки рядом с готовым результатом: так выглядит передача, когда разработчику нужно воспроизвести экран точь-в-точь.

AI внутри продукта: генерация изображений

Задачу на генерацию изображений принёс Head of Product, а проектировала её я: пользователь получает арт для пейволла по промпту, а билдер хранит историю промптов, чтобы результат можно было найти снова и доработать. Проектировать генеративную функцию — значит в основном проектировать неопределённость: ожидание, ошибку, версии и момент, когда человек хочет вернуть предыдущую попытку.

Полотно спецификации настроек компонентов: действия контейнера и кнопки, включая URL, deep link, покупку, навигацию, закрытие экранов и восстановление покупок.
Спецификация состояний и действий, которая мне досталась и с которой я продолжила работать: каждое действие компонента описано до того, как нарисовано.

С кем работала

  • Head of Product — ревью макетов, маркетинговая аналитика решений
  • Тимлид разработки и фронтенд-инженеры — брейнстормы по реализации фичей, обсуждение лучших решений
  • CEO — приносил идеи фич

Файл хранит следы этой работы: секции со сверенными текстами, страницы ready-for-dev и датированные логи обновлений за весь год.

Глава 02

Дизайн-система под ним

Библиотека, из которой собран билдер и остальной продукт: семантические токены, компоненты в двух темах, 275 иконок.

275 иконок-компонентов, которые поддерживаются в библиотеке
  • 2 темы — каждый компонент рисовался светлым и тёмным одновременно
  • Storybook — библиотеку внедрила команда разработки
  • Датированные changelog-страницы — систему вели, а не сдали один раз
продукт
Qonversion — B2B SaaS, инфраструктура подписок для мобильных приложений
роль
Продуктовый дизайнер — вела дизайн-систему целиком
команда
Head of Product, тимлид разработки, CEO, фронтенд-инженеры
что сделано
Семантические цветовые токены, библиотека компонентов в светлой и тёмной темах, типографический кит, 275 иконок, паттерны модалок и навигации
передача
Внедрена разработчиками в Storybook
жизнь системы
Позже команда перешла на shadcn/ui, и система выдержала этот переход

Основа системы — цвет, и хранится он не палитрой, а токенами по смыслу: Background, Surface, Content, Border, Action. У каждого токена два значения, для светлой темы и для тёмной, поэтому компонент ссылается на токен и ему не нужно знать, какая тема включена сейчас — тему переключает система.

Токены группы Action идут дальше и несут свои состояния: initial, hover, pressed, disabled. Именно это отличает лист с цветами от системы, которую разработчик может внедрить, не задавая отдельный вопрос про каждое взаимодействие.

Токены Action: primary и secondary в состояниях initial, hover, pressed и disabled, у каждого — значение для светлой и тёмной темы с hex-кодами.
Токены действий вместе с состояниями. Фиолетовый и лаймовый, которые вы видите на этой странице, — ровно эти значения: сайт покрашен в ту систему, о которой рассказывает.
Полное полотно семантических цветовых токенов, сгруппированных по Background, Surface, Content, Border, Action и продуктовым группам.
Полное полотно токенов, сгруппированных по роли, а не по оттенку. Оно намного выше, чем шире, поэтому скроллится внутри рамки — кликом открывается полный размер.

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

кнопки — light Компонент кнопки в светлой теме со всеми размерами, иерархиями и состояниями.
кнопки — dark Тот же компонент кнопки в тёмной теме, состояние в состояние.
Один компонент, все варианты и состояния, в обеих темах.
Выпадающие меню во всех состояниях: обычное, наведение, выбранное, ошибка и вариант с поиском.
Дропдауны в полный размер — все состояния, в которых меню может оказаться, включая те, о которых обычно забывают спросить.
контролы Чекбоксы, радиокнопки, переключатели и их состояния: обычное, наведение, фокус, недоступное.
таблица Паттерн таблицы с шапкой, состояниями строк, выделением и пагинацией.
Контролы и паттерн таблицы.
теги и бейджи Компоненты тегов и бейджей в цветовых вариантах.
навигация Паттерн боковой навигации с активным, наведённым и свёрнутым состояниями.
Теги, бейджи и паттерн навигации.
Широкое полотно библиотеки общих компонентов: сверху светлая тема, снизу тёмная.
Полотно Common Components — вся библиотека на одном холсте, светлая тема сверху, тёмная снизу. скролл →
Типографический кит: шкала как именованные стили с размером, начертанием и интерлиньяжем.
Типографический кит — это набор именованных стилей, а не стопка кеглей; именно поэтому его можно внедрить в код.
иконки — light Часть набора из 275 иконок в светлой теме.
иконки — dark Те же иконки в тёмной теме.
275 иконок, которые ведутся как компоненты, а не как файлы.
Обзор паттернов модальных окон: подтверждения, формы и контентные модалки.
Паттерны модалок — одно поведение, несколько форм содержимого.
гайд по палитре Гайд по палитре с рядами оттенков и правилами применения.
бренд-цвета Дополнительные бренд-цвета и места их применения.
Гайд по палитре, который стоит за токенами.

Система, которая осталась живой

В файле лежат датированные страницы changelog — обновления компонентов и цветов записаны тогда, когда происходили. Это и отличает дизайн-систему от UI-кита: кто-то должен продолжать отвечать на вопросы о ней спустя месяцы. Когда команда разработки позже перешла на shadcn/ui, у системы уже был словарь токенов и компонентов — и переход оказался миграцией, а не стартом с нуля.

С кем работала

  • Head of Product — ревью макетов, маркетинговая аналитика решений
  • Тимлид разработки и фронтенд-инженеры — внедрение библиотеки в Storybook, брейнстормы по реализации и обсуждение лучших решений
  • CEO — приносил идеи фич

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

Глава 03

Онбординг для билдера

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

4 конкурирующих продукта разобраны по одной методике — вход, регистрация, дашборд — ещё до первого экрана
  • Регистрация и настройка пересобраны — OAuth как полноценный вход, настройка спрашивает по одному шагу за раз
  • Все состояния нарисованы — ошибки, пустые состояния, загрузка, ожидание подтверждения
  • Передано в разработку готовым, в той же библиотеке, что и остальной продукт
продукт
Регистрация и первичная настройка Qonversion — онбординг B2B SaaS
роль
Продуктовый дизайнер
команда
Head of Product, фронтенд-инженеры
что сделано
Конкурентный ресёрч по 4 продуктам, новые флоу регистрации и настройки с полным покрытием состояний
метод
Сначала аналитика, потом разбор конкурентов, и только потом дизайн

Задача была собрать онбординг для No-Code Builder: путь от первой регистрации до продукта, который реально настроен и подключён. Урон в этом пути наносят два места — подтверждение почты, которое тихо останавливает человека ещё до старта, и сама настройка, которая просит всё сразу.

Эти находки и задали принципы дизайна. Сделать OAuth полноценным равным входом, чтобы письмо с подтверждением перестало быть шлагбаумом. Применить progressive disclosure, чтобы настройка спрашивала по одной вещи за раз, а не выкатывала стену полей. И считать привязку приложения и установку SDK настоящей целью онбординга — потому что именно в этот момент, если верить цифрам, пользователь становится платящим.

Параллельно я разобрала четыре конкурирующих продукта — Adapty, RevenueCat, AppHud и Purchasely — по одной и той же методике: sign in, sign up, dashboard. Сравнение одних и тех же трёх моментов в четырёх продуктах делает различия аргументом, а не украшением.

Полотно конкурентного ресёрча: экраны входа, регистрации и дашборда Adapty с разбором.
Конкурентный ресёрч — Adapty. скролл →
Полотно конкурентного ресёрча: экраны входа, регистрации и дашборда RevenueCat с разбором.
Конкурентный ресёрч — RevenueCat. скролл →
Полотно конкурентного ресёрча: экраны входа, регистрации и дашборда AppHud с разбором.
Конкурентный ресёрч — AppHud. скролл →
Полотно конкурентного ресёрча: экраны входа, регистрации и дашборда Purchasely с разбором.
Конкурентный ресёрч — Purchasely. скролл →

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

Новый экран регистрации в светлой теме: форма почты и рядом варианты входа через OAuth.
Новая регистрация. OAuth стоит рядом с формой почты, а не за ней, — и да, экран существует в обеих темах, как и всё остальное в этом продукте.
регистрация — пусто Экран регистрации в тёмной теме со всеми пустыми полями.
регистрация — ошибки Тот же экран с ошибками валидации в полях и на чекбоксе соглашения.
регистрация — заполнено Тот же экран заполнен, промокод принят, основная кнопка активна.
Один экран, три состояния — пусто, не прошло валидацию, заполнено. Это тот уровень покрытия, который нужен передаче, если не хочется, чтобы остальное придумывала разработка.
Экран «проверьте почту» после регистрации с действием «отправить письмо повторно».
Тот самый шаг с письмом, который обвинили данные: сорок процентов людей сюда не возвращались — поэтому OAuth не «вежливо добавили», а подняли на первый план.
настройка 1/3 — данные приложения Шаг настройки с вопросами про название приложения, категорию и диапазон MRR.
настройка 2/3 — подключение сторов Шаг настройки для подключения аккаунтов App Store, Google Play и Stripe.
Настройка по одному вопросу за раз, со счётчиком шагов на виду — progressive disclosure на практике.
Шаг настройки для установки SDK с вкладками платформ iOS, Android, Cordova, React Native, Flutter, Unity и Capacitor и сниппетами кода для каждой.
Шаг с SDK — то, ради чего онбординг вообще существует: продукт начинает работать только после подключения приложения.
Обзорное полотно всего флоу онбординга, экран за экраном, со связями между шагами.
Весь флоу на одном полотне — в том виде, в каком он передавался. скролл →

С кем работала

  • Head of Product — ревью макетов, маркетинговая аналитика решений
  • Фронтенд-инженеры — брейнстормы по реализации: что регистрация реально умеет и какие состояния им нужны от меня

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

Связаться

Открыта к ролям продуктового дизайнера: удалённо в Европе и Евразии или гибрид в Сербии. Быстрее всего написать на почту или в телеграм.