Концепт · Рабочий веб-прототип · 2026

Leeway

Leeway помогает пассажирам спланировать приезд в аэропорт Бен-Гурион: заранее забронировать окно для досмотра и следить за своим продвижением по аэропорту.

  • Исследование, дизайн и код
  • 12 экранов
  • 4 языка
  • Рабочий прототип

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

01 Задача

Роль
Самостоятельно: исследование, UX/UI-дизайн, дизайн-система, прототип в коде
Контекст
Дипломный проект, курс UX/UI и продуктового дизайна, John Bryce
Инструменты
Figma, FigJam, HTML/CSS/JS, AI-ассистент для кода
Результат
Пакет исследований, дизайн-система в Figma, прототип из 12 экранов на 4 языках

Никто не знает, сколько займёт аэропорт

В Бен-Гурионе вылетающие пассажиры проходят короткое интервью службы безопасности прямо на входе в терминал, ещё до регистрации. Его длительность трудно предсказать, поэтому большинство просто приезжает за три часа. Leeway заменяет эту догадку забронированным окном.

«Я всегда приезжаю в аэропорт примерно за три часа до вылета».Респондентка 4 (перевод с иврита)

02 Исследование и направление

Проблема планирования, а не очереди

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

  1. 3/4респондентов

    Приезжают в одно и то же время, независимо от загрузки

    За 2,5–3,5 часа до вылета, каждый раз.

    Ответ в дизайнеОкна строятся от времени вылета рейса.

  2. 3/4респондентов

    Узкое место всё время смещается

    В одной поездке это досмотр, в следующей — регистрация.

    Ответ в дизайнеБронируется только досмотр. Регистрация показана, но не обещана.

  3. 3/4респондентов

    Личность подтверждают документы

    Паспорт и посадочный талон на стойке.

    Ответ в дизайнеQR показывают вместе с документами, а не вместо них.

Подсчёт по четырём реальным интервью. Четыре смоделированных сценария использовались только чтобы отметить допущения. Методология

Идо Кармели

Основная персона

Однажды потерял больше часа, когда закрыли стойку. С тех пор всегда приезжает за три часа. Ему не хватает контроля, а не терпения.

Михаль Авраами

Вторичная персона

Планирует своими инструментами. Дольше всего она ждала на регистрации, поэтому Leeway помогает ей меньше всех.

Путь по аэропорту, шаг за шагом

Путь по аэропорту, шаг за шагом
    –

    –

    Оценки (1 — раздражение, 5 — мотивация) — мои сценарные оценки из упражнения с картами пути, построенные на исследовании персон. На участниках они не измерялись.

    Бронируем один этап. Сопровождаем остальные.

    Leeway бронирует досмотр и сопровождает пассажира до конца регистрации. Регистрация показана как следующий этап без зарезервированного времени, потому что её длительность зависит от того, что забронировать нельзя.

    03 Дизайн Leeway

    Три решения, на которых держится продукт

    Один выбор при бронировании, главный экран, который следует за поездкой, и подтверждение, которое работает под давлением.

    A · Бронирование

    Одно понятное решение

    В первых вайрфреймах было два выбора: окно для досмотра и окно для регистрации. Второе я убрал: после досмотра, длительность которого непредсказуема, окно регистрации было бы догадкой под видом брони.

    Теперь экран предлагает девять окон по 20 минут, построенных от времени вылета. Последнее заканчивается за два часа до вылета.

    Экран выбора времени: девять окон с 16:00 до 19:00, два заняты, выбрано 18:40–19:00
    Для вылета в 21:10 окна идут с 16:00 до 19:00.

    B · Отслеживание

    Главный экран, построенный вокруг статуса

    Главный экран сохраняет одну раскладку, но карточка статуса меняется вместе с состоянием пассажира, поэтому следующее полезное действие всегда очевидно.

    C · Доступность

    Подтверждение, которое работает под давлением

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

    Многие пассажиры не читают на иврите, поэтому интерфейс работает на иврите, английском, арабском и русском, с раскладкой справа налево там, где нужно. Переключатель языка — на главном экране, где его найдёт тот, кто не может прочитать интерфейс.

    Пропуск на весь экран с QR-кодом для сканирования на быстром проходе
    Главный экран: иврит
    עברית
    Главный экран: английский
    English
    Главный экран: арабский
    العربية

    Визуальный язык

    Спокойный и практичный — для моментов, когда время поджимает

    • Одно главное действие на экранеТолько окна, которые подходят к рейсу.
    • Статус простыми словами«В процессе», «Ожидание», «Завершено».
    • Сдержанный цветОдин синий, красный — только для проблем; токены светлой и тёмной темы с контрастом AA.

    Из четырёх направлений я отложил самое игривое: весёлый тон не подходил к самому напряжённому моменту пути.

    04 Взаимодействие и прототип

    Как ведёт себя бронирование

    Рабочий прототип на HTML, CSS и JavaScript. Пройдите основной сценарий, а потом попробуйте сами.

      Снято с прототипа. Карточка рейса использует пример записи о вылете; доступность окон смоделирована.

      Попробуйте прототип

      Введите реальный рейс из Бен-Гуриона на ближайшие дни, и окна рассчитаются от его времени вылета.

      Главный экран Leeway

      Реализовано

      • Окна, построенные от времени вылета
      • Проверка полей на месте и состояния ошибок
      • Статус, пропуск и QR на весь экран
      • Работа без сети, 4 языка, светлая и тёмная тема

      Открытые данные

      • Дата, время и терминал из открытого табло вылетов Управления аэропортов (data.gov.il)

      Смоделировано

      • Доступность окон и состояние «Занято»
      • Само бронирование (в памяти, без сервера)
      • Время этапов на экране статуса

      Нужна интеграция с аэропортом

      • Реальная вместимость и брони
      • Живое продвижение через досмотр и регистрацию

      05 Итоги и рефлексия

      Что изменилось после того, как люди попробовали

      Я наблюдал, как до семи человек пробуют прототип, неформально. Их реакции привели к этим изменениям.

      Ошибки, которые объясняют себя

      Пустое поле раньше открывало целый экран ошибки, и люди терялись. Теперь форма отмечает, чего не хватает, прямо на месте.

      До: полноэкранная ошибка «Ой… что-то пошло не так» После: форма регистрации, каждое пустое поле отмечено красным

      После: поля, которые нужно исправить, отмечены на месте.

      От целого дня к девяти окнам

      В первом раунде были полоса дат и окна на всё утро. Итоговая сетка показывает только девять, которые подходят к рейсу.

      До: серый вайрфрейм с полосой дат и двенадцатью получасовыми окнами После: девять окон, построенных от вылета в 21:10

      После: окна строятся от времени вылета.

      Подсказка из трёх шагов

      Люди спрашивали, что именно они бронируют. Подсказка при первом входе теперь указывает на настоящие элементы.

      Четыре языка

      Часть тестировщиков не читает на иврите. Это изменение повлияло сильнее всех остальных.

      Иностранные паспорта

      Поле теперь принимает форматы неизраильских паспортов.

      Логика расписания

      Первая сборка зафиксировала примерные окна из Figma: рейсу в 21:10 предлагалось окно в 6:40. Теперь правило живёт в одном месте кода.

      Что сработало

      Один бронируемый этап сохранил сценарий коротким и помог убрать лишние экраны.

      Чему я научился

      Значение в макете может быть примером или правилом. Теперь я помечаю, что есть что, до того как что-то строить.

      Следующие шаги

      • Юзабилити-тесты с задачами и записью
      • Больше интервью, в том числе с теми, кто застревает на регистрации
      • Изменение забронированного окна (есть в вайрфреймах, не построено)
      • Сканирование посадочного вместо ввода

      Приложение

      Материалы процесса

      Полные исследовательские доски, методология и заметки о реализации — для тех, кто хочет глубже.

      Методология исследования 4 реальных интервью, 4 смоделированных сценария

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

      ИнсайтРеальные интервьюСмоделированныеСтатус
      Фиксированный ранний приезд, независимо от загрузки3/43/4Довод
      Узкое место смещается между досмотром и регистрацией3/42/4Довод
      Идентификация идёт по бумажным документам3/41/4Довод
      Имени и номера рейса может не хватить для идентификации0/41/4Гипотеза
      Менее технологичные пассажиры могут бросить онлайн-регистрацию0/41/4Гипотеза

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

      Тестирование — неформальное наблюдение не более чем за семью людьми, без записи и без заданий. Аналитика была установлена, но не фиксировала визиты надёжно, поэтому количественных данных нет.

      Одна реальная респондентка сказала, что за последний год очередь сама стала быстрее. И всё равно люди приезжают за три часа — значит, проблема в неопределённости, а не в длине очереди.

      Персоны и карты пути Исходные доски FigJam
      Информационная архитектура Карта сайта после двух ревью

      Я дважды сверил каждый этап карт пути с картой сайта. Экраны без этапа в пути (FAQ, «Связаться с нами», история полётов) ушли, как и окно регистрации при бронировании. В итоговой структуре два состояния с автоматическими переходами между ними. Приёмочный тест основной персоны отмечен на доске как пройденный частично: приложение пока не прогнозирует загрузку регистрации.

      Дизайн-поиск Вайрфреймы, направления, экраны первого раунда
      Заметки о реализации Как собран прототип

      Прототип написан на чистых HTML, CSS и JavaScript и размещён на GitHub Pages. Я собрал его с AI-ассистентом для кода по своему файлу Figma и проверял результат экран за экраном. Поиск рейса использует открытые источники без ключей: табло вылетов Управления аэропортов Израиля — для даты, времени и терминала, и базу маршрутов как запасной вариант. Имя и номер паспорта не покидают устройство.

      ПоведениеПервая сборкаПосле доработки
      Окна времениПримерные значения, скопированные из фрейма FigmaДевять окон по 20 минут, построенных назад от вылета, в одном месте кода
      Неизвестный рейсПодставлялся демо-маршрутПоказывает реально введённый номер в нейтральной карточке
      Доп. пассажирыМожно было добавить, но не удалитьУдаление с перенумерацией

      Вопрос, который сильнее всего изменил дизайн, возник во время сборки: если окно регистрации целиком зависит от непредсказуемого досмотра, зачем вообще предлагать его как выбор? Он убрал целый селектор с экрана регистрации.

      Известные ограничения Рамки концепта
      • Нет интеграции с аэропортом: доступность, брони и продвижение по этапам смоделированы.
      • Экран статуса не прогнозирует загрузку регистрации. Это главный открытый вопрос для основной персоны.
      • Возврат к «новой брони» после регистрации описан в информационной архитектуре, но не реализован в прототипе.
      • Доводы качественные: четыре интервью и неформальное наблюдение.