Cofix Club: как мы перезапустили приложение и побили свои рекорды по активности аудитории. Часть 1

Ровно год назад мы запустили обновленное приложение Cofix в Беларуси, спустя месяц сделали это же в России, а в начале 2023-го — в Польше. За это время нам удалось обновить исторический максимум по числу активных пользователей в месяц, размеру среднего чека и проникновению программы лояльности, а также выиграть ряд отраслевых премий. Мы попросили руководителя группы развития цифровых проектов Cofix Алексея Клоца рассказать, как создавали новое приложение. Передаем слово.

Зачем решили обновиться

Ещё в начале 2022 года приложение Cofix Club работало на базе коробочного SaaS-сервиса. Оно было шаблонным и почти не отличалось от продуктов конкурентов, сделанных на той же платформе. Визуальное исполнение нам не нравилось, но что-либо существенно менять вендор был не готов. Самим внести правки в дизайн также было невозможно.

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

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

Здесь команда вендора сервиса тоже не была готова называть конкретные сроки доработок. Непрозрачные планы ставили команду Cofix в тупик — мы не могли планировать маркетинг, потому что просто не знали, будет ли к моменту запуска рекламной кампании необходимый функционал.

Так мы пришли к идее сделать собственное мобильное приложение. Но перед этим команда Cofix определила базовые требования, которым должен соответствовать новый App.

  1. Полный набор механик лояльности, необходимых для HoReCa. Только в России у Cofix более 280 кофеен в 14 городах, которым важно проводить локальные акции: от N-ного блюда в подарок и комбо до специалитетов вроде шавермы в Петербурге.
  2. Возможность локализации. Cofix — международная компания, поэтому было важно сохранить возможность работы с мультиязычным меню и подключения локальных сервисов (платежные, СМС-информирования, картографические, хранения данных).
  3. Адаптивность и привлекательный уникальный дизайн. Мы хотели развивать приложение без ограничений коробочных сервисов. В том числе в части интерфейса.

Разработать приложение нужно было быстро и за минимально возможный бюджет.

Как искали подрядчиков

Август 2021 года. Начали с анализа рынка, решений и платформ, которые должны лечь в основу приложения. Нужно было выбрать поставщиков процессинга программы лояльности и плагина для кассовой системы, дизайнера, определиться с языком для написания кода и теми, кто будет писать. На пути встречались и неожиданные препятствия, поэтому рассказываю о нюансах.

Поставщик процессинга программы лояльности. Сегмент насыщен сервисами, но способных решать задачи бизнеса — единицы. На этапе предпродажи сотрудники вендоров заявляют, что в их продуктах есть «вообще всё нужное и даже больше». Но верить на слово — значит формировать ложные ожидания, поэтому команда Cofix написала тест-кейсы и предложила провести демо. Большая часть вендоров «отвалилась», кто-то даже не стал проводить демо. Единственным сервисом, который прошел тест-кейсы более чем на 80%, стал Sailplay.

Мы давно помогаем бизнесу запускать программы лояльности и системы мотивации клиентов. Для быстрого старта мы сделали хороший API, легко кастомизированную систему атрибутов, также в нашей платформе учтены некоторые важные механики. Например, сервис приоритезации акций. Наш процессинг лояльности защищает от применения нескольких акций к одной позиции в чеке. Он автоматически выберет набор самых выгодных акций. Благодаря этому маркетологам не приходится держать в голове условия всех действующих акций при создании новой.

Кирилл Мысяков, руководитель направления Sailplay в Retail Rocket Group

Среди всех реализованных механик в сервисе есть ещё две очень важных:

  1. Возможность применять акции и для участников программы лояльности, и для анонимных чеков. Иначе пришлось бы вести двойную работу и настраивать акции в двух местах — в процессинге лояльности и кассовой системе для анонимных чеков. Потому что акции, бизнес-ланч, комбо на завтрак и вечерние скидки на витрину доступны всем гостям. В том числе тем, кто не использует программу лояльности.
  2. Автоматическое применение акций без необходимости нажимать кассиром скидочные кнопки. Так мы убираем человеческий фактор и возможность злоупотребления со стороны персонала.

В декабре 2021 года выбирали дизайнера по портфолио на Behance. В процессе изучили работы почти всех русскоязычных дизайнеров из разных уголков мира, но шорт-лист вышел небольшим. Проект доверили Александру Лагуте, ведущему дизайнеру диджитал-продакшна Wemakefab: решение принималось по работам и коммуникации на этапе обсуждения задачи.

Только через полгода узнали, что Александр — звезда в индустрии дизайна интерфейсов. На этапе обсуждения проекта и работы над ним никаких проявлений звездной болезни не замечали. Наоборот, это очень адекватный специалист, который дотошно погружался в анализ UX.

Совет дизайнерам: вкладывать силы в формирование портфолио на онлайн-площадках. Для больших брендов это единственный способ найти сильного на деле, а не на словах исполнителя.

Мы стартовали отрисовку концепта. Через пару недель увидели первую версию дизайна, и стало понятно, что всё получится.

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

Рассказывает Александр Лагута, ведущий дизайнер Wemakefab.

Обновленное приложение стало выглядеть так.

UI/UX, ускоряющий взаимодействие с кассиром. Мы уделили внимание вещам, которые сделают обслуживание на кассе быстрее. В частности, сделали большой заметный штрихкод, который позволяет «зачекиниться», то есть связать ID пользователя в программе лояльности с заказом, благодаря чему гость получит скидки и бонусы.

Особое внимание уделили кейсу со слабым интернетом — это ахиллесова пята для многих офлайн-проектов. Если у пользователя не загружается полная версия приложения за пять секунд, показываем «экран смерти», который позволяет сделать чекин, списать купленный ранее купон за баллы, получить иные скидки и бонусы за заказ.

Разработка приложения

Разработку приложения начали в марте 2022 года. В качестве языка программирования выбрали flutter, чтобы сократить затраты. Тогда решение казалось достаточно рискованным, зато нам не нужно было «содержать» две команды для iOS и Android. Все приложение написано командой из шести человек (PO + PM + 2 Backend dev + 1 front + QA) и доступно на iOS, Android и Huawei Android. В обозримом будущем планируем часть сценариев сделать доступными в веб.

Разработкой приложения занималась команда Evosoft. У неё была экспертиза сразу в двух нужных областях: разработке приложений на flutter и кассовых плагинов для системы iiko, которой мы пользуемся.

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

Комментирует CEO Evosoft Александр Колташев

Сейчас можно сказать, что и в процессе годовой эксплуатации мы не столкнулись ни с одним ограничением. Также благодаря использованию flutter удалось сократить команду разработки с 11 до 6 человек, не потеряв в качестве. При разработке команда Evosoft придерживалась классического принципа клиент-серверных приложений: независимые back и front. По сравнению с нативной разработкой flutter позволил сэкономить и на интеграции с сервисами. Кроме взаимодействия с backend самого приложения, оно взаимодействует с backend сервиса заказа с собой Efood, картами Google и Яндекс (для приложений Huawei). При нативной разработке пришлось бы делать интеграции отдельно для каждой платформы. В части front flutter даже «из коробки» поддерживает iOS и Andriod, включая «нативные» жестовые анимации или микровибрации.

Помимо использования flatter ещё одним важным стратегическим шагом было решение максимально перенесли backend на сторону вендоров:

  1. Процессинг программы лояльности Sailplay, который готов к большим нагрузкам. На сторону партнера «приземленны» профиль гостя, список кофеен, список акций, история заказов и изменения бонусного баланс.
  2. Управление меню (картинки, описание блюд и напитков, энергетическая ценность. прайс-листы, стоп-листы, управление модификаторами) перенесли на сторону iiko.

В разных сценариях размер карточки блюда с его фото отличается: от очень большого на весь экран до маленького купона в истории заказов. У Cofix около 300 позиций меню. Важно было оптимизировать работу с изображениями, чтобы не создавать дополнительную нагрузку на сотрудника, который занимается ведением меню. «Мастер-системой» для работы с ним мы сделали iiko.

Чтобы упростить администрирование, внедрили следующее решение. В iiko загружается квадратное фото на однородном фоне. Дальше приложение само достраивает для разных экранов и форматов фон, беря пиксель фона из угла изображения.

В предыдущем приложении решение было иным и требовало дублирования информации в системе управления контентом. Это плохая идея, потому что увеличивает объем работ специалиста вдвое и приводит к ошибкам, когда человек вносит изменения в одном меню, но забывает поправить в другом. Сейчас сделали ставку на управление меню через iiko. Система привычна для команды, отвечающей за еду и напитки. Именно в мастер-системе рассчитывают КБЖУ, настраивают модификаторы и многое другое.

Пока сделали выбор в пользу работы с внешним меню в iikoOffice как на более стабильное решение iiko. В будущем планируем переход на меню, настроенное через iikoWeb.

Уделили больше внимания КБЖУ блюд и напитков. Помимо привычных КБЖУ 100 грамм и блюда целиком добавили КБЖУ заказа, чтобы не считать в голове, получишь ли ты нужное количество калорий или белков. Информация по КБЖУ подгружается из iiko.

Online-to-offline или разработка кассового плагина

Главный вызов при создании программы лояльности Cofix Club — обеспечить бесшовность сценариев, которые начинаются в приложении (в онлайне) и заканчиваются на кассе (в офлайне). Поэтому вместе с созданием нового мобильного приложения для гостей начали разработку второго приложения — кассового плагина.

Кассовый плагин — специальная программа, расширение для кассовой системы iiko. Его главная функция — связь с процессингом программы лояльности Sailplay. Вот основные сценарии плагина:

  • Отправка в Sailplay заказа на расчет привилегий.
  • Отображение данных о госте (ФИО, телефон, доступное количество бонусов).
  • Активация промокодов.
  • Отображение информации об истории заказа гостей, истории изменения бонусных баллов, доступных гостю привилегий.
  • Сбор дополнительных данных (какой кассир и бариста обслуживал заказ, был ли разрыв связи с SailPlay).
  • Вывод подсказок и кнопок акционных позиций меню кассиру после сканирования промокода.

Забегая вперед скажу, что именно с запуском плагина были связаны основные опасения. Команда Evosoft сделала для Cofix автоматически раскатывающийся и обновляемый плагин. Казалось бы, стандартное для других отраслей решение является суперновинкой в мире фудтеха. Даже крупнейшие вендоры — iiko и r-keeper, сервисные партнеры, которые пишут плагины для касс, делают это по старинке. И чтобы на кассе заработала новая версия плагина, нужно:

  1. Удаленно подключиться к кассе в тот момент, когда она не занята, иначе будет остановлен прием заказов. То есть это можно делать только поздним вечером и ночью. Привет доплаты за сверхурочную работу.
  2. Вручную установить плагин.
  3. Если появилась версия с исправлением багов, повторить описанные выше шаги.

Теперь умножаем эту операцию на 60 терминалов Cofix в Беларуси или около 280 терминалов Cofix в России и получаем вечный режим подвига. Потому что ручное обновление кассовой версии в Cofix — это две недели бессонных ночей для поддержки. Такая рутина также очень демотивирует команду.

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

Создание собственной поддержки гостей

Июнь 2022 года. Два предыдущих приложения были коробочными, а чат поддержки включался в пакет услуг по подписке. Перед переходом на собственное решение нужно было построить всё с нуля.

Новая поддержка состояла из трех линий:

Первая линия — гостевой чат в Telegram и чат для работников кофеен. Здесь два человека обрабатывали заявки от гостей с 7 до 22 часов по будням, а от франчайзи — в формате 24/7.

Вторая линия анализировала более сложные кейсы, логи касс, сообщала командам разработки на третьей линии.

Третья линия состояла из команды разработки приложения и плагина, а также success-менеджеры и техподдержка Sailplay.

Перед запуском написали теоретический Trouble Shooting List — ответы на предполагаемые вопросы от гостей с инструкциями, какие действия предпринимать после обращения: когда дарить бонусы, а когда переводить на следующие линии.

Поддержка должна была покрыть кейс, когда для «старого» приложения пользователь использовал номер телефона, который потом поменял на другой. Человек мог забыть об этом и при авторизации по новому номеру увидеть ноль бонусов. Ситуация стрессовая — пользователь обращается в поддержку во взвинченном состоянии. Здесь важны правильные формулировки оператора поддержки, а также четкий алгоритм действий.

Приводит пример product owner приложения Алексей Клоц

Фух, на сегодня всё. Во второй части расскажем, как запускали приложение в Беларуси и России, отключили программу лояльности на несколько дней, но не получили негатива, какие сложности возникли с заказами с собой и что пришлось вернуть из старой версии Cofix Club. Подписывайтесь на наш блог, чтобы не пропустить!

0
8 комментариев
Написать комментарий...
Александр Лагута

Искренне благодарен за подобный опыт, сотрудничество и интересные задачи! :)

Ответить
Развернуть ветку
Anna Ivanova

Спасибо за статью, максимально подробно и много интересной информации 👍

Ответить
Развернуть ветку
Алексей Клоц

Спасибо, очень приятно. Если будут вопросы — задавайте, мы с удовольствием поделимся своими наблюдниями, опытом, болями)))

Ответить
Развернуть ветку
Igor

Впечатляет 🔥

Ответить
Развернуть ветку
Ирина Захарова

и опять комментарии от неживых аккаунтов

Ответить
Развернуть ветку
Алексей Клоц

хм, интересно — двое точно живые — проверено лично

Ответить
Развернуть ветку
Igor

я живой)) очень крутая работа проделана!

Хотел бы побыть менти у Александра, но в wemakefam даже ответ по отклику на джуна не дождался (

Ответить
Развернуть ветку
Евгений Бойченко

Good gob!

Ответить
Развернуть ветку
5 комментариев
Раскрывать всегда