Кейс: за 2 недели запустили конструктор часов Чайкина для выставки в Женеве
Привет. На связи Захар, сооснователь digital-агентства Kaizen. Рассказываю, как мы запустили сервис для самого хайпового и уважаемого часового бренда в СНГ Чайкина и чуть не опоздали с релизом для международных выставок часов в Женеве и Дубае.
Кто мы?
Мы Kaizen — агентство дизайна и разработки web-сервисов с упором на AI и выделяющиеся механики. Наша сила в запуске сервисов под ключ: от продуктовой идеи до релиза и развития продукта. А еще недавно мы сами стали резидентами Сколково с ИИ-продуктом, который без вариантов порвет рынок AI-разработки :)
Следите за обновлениями в нашем тг-канале - совсем скоро расскажем о громком проекте с Русланом Усачевым!
Кто клиент?
Константин Чайкин — это звезда часового искусства. Он не только основатель одной из самых признанных мануфактур, но и член Международной Академии независимых часовщиков (AHCI), а еще заслуженный изобретатель РФ (на его счету 94 патента в области часовой механики — и это рекорд!).
Константин — первый и единственный в России, кто получил награду Женевского Гран-при высокого часового искусства за модель «Клоун» из серии «Ристмонов». Эти часы с лицом живого существа стали настоящим прорывом в часовом мире и положили начало коллекции "Джокер", а цена одной модели начинается от 30 000 евро.
Задача
У бренда есть известные модели с полюбившимся всем стилем, такие модели представлены на официальном сайте, в редизайне которого мы участвовали ранее. В дополнение к этому есть возможность заказать производство часов с индивидуальным дизайном. Чтобы клиент мог создать образ будущих часов, компания использует веб-конструктор, который помогает визуализировать свои идеи, посмотреть на часы в разных цветах, материалах и ракурсах.
Ежегодно весной Женева становится центром внимания любителей часов со всего мира, ведь здесь проходит крупнейшая выставка. При подготовке к выставке в мае 2024 года команда бренда приняла решение обновить сервис, после чего команде Kaizen была поставлена задача на срочный запуск.
Как вы понимаете, сроки поджимали, и нам пришлось работать в режиме "нон-стоп", но обо всем по порядку.
Решение
Мы сделали редизайн конфигуратора, не только собрав заново пользовательский опыт, но и повысив технические показатели. Основные результаты:
- Запустили сервис за 14 дней, успели до начала Женевской выставки.
- Удобная мобильная версия. Мы позаботились, чтобы конфигуратор отлично работал на мобильных устройствах, ведь многие пользователи хотят создавать свои часы прямо с телефона.
- Высокая производительность и скорость. Мы выбрали Next.js для разработки, что позволило нам существенно ускорить работу сайта и улучшить производительность.
- PaaS-first подход. Мы сделали сервис облачным и масштабируемым для потребностей региона, где проходили выставки, чтобы конфигуратор всегда был доступен и не тормозил, даже при пиковых нагрузках.
Этапы проекта
1. Проработка UX/UI дизайна
Не дожидаясь подписания контракта, мы занялись аудитом и небольшими исследованиями, сыграл на руку размер сервиса – он позволял делать это еще на предпроектной стадии.
Мы начали с Desk Research, пошли смотреть конфигураторы Rolex, мебельные и кухонные конструкторы, чтобы понять, какие решения могут работать лучше всего для упрощения пользовательского опыта. Объединив минимальный бенчмаркинг с базовыми законами UX – эвристиками Нильсена, мы вывели несколько тезисов относительно того, что мы поменяем в UX.
Тезис 1. Меньше кликов
Чтобы выбрать группу деталей, отдельную деталь, добраться до палитры выбора цвета и вернуться в исходное меню, требовалось сделать 4 клика. Мы предложили спрятать всё боковое меню в гармошку, а палитру вынести слева от пунктов, как в Figma, чтобы переключение между деталями часов происходило понятно и быстро. В дополнение продумали переключение между ракурсами для просмотра всех деталей модели.
Тезис 2. Полезные джобы (Job stories)
Когда пользователь генерирует дизайн часов, вероятно, он просто перебирает разные варианты, либо подбирает нужные оттенки и материалы для своей второй половинки, чтобы узнать, хочет ли она такие часы в подарок. Поэтому важно давать возможность скачать картинку без обязательства сразу оформлять заказ, а компания-производитель за это попросит e-mail пользователя.
Также обратная связь от пользователей и опыт бренда говорили о том, что кодировка цвета в HEX не используется на производстве и не так широко известна покупателем часов. В этой сфере превалирует палитра Pantone. Мы интегрировали Pantone-конвертер, чтобы обеспечить точность цветов, и добавили функцию "используемые цвета", которая показывала только те оттенки, которые подходили к текущей модели часов. Эта функция избавила пользователей от выбора неподходящих оттенков и ускорила процесс настройки.
Для разнообразия и дополнительной интерактивности мы добавили функцию случайной палитры, которая генерировала цветовые решения по определенной логике, исключая несовместимые сочетания. Также реализовали сброс настроек, чтобы клиент мог быстро вернуться к начальной версии и начать с чистого листа.
Тезис 3. Удобная мобильная версия
Мобильная версия особенно актуальна для выставок и мероприятий, на которых пользователи только знакомятся с брендом. Мы пересобрали всю мобилку, но можно отметить основные изменения:
1) Делаем акцент на часах – увеличиваем их изображение
2) Избавляемся от кликов при изменении ракурса, меняем большинство кликов на свайпы
3) Фиксируем картинку часов на всех экранах - вы видите их всегда: выбираете ли вы деталь, меняете цвет или оставляете заявку
2. Разработка
Традиционно для разработки веб-сервисов мы выбираем Next.js. Это относительно молодая, но убийственная технология. Более подробный обзор технологии вы можете посмотреть в моем телеграмм канале
– Загрузка приложений происходит значительно быстрее, чем аналогов, разработанных на чистом React. Это достигается благодаря встроенному рендерингу на сторону сервера.
– Имеются собственные плагины для работы именно с Next.js. Их наличие позволяет адаптировать рабочую среду полностью под ваши запросы.
– Может поддерживаться разработчиками на React, а их на рынке очень много.
С учетом географии выставок, на которых сервис будет использоваться, мы сделали PaaS-first сервис и масштабировали его в тех регионах, где проходили мероприятия. Первая была в Дубае – мы, кроме обычной точки присутствия в Европе, развернули и в Дубае несколько инстансов приложения. По мере снижения нагрузки мы автоматически отключали дополнительные зоны.
Разработка (фальстарт)
Так как все наши ребята были заняты другими проектами, мы решили воспользоваться шансом и расширить свою команду. Мы нашли адекватного разработчика Антона (имя изменено) с очень релевантным опытом и наняли его. Разработчик дал оценку работы в 1 неделю, что очень нам подходило, ведь оставалась примерно одна запасная неделя.
Первые 2 дня со старта он попросил заморозить из-за личных обстоятельств, на третий день мы уже начали получать какие-то наработки по верстке. На четвертый день мы получили пуш в гите проекта от другого человека – и сразу поняли, что Антон нас обводит вокруг пальца. В срочном порядке мы вывели его на звонок, на котором он пообещал раскрыть тайну, почему так произошло.
Мы готовились слушать историю про “работаю с напарником”, но каким было наше удивление, когда на звонке с Антоном услышали новый, до того момента неизвестный для нас голос. Для контекста: на звонки мы выходили без камер, но аватарка ТГ и Google Meet Антона совпадали с фото паспорта, который мы всегда запрашиваем для договора. Настоящий Антон признался, что он – фаундер агентства, а мы все это время общались с его тех. диром Виталей (имя изменено). То есть, под видом частного разработчика пряталось целое агентство!
Эта “маркетинговая стратегия” нас шокировала, но свободных рук все также не было – мы решили продолжать с таким подрядчиком, более того, ребята заявляли про большой опыт команды, сеньоров и железобетонные гарантии запуска в срок. Мы встретились лично в Питере, ударили по рукам и продолжили работу.
Как вы думаете, проект был успешно реализован и запущен в срок? Нет, каждый день мы получали кривые и нежизнеспособные релизы. За 5 дней работы команды мы не получили ни одного рабочего компонента сервиса, даже pixel perfect верстки не получили – были какие-то ломаные элементы интерфейса с багами.
Общаясь с фаундером в последние дни, мы с ним выяснили, что проект в их команде делал неумелый джун, который толком еще не запускал коммерческих проектов. Дальше работать вместе было нельзя, мы расторгли договор и разошлись с нормальными отношениями. Очевидно, они подвели нас не из-за злых намерений, а просто из-за лавинообразной модели жизни молодых агентств. Продаешь проект - бежишь искать новый, а на контроль текущих проектов времени нет. Получаются вот такие провалы :(
Настоящая разработка 2.0
До настоящего дедлайна – даты начала выставок оставалась ровно неделя (7 календарных дней). Код прошлой команды переиспользовать мы не могли, таким образом, на руках у нас были только макеты, и разработку нужно было начинать с нуля – срок был катастрофически сжатым.
Нам пришлось заморозить 1 из проектов, чтобы запустить онлайн-конструктор, мы привлекли лучших ребят – Диму (нашего Тим-лида), на этом проекте отвечал за некоторые функции бэка, и Ильяса (Middle frontend разработчика) – он делал основную часть работы.
Менеджмент проекта резко переехал на рельсы SOS:
– Ежедневные отчеты заказчику в Loom с честным статусом и планами на день. Заказчику мы честно сообщили о происшествии и вызове, который мы приняли;
– Два ежедневных дейлика внутри команды с очень гибким бэклогом, который переехал из красивого тасктрекера в бешеную Google табличку.
Разработка также велась в формате SOS, однако без упущения важных факторов: с учетом географии выставок, на которых сервис будет использоваться, мы сделали PaaS-first сервис и масштабировали его в тех регионах, где проходили мероприятия. Первая была в Дубае – мы, кроме обычной точки присутствия в Европе, развернули и в Дубае несколько инстансов приложения.
По мере снижения нагрузки мы автоматически отключали дополнительные зоны.
Каждый день мы выдавали фичу за фичей, перекидывая задачи между собой. Я не буду скрывать – несколько ночей подряд нам с Ильясом приходилось сидеть до 6 утра, лишь бы успевать закрывать бэклог, это был очень активный режим.
Итоги
Когда пришло время релиза, мы смогли выпустить полностью работающее решение с полным набором фичей.
- Качественная верстка для ПК и адаптивность для мобильных устройств. Все элементы интерфейса идеально подстроились под разные экраны.
- Плавная работа интерфейса. Мы потратили много времени на оптимизацию, чтобы интерфейс был быстрым и комфортным.
- Прокачанная палитра цветов. В конфигураторе появилась возможность выбрать цвета с конвертацией в Pantone, а также специальная функция "используемые цвета", которая показывала только те оттенки, которые подходят для данной модели.
- Переключение ракурсов часов для 6 моделей!! Мы добавили возможность вращать модель, чтобы пользователь мог увидеть все детали и выбрать оптимальный вариант.
- Функция random палитры цветов. В этой фиче мы прописали логику, которая исключала появление "неприглядных" цветовых решений, чтобы результат всегда был эстетически привлекательным.
- Сброс всех настроек. Если клиент захотел вернуться к дефолтным настройкам, такая функция тоже была предусмотрена.
- Экспорт картинок в хорошем качестве. Пользователь мог сохранить свой дизайн в отличном качестве как с ПК, так и с телефона.
- Форма заявки с отправкой картинки и данных клиента в CRM. Все данные передавались напрямую в CRM систему, чтобы менеджеры могли оперативно обрабатывать заказы.
- Два языка. Для удобства иностранных клиентов мы добавили поддержку русского и английского языков.
Подводя итог, Next.js – наш фаворит среди технологий для запуска большей части проектов, потому что именно он позволяет быстро и гибко запускать качественные сервисы с высокой скоростью работы, мы в очередной раз убедились в его величии и пользе.
Если вы принимаете участие в запуске веб-сервиса, напишите мне, и я расскажу больше о технологическом стеке для вашего проекта, который не только сэкономит деньги и время, но и спасет от критических ошибок.
Этот проект стал для нас настоящей проверкой на прочность, потому что, кроме технических вызовов, нам пришлось столкнуться с непростыми ситуациями внутри команды, которые требуют быстрой реакции и решения. Но в конце концов мы смогли не только круто сделать свою работу, но и улучшить внутренние процессы, которые теперь позволяют нам работать быстрее и с меньшими рисками.
Комментарий агентства
Я очень горжусь этим проектом сразу по нескольким причинам. Во-первых, он под ключ был запущен за 2 недели - это рекордные сроки. Во-вторых, он запущен для главного и самого актуального часового мастера нашей страны и даже СНГ. И последнее (но не по важности) проработка UX была основным фокусом и подарила по настоящему новый опыт пользователей. Горжусь нашей командой и кейсом!
Отзыв клиента
Ребята из Kaizen - это команда, которая отлично подходит в ситуациях, когда ты за короткий срок вынужден запустить ИТ продукт под ключ. Профессиональные разработчики и чуткие менеджеры вытащат любой проект, даже если он сильно ограничен сроками. Большое спасибо Захару и команде за запуск нашего конструктора
Команда проекта
- Сергей Долгушин и Захар Ёрохов — руководители проекта
- Артем Краснощеков — менеджер проекта
- Ильяс - frontend разработчик
- Дмитрий - backend разработчик
Спасибо, что дочитали до конца)
Подписывайтесь на наш ТГ-канал, где мы делимся лайфхаками, кейсами и ищем новых участников команды!