Ozon — дизайн-система как продуктовая инфраструктура: несколько DS, процессы и Backend‑Driven UI
в масштабе маркетплейса дизайн-система — это не «сделать UI-kit», а выстроить инфраструктуру и процессы, которые обслуживают разные продуктовые контуры и технологические архитектуры.
Главное
в масштабе маркетплейса дизайн-система — это не «сделать UI-kit», а выстроить инфраструктуру и процессы, которые обслуживают разные продуктовые контуры и технологические архитектуры.
Фокус: многосистемность (несколько дизайн-систем под разные контуры), токены как «источник правды» в JSON, процессы и роли, контекстные команды «стандартов», архитектура Backend‑Driven UI (контракты/атомы/виджеты), измерение удовлетворённости (CSI).
Контекст: дизайн-система начиналась как инициатива дизайнеров для внутренних продуктов; затем бизнес увидел выгоду.
Контекст
Контекст: как появилась дизайн-система в Ozon
История запуска начинается с инициативы дизайнеров: изначально UI‑kit создавался не для клиентского приложения/сайта, а для внутренних продуктов. Далее «выгоду» почувствовал бизнес, и направление стало масштабироваться.
Позиционирование и цели
в масштабе маркетплейса дизайн-система — это не «сделать UI-kit», а выстроить инфраструктуру и процессы, которые обслуживают разные продуктовые контуры и технологические архитектуры.
2. Цели: в первую очередь cost/time‑to‑market, а не бренд‑консистентность
В интервью подчёркивается различие приоритетов: поскольку старт был во внутренних продуктах, ключевой целью стала оптимизация — сделать «проще, быстрее и дешевле» в дизайне и разработке. Консистентность рассматривается как важная, но в этой ветке — не первичная по сравнению с экономией времени и стоимости.
Состав системы
Архитектура: несколько дизайн-систем и разные технологические стеки
Ozon работает не с одной «универсальной» дизайн-системой: выделяются отдельные контуры (например, клиентский покупатель, продавец, внутренние продукты), а также отдельные технологические стеки под платформы. Отдельно проговаривается, что мобильная дизайн-система переезжала на новые технологии (например, SwiftUI и Compose), а на вебе используются разные фреймворки в зависимости от контура.
Токены и темы: JSON как источник истины + кор‑палитра и семантика
Токенная инфраструктура описывается как строго инженерная: «главная точка» — JSON. В случае расхождений приоритет отдаётся токенам в кодовом представлении, а не дизайну в Figma. При этом используется общая кор‑палитра (растяжки оттенков), а над ней — семантические палитры для отдельных дизайн-систем. Темизация через переменные рассматривается как базовая необходимость для покрытия большого количества кейсов.
Роли и оргструктура: команда дизайн-систем + команды «стандартов»
Кейс подчёркивает организационную особенность: между продуктом и дизайн-системой есть отдельные команды «стандартов». Они консолидируют запросы продуктовых дизайнеров, берут ответственность за гайдлайны и отвечают на вопрос «как использовать компоненты». Дизайн-система при этом отвечает за вопрос «что делает компонент» и за текст‑спеки/техническую часть, привязанную к компоненту. Такое разделение снижает риск оторванности DS‑команды от продуктового контекста.
Процессы развития
Принципы: удобство, прозрачность процессов и управляемая консистентность
В интервью сформулированы три практических принципа. Во‑первых, удобство для потребителей дизайн-системы (дизайнеров и разработчиков): перегруженные гайды и сложные компоненты повышают риск ошибок и снижают фактическое использование. Во‑вторых, прозрачность: процессы описаны так, чтобы на типовые вопросы всегда был «куда отправить». В‑третьих, консистентность обеспечивается даже при наличии нескольких дизайн-систем — через общие ритуалы синхронизации внутри команды.
Процессы запросов и приоритизация: дизайн-система «от потребителей»
Развитие системы строится от потребителей: основной триггер — запрос продуктовых дизайнеров. Перед попаданием в дизайн-систему запрос проходит валидацию: цель — отсечь «лишнее» и оставить то, что действительно будет использоваться несколькими продуктами. Если функциональность нужна нескольким продуктам, её фиксируют как часть дизайн-системы; если это локальная история — она остаётся на уровне продукта.
Коммуникации и вовлечение: Q&A‑встречи, демо и CSI‑опросы
В кейсе описан набор регулярных коммуникаций: еженедельные встречи формата вопросов/объявлений, большие демо раз в полгода и сбор обратной связи через CSI‑опрос. CSI используется как продуктовая метрика для внутреннего продукта: важно понимать, насколько дизайн-система удобна и понятна пользователям внутри компании.
Контроль качества
Контроль качества и риски: legacy, неправильное использование токенов и перфоманс
Один из типовых рисков в масштабе — наследие и некорректное использование токенов продуктами. При попытке крупных изменений могут всплывать рассинхроны: продукты использовали токены не по правилам, и тема/перекраска «не сходится», что требует ручного разбора. Отдельный продуктовый фактор — производительность: в e‑commerce задержка загрузки экрана быстро конвертируется в потери.
ИИ и будущее: ускорение производства и риск «ИИ ради галочки»
В интервью ИИ рассматривается как инструмент ускорения: дизайнеры уже используют ассистентов и плагины, а возможное будущее — проектирование ближе к коду. При этом отдельно проговаривается риск «псевдо‑ИИ», когда функцию добавляют ради тренда, но ей почти никто не пользуется.
Масштабирование и внедрение
Эволюция границ: слияния и разделения дизайн‑систем
Кейс фиксирует динамическую природу границ дизайн-систем: системы то объединяют, то разделяют в зависимости от приоритетов продуктов и давления на ресурсы. Сейчас проговаривается проект объединения мобильных контуров в единую систему («UNI»), где все мобильные приложения переезжают на одну платформу компонентов — это большой и сложный проект.
Уникальные практики и «фишки» кейса
-
Backend-Driven UI и «атомы»В клиентском контуре экран не собирается вручную из компонентов — приходит с бэка как набор виджетов. Компонент сам по себе не конечная сущность: связка «компонент + контракт» называется атомом, виджеты собираются из атомов. Даёт гибкость и приближает к «безрелизным» обновлениям в больших потоках A/B.
-
JSON как единый источник правды для токеновВся токенная инфраструктура живёт в JSON, а не в Figma. При расхождении приоритет у кода: «в JSON ошибки быть не может». Снимает классическую проблему «дизайн и код живут по-разному» и убирает споры, чей токен правильный.
-
Трёхслойная палитра: кор → семантика → компонентОбщая кор-палитра с растяжками оттенков — поверх неё семантические палитры для каждой из нескольких DS — поверх них компонентный уровень. Одни и те же оттенки, но разный «язык» на каждом уровне: пересобирать бренд можно не трогая базу.
-
Команды «стандартов» как прослойка между продуктом и DSМежду продуктовыми дизайнерами и командой DS работают отдельные команды стандартов. Они консолидируют запросы, отвечают на вопрос «как использовать компоненты», пишут гайдлайны. DS-команда отвечает только за «что делает компонент» — без них быстро уходит из продуктового контекста.
-
Несколько DS вместо «одной на всё»Ozon сознательно держит разные DS под разные контуры: клиентский покупатель, продавец, внутренние продукты. Каждая под свой стек (SwiftUI/Compose, разные веб-фреймворки). Проект UNI — объединение мобильных DS — большой и сложный именно потому, что исторически систем несколько.
-
CSI-опросы удовлетворённости раз в полгодаВнутренним пользователям DS раз в полгода замеряют CSI как продуктовую метрику. Даёт честный сигнал о проблемах, которые команда сама не проговаривает, и защищает бюджет DS через количественные показатели.
-
Q&A-встречи и демо как отдельный канал коммуникацииРегулярные встречи «вопросы и ответы» + демо новых компонентов делают DS-команду видимой, снижают нагрузку на чат поддержки и дают продуктовым дизайнерам канал влияния на роадмап.
Выводы и принципы
Что можно перенять другим командам
- Фиксировать цель дизайн-системы и приоритеты (cost/time‑to‑market vs бренд‑консистентность) исходя из контекста продукта.
- Держать токены в едином «источнике истины» и строить над ним семантические уровни для разных контуров и тем.
- Выстраивать процессы и документацию так, чтобы на типовой вопрос всегда была ссылка/ответ — иначе система становится “устной традицией”.
- Разделять ответственность: кто отвечает за «что делает компонент», а кто — за «как применять в продукте» (роль стандартов/гайдлайнов).
- Развивать систему от потребителей и валидировать запросы: то, что нужно нескольким продуктам, уходит в DS; локальное — остаётся в продукте.
- В e‑commerce учитывать перфоманс как системный фактор: UI‑решения должны работать в рамках скорости загрузки и экспериментов.
- Принять, что дизайн‑система динамична: объединение/разделение контуров — нормальная управленческая стратегия, а не “ошибка архитектуры”.
«…изначально была инициатива дизайнеров… и создавали UI-кид именно для внутренних продуктов…»
«Потом уже бизнес почувствовал выгоду и как бы понеслось.»
«…в первую очередь… про ТП. Срезать все косты и по дизайну, и по разработке… делать проще, быстрее и дешевле.»
«…у нас несколько дизайн-систем. У нас есть чисто мобильная дизайн-система… Swift UI…»
«У нас всё-всё на джейсонах. И вся правда… Главная точка — это Джейсон.»
«…может быть ошибка в Figme, но в Джейсоне ошибки быть не может.»
«…есть кор-палитра… растяжки… она общая… и уже из этих растяжек берутся тона в семантические…»
«…тимизация у нас есть через переменные… Это база.»
«…стандарты… помогают общаться продуктовым дизайнерам с моими дизайнерами…»
«…на вопрос, как использовать эти компоненты, отвечают стандарты… какие варианты валидны, а какие невалидны.»
«…главное удобство… если у тебя слишком много написано, человек не читает… делает ошибку…»
«…у нас на каждый чих есть процесс или какая-нибудь документация…»
«…основные наши заказчики — продуктовые дизайнеры… мы ведём именно от потребителей.»
«…огромный процесс, как провалидировать их заказ… помогает всякое… сразу отсекать.»
«…если есть у нескольких продуктов… два‑три… — всё это точно мы кладём в дизайн-систему.»
«…есть у нас демо большие, раз в полгода… вот мы сделали за полгода…»
«…CSI-опрос… QR‑код… каждые полгода… можно анонимно оставить просьбы, улучшения…»
«…дизайн-система — это тоже внутренний продукт… у тебя тоже пользователи — это твои коллеги…»
«…куча Legacy… запускаешь… и у тебя не сходится, потому что продукты неправильно использовали токены…»
«…для Ecoma… перф… если страница грузится чуть дольше, покупатель уходит.»
«…дизайнеры постоянно сидят… в клоде… какие-то плагины…»
«…вписывается… но… добавляют везде ради того, чтобы добавить… фичу, которой пользуются три коллеги…»
«…постоянные слияния, разлияние дизайн-систем… мы снова объединяемся… это будет регулярно происходить.»
«…объединение… мы её назвали Юни… все мобильные приложения… будут на одной дизайн-системе.»
«…изначально была инициатива дизайнеров… и создавали UI-кид именно для внутренних продуктов…»
«Потом уже бизнес почувствовал выгоду и как бы понеслось.»
«…в первую очередь… про ТП. Срезать все косты и по дизайну, и по разработке… делать проще, быстрее и дешевле.»
«…у нас несколько дизайн-систем. У нас есть чисто мобильная дизайн-система… Swift UI…»
«…у нас… Bekend Driving UI… тебе приходит история с бэка, и у тебя виджетами отрисовывается экран.»
«…компонент… никто не пользуется. У этого компонента есть контракт… компонент с контрактом… мы называем это атом.»
«…виджеты… как маленькие шаблончики… баннер… карусель… набор виджетов приходит с бэка…»
«…главное удобство… если у тебя слишком много написано, человек не читает… делает ошибку…»
«…у нас на каждый чих есть процесс или какая-нибудь документация…»
«У нас всё-всё на джейсонах. И вся правда… Главная точка — это Джейсон.»
«…может быть ошибка в Figme, но в Джейсоне ошибки быть не может.»
«…есть кор-палитра… растяжки… она общая… и уже из этих растяжек берутся тона в семантические…»
«…тимизация у нас есть через переменные… Это база.»
«…стандарты… помогают общаться продуктовым дизайнерам с моими дизайнерами…»
«…на вопрос, как использовать эти компоненты, отвечают стандарты… какие варианты валидны, а какие невалидны.»
«…основные наши заказчики — продуктовые дизайнеры… мы ведём именно от потребителей.»
«…огромный процесс, как провалидировать их заказ… помогает всякое… сразу отсекать.»
«…если есть у нескольких продуктов… два‑три… — всё это точно мы кладём в дизайн-систему.»
«…есть у нас демо большие, раз в полгода… вот мы сделали за полгода…»
«…CSI-опрос… QR‑код… каждые полгода… можно анонимно оставить просьбы, улучшения…»
«…дизайн-система — это тоже внутренний продукт… у тебя тоже пользователи — это твои коллеги…»
«…куча Legacy… запускаешь… и у тебя не сходится, потому что продукты неправильно использовали токены…»
«…для Ecoma… перф… если страница грузится чуть дольше, покупатель уходит.»
«…постоянные слияния, разлияние дизайн-систем… мы снова объединяемся… это будет регулярно происходить.»
«…объединение… мы её назвали Юни… все мобильные приложения… будут на одной дизайн-системе.»
«…дизайнеры постоянно сидят… в клоде… какие-то плагины…»
«…вписывается… но… добавляют везде ради того, чтобы добавить… фичу, которой пользуются три коллеги…»