Разрозненные паттерны
Одинаковые сущности, статусы и действия решались по-разному в соседних частях продукта. Это ломало предсказуемость и для пользователей, и для команды.
Когда я пришёл на проект, продукт не устраивал заказчика ни по визуалу, ни по качеству решений. За короткий срок я пересобрал интерфейсный слой, собрал дизайн-систему с нуля на базе Ant Design и выстроил работу дизайнеров так, чтобы система наконец стала цельной и управляемой.
Из-за NDA я не раскрываю регион, бренд и часть предметных сущностей. Но здесь сохранены реальные задачи, моя зона ответственности, ход работы и то, как именно я влиял на качество продукта, команду дизайнеров и результат для заказчика.
Что было ключевым
Проблема проекта была глубже визуала: разные сценарии жили по разным правилам, команда проектировала неравномерно, а заказчик не видел в продукте целостности.
Контекст продукта
Платформа помогала контролирующим органам и участникам строительного процесса видеть, где тормозится услуга, на каком этапе завис документ, кто отвечает за следующий шаг и где уже появились проблемные зоны. Внутри было много ролей, много статусов, много документов и длинные сценарии с юридическим весом.
В одном интерфейсе сходились контроль сроков, маршруты документов, замечания, возвраты на доработку, разрешительные сценарии и прозрачность для разных участников процесса. Пользователю нужно было не просто “заполнить форму”, а быстро понять, что происходит и где именно сломалось движение услуги.
Когда паттерны расходятся, пользователь дольше ищет нужное действие, команда каждый раз заново спорит о базовых решениях, а заказчик перестаёт доверять продукту как инструменту. В этом проекте качество интерфейса напрямую влияло на ощущение управляемости всей системы.
Проблема до меня
Снаружи это выглядело как вечные правки и недовольство заказчика. Но внутренняя причина была в другом: интерфейсный слой рос фрагментами, паттерны не держались, решения не повторялись, а одно и то же действие в разных местах продукта могло выглядеть и работать по-разному.
Одинаковые сущности, статусы и действия решались по-разному в соседних частях продукта. Это ломало предсказуемость и для пользователей, и для команды.
Без foundations, компонентов и правил продукт развивался через ручные исключения. Каждая новая задача тащила за собой новые визуальные и логические расхождения.
Когда нет единого стандарта качества, сильные дизайнеры тянут уровень вручную, а слабые множат расхождения. На сложном B2G-проекте это чувствовалось особенно сильно.
Даже хорошие точечные экраны не убеждали клиента, если рядом продукт выглядел и вёл себя по-другому. Требовалось не “подкрасить”, а стабилизировать продукт целиком.
Я быстро понял, что точечные правки не спасут проект. Нужна была единая интерфейсная основа, набор повторяемых правил и понятный критерий качества, чтобы и заказчик, и команда наконец увидели в продукте систему.
Не отдельные “некрасивые” экраны, а отсутствие общей логики, единых паттернов и устойчивого качества.
Моя lead-роль
Моя задача была не просто рисовать новые макеты. Я отвечал за то, чтобы пересобрать интерфейсный слой, создать систему, поднять качество решений внутри команды и привести продукт к состоянию, в котором его можно уверенно показывать и развивать дальше.
Для меня lead-роль здесь заключалась не в контроле ради контроля, а в том, чтобы команда перестала решать один и тот же класс проблем заново. Я старался переводить обсуждение из вкусовщины в понятные принципы: что у нас считается базовым паттерном, где нужно расширение, а где нельзя плодить новый компонент только потому, что “так сейчас удобнее”.
“Для меня эта работа была не про набор компонентов. Я фактически собирал общий язык, на котором продукт, команда и заказчик наконец начали понимать друг друга.”
Lead designer role / реальный NDA-проектПодход к пересборке
В сложных B2G и enterprise-продуктах красивые фрагменты бесполезны, если в основе нет повторяемых решений. Поэтому первым шагом для меня была не гонка за новыми экранами, а быстрая стабилизация базового слоя: принципы, foundations, ключевые компоненты, правила применения и понятная точка контроля качества.
Сверил существующие сценарии, таблицы, формы, статусы, действия и типовые ошибки.
Зафиксировал, где паттерны должны быть едиными и что нельзя решать по-разному.
Взял Ant Design как надёжную основу и адаптировал её под задачи реального продукта, а поверх собрал собственный слой сложных компонентов для сценариев, которые были схожи по сути, но заметно отличались по внутренней логике и статусам.
Через регулярные разборы и обучение поднял качество решений внутри команды.
Новые и переработанные интерфейсы начали говорить с пользователем на одном языке.
Design system
Я выбрал Ant Design как базу не ради “быстрой сборки из готового”. Для enterprise-среды он дал надёжный фундамент: предсказуемые паттерны, знакомую логику таблиц, форм и состояний. Дальше я адаптировал этот фундамент под задачи продукта и собрал поверх него свой слой правил, визуального языка и продуктовых сценариев.
Foundations, типографика, цветовая семантика, сетка, отступы, таблицы, фильтры, формы, модалки, статусы, документные сценарии, правила действий и общие паттерны для перегруженных экранов. Отдельно проектировал сложные компоненты, которые позволяли закрывать несколько близких сценариев без потери предсказуемости.
Команда перестала каждый раз придумывать заново базовые решения. У дизайнеров появилась опора, у продукта — единый визуальный и логический язык, а у заказчика — ощущение, что перед ним наконец не набор кусков, а взрослый управляемый сервис.
Я собирал систему так, чтобы она помогала команде, а не усложняла ей жизнь. Хорошая design system в таком контексте должна ускорять работу, убирать лишние споры и давать устойчивое качество даже на сложных сценариях.
Работа с дизайнерами
Для меня lead-дизайн здесь был не только про “самому сделать лучше всех”. Важнее было сделать так, чтобы команда в целом проектировала сильнее. Поэтому я не ограничивался правками макетов: разбирал сценарии, объяснял причинно-следственные связи, показывал, где решение ломает систему, и помогал дизайнерам видеть продукт шире одного экрана.
Логику действий, читаемость перегруженных экранов, иерархию, паттерны таблиц и форм, семантику статусов, работу с edge cases и плотность интерфейса.
Не просто правил за дизайнера, а объяснял принцип: почему решение слабое, чем оно ломает систему и как его улучшить так, чтобы в следующий раз человек сам принял более сильное решение.
Меньше повторяющихся ошибок, больше самостоятельности в типовых и сложных сценариях, более ровное качество и меньше ручных “спасательных операций” в конце.
Я видел свою задачу не в том, чтобы держать всё на себе, а в том, чтобы команда могла развивать продукт системно и без постоянной потери качества.
Я не просто вылавливал ошибки. Я старался собирать у дизайнеров более зрелое проектное мышление: видеть паттерн, оценивать влияние решения на систему и держать единый уровень качества без постоянного ручного контроля.
Результат
Самым важным итогом для меня было не наличие библиотеки компонентов как таковой, а то, что проект перестал разваливаться на части. У продукта появился единый интерфейсный язык, команда начала работать ровнее, а заказчик наконец увидел в решениях последовательность, а не набор отдельных попыток попасть в ожидания.
Продукт начал восприниматься как единая система, а не как набор экранов, сделанных разными людьми в разное время.
Новые экраны стало проще собирать и согласовывать, потому что команда опиралась на общую основу, а не начинала с нуля.
Обучение и ревью дали более ровное качество: меньше случайных решений и больше самостоятельности у дизайнеров.
Клиент начал принимать решения предметнее, потому что видел не хаос, а систему с понятной логикой и устойчивым визуальным языком.
Что этот кейс говорит обо мне
Он показывает меня не как человека, который просто делает хорошие макеты, а как дизайнера, который умеет стабилизировать сложный продукт и делать сильнее не только интерфейс, но и команду вокруг него.