> cat cases/flight-planning-nda/*.md
╔══════════════════════════════════════════════════════════════════╗ ║ ★ FLAGSHIP · 202… · флагман ║ ╠══════════════════════════════════════════════════════════════════╣ ║ ║ ║ АВИАЦИОННАЯ ОПЕРАЦИОННАЯ СИСТЕМА ║ ║ ║ ╚══════════════════════════════════════════════════════════════════╝
Большая внутренняя система для авиационной команды: много ролей, плотные таблицы, настройки и состояния. Я помог собрать навигацию, фильтры, карточки и модальные сценарии так, чтобы пользователь быстрее понимал, где он находится и что делать дальше.
role : Продуктовый дизайнер в команде: переводил входящие бизнес-задачи в ролевые сценарии, защищал паттерны хедера, фильтров, таблиц и модалок на ревью и готовил решения к разработке вместе с лидом, дизайнерами и инженерами
что изменилос… : Типовой путь стал короче на два шага
tags : Энтерпрайз, Планирование, Несколько ролей, Дизайн-паттерны, Ant Design, Авиация> cat sections/01-context.md
# § 01 · КОНТЕКСТ
Старый процесс и плотный multi-role workflow
Внутри продукта планировщики собирают расписание рейсов и назначают экипажи: КВС, второго пилота, бортпроводников и старших бортпроводников. Параллельно живут модули обучения, графиков, окон под полёты, общих событий и связок рейсов.
У каждой роли — свой кабинет. Пилоты и бортпроводники видят свои планы, могут запрашивать отпуск, больничный, выходной и обучение. Руководители скорее просматривают и изучают данные.
Сценарий высоконагруженный: большой штат, много зависимостей, плотный набор ограничений и дорогая ошибка в расписании. Раньше такие процессы могли вестись вручную, затем их закрывали legacy-системы с интерфейсной логикой 90-х.
[01] Несколько ролей в одном продукте, у каждой свои сценарии [02] Замена legacy-системы с интерфейсной логикой 90-х [03] Продукт построен на Ant Design — паттерны приходилось адаптировать
> cat sections/02-interface-screens.md
# § 02 · ИНТЕРФЕЙС
Сначала реальные рабочие экраны, потом схемы
В кейсе теперь на первом плане интерфейсные кадры из Figma: карточка персонала, фильтры, пресеты и настройка колонок. Схемы ниже оставлены как рабочие материалы, чтобы не подменять продукт абстрактными картинками.
[01] Карточка персонала показывает плотность данных и ролевой контекст [02] Фильтры и пресеты показывают, как пользователь настраивает рабочий вид [03] Настройка колонок показывает системный слой для больших таблиц
> cat sections/03-problem.md
# § 03 · ПРОБЛЕМА
Один продукт расходился на четыре несовместимых поведения
Главная проблема была не в одном экране, а в том, что похожие задачи решались по-разному в разных модулях. Хедер смешивал контент-переходы, фильтрацию, переключение роли и запуск модалок. Пользователь не мог заранее понять, что произойдёт по клику.
Та же разрозненность проявлялась дальше: в таблицах горизонтальный скролл уносил критические колонки за край экрана, фильтры были устроены слишком плоско для операционного домена, а модалки расползались в цепочки вложенных окон.
[01] Хедер: четыре смешанные группы функций без предсказуемой логики [02] Таблицы: горизонтальный скролл, pinned-колонок нет [03] Фильтры: плоский список без групп условий [04] Модалки: модалка-в-модалке-в-модалке
> cat sections/04-role.md
# § 04 · РОЛЬ
Моя зона — собрать повторяемые паттерны внутри командной разработки
Подключился на поток бизнес-задач от аналитиков. Формальная зона — макеты для конкретных задач, практическая — собрать повторяемые паттерны, чтобы продукт перестал расходиться по модулям.
Я раскладывал задачи через ролевую модель: какая роль, с какими сущностями она работает, какой сценарий проходит. После этого защищал решения на ревью и передавал их в разработку. Это была team-based работа с лидом, другими дизайнерами и инженерами, не solo ownership claim.
[01] Ролевая модель → сценарии → паттерны → экраны [02] Четыре reusable pattern вместо локальных решений [03] Передача в разработку — часть моей работы, не следующая фаза
> cat sections/05-artifact-inspection.md
# § 05 · КАК СМОТРЕТЬ АРТЕФАКТЫ
Ищите не красивые экраны, а четыре reusable pattern
Главные изображения в кейсе теперь показывают реальные интерфейсные фрагменты из Figma с закрытыми персональными данными. Схемы ниже оставлены как рабочие материалы: они помогают понять, как решение раскладывалось по хедеру, фильтрам, таблицам и модалкам.
[01] Decision delta: problem -> intervention -> proof по четырем паттернам [02] Хедер: левая зона контекста и правая зона действий [03] Фильтры: дерево условий и `7 → 5` только как local UX measure [04] Таблицы: pinned-колонки удерживают критические поля [05] Модалки: один большой формат вместо цепочки вложенных окон
> cat sections/06-decision-header.md
# § 06 · РЕШЕНИЕ № 01 · НАВИГАЦИЯ
Хедер разделил на две зоны вместо четырёх смешанных групп
В старой версии хедер собирал четыре разнородные группы: контент-переключатели, фильтры, переключатель роли, триггеры модалок. Пользователь не мог предсказать, что произойдёт по клику. Конфликты возникали даже на уровне статуса: выбран подраздел, у этого подраздела свой статус — всё это нужно было уместить в одной полоске.
Новая концепция: левая часть — общая информация о модуле и переход между подразделами плюс часть общих действий. Правая часть — только функции, которые влияют на контент текущего раздела.
Часть функций я не вынес ниже по иерархии сознательно: вертикальное пространство в продукте важнее горизонтального, и плодить дополнительный уровень интерфейса было нельзя.
[01] Левая зона — где я и куда могу перейти [02] Правая зона — что я могу сделать с тем, что вижу [03] Сохранили вертикальное пространство, не добавляя ярус
> cat sections/07-decision-filters.md
# § 07 · РЕШЕНИЕ № 02 · ФИЛЬТРЫ
От плоского списка параметров к дереву условий с группами
Реальные операционные фильтры здесь — это не маркетплейс. Десятки параметров с вложенностями, условиями вида «И / ИЛИ» и группами. Без вложенности пользователь не мог собрать нужный запрос за разумное число кликов.
Я перебрал концепты, в финале вернулся к существующей логике как ядру: оставил её, доработал деталями, переработал поведение. Фильтр стал отдельным самостоятельным функциональным слоем, который повторно применяется в каждом крупном модуле.
Замер UX-шага: путь от выбора фильтра до результата сократился с примерно ==7 кликов до 5==.
[01] Группы условий вместо плоского списка [02] Вложенность — первичный паттерн, не исключение [03] 7 кликов → 5 на типовой операционный запрос, только как local UX measure
> cat sections/08-decision-tables.md
# § 08 · РЕШЕНИЕ № 03 · ТАБЛИЦЫ
Pinned-колонки удержали важные данные перед глазами
Таблицы были самым плотным местом. Горизонтальный скролл уносил критические колонки за край экрана, иерархии не было, элементы слипались. Подходы к таблицам в разных модулях расходились — каждый раз решали заново.
Я зафиксировал основные колонки как pinned и развёл уровни визуальной иерархии: ключевые поля — крупнее, вторичные — тише, статусы — отдельным слоем. Долго спорили по UI, в моменте казалось, что решение хорошее, дальше через шторминг приходили к более чистому варианту.
[01] Pinned-колонки для критических полей [02] Иерархия плотных данных через шрифт и контраст, не через границы [03] Скролл стал предсказуемым, статусы перестали теряться
> cat sections/09-decision-modals.md
# § 09 · РЕШЕНИЕ № 04 · МОДАЛКИ
Стандартизировал большой формат вместо цепочки вложенных окон
В старой версии модалки часто открывали другие модалки. Пользователь кликал туда-сюда, терял контекст и нагружался когнитивно. Между уровнями ещё и расходился UI.
Стандартизировал большой формат модального окна. Сценарий, который раньше требовал двух-трёх переключений между уровнями, поместился в один большой формат с внутренними секциями. Универсальный паттерн для типовых форм.
[01] Один большой формат вместо вложенных модалок [02] Меньше переключений между уровнями, понятнее контекст [03] Универсальный паттерн для типовых форм
> cat sections/10-result.md
# § 10 · СИГНАЛЫ ЭФФЕКТА
Что изменилось для пользователей — без бизнес-KPI
Изменения для пользователей были не в декоративном UI, а в предсказуемости сценариев: хедер разделил контекст и действия, фильтры начали выражать вложенность, таблицы удержали критические поля, а модалки перестали вести по цепочке вложенных окон.
Local UX measure: типовой путь от выбора фильтра до результата описан как примерно 7 кликов → 5. Это замер сценария, not product KPI.
Qualitative feedback: руководству и заказчику понравился новый вид продукта. Это feedback signal, not quantified metric.
Прямых продуктовых KPI в raw answers нет, поэтому публично не заявляю business impact, adoption, time saved или support reduction.
[01] Local UX measure: 7 → 5 кликов на типовой операционный запрос [02] Qualitative feedback: руководству и заказчику понравился новый вид продукта [03] Product KPI: не заявляется, источник отсутствует
> cat sections/11-nda.md
# § 11 · ЗА NDA
Что нельзя показать публично
Реальные интерфейсы, реальные данные пилотов, внутренние имена модулей и чувствительный клиентский контекст остаются под NDA. В портфолио — только структурные схемы решений без раскрытия конкретики.
Если важны интерактивные артефакты или production screenshots, их можно обсуждать только в отдельной NDA-границе. Публичная версия показывает product logic и доказательные артефакты, а не операционные детали.
> ls ../