logo
info@vverh.digitalПо всем вопросам и предложениям
logo
+7 343 302-27-24
Кейс / мобильное приложение

Переписали приложение доставки BBQ и ускорили ключевые сценарии до нативной скорости

Клиент пришёл с приложением на Cordova: меню открывалось по 10–15 секунд, первый запуск — более 10. За 2 месяца перевели продукт на нативную основу, сократили загрузку меню до 0,5 секунды и подняли средний рейтинг в сторах с 3,5 до 4,5.

BBQ App — мокапы смартфонов
Срок
2 месяца
Платформы
iOS / Android
Загрузка меню
15 сек → 0,5 сек
Рейтинг в сторах
3,5 → 4,5
О проекте

Сеть шашлычных BBQ с высокой нагрузкой на ключевых сценариях

BBQ — сервис доставки еды в Сочи и пригороде. До переработки продукт работал на Cordova. Приложение обслуживает весь город: от центра до Красной Поляны, поэтому скорость и стабильность напрямую влияют на заказы и выручку.

КлиентСеть шашлычных BBQ
ПродуктМобильное приложение доставки
ГеографияСочи, Адлер, Красная Поляна
Объём работРедизайн, нативная переработка, бекенд-прослойка для кэширования
5000+
заказов / мес через приложение
≈9 млн ₽
оборот / мес

При таком масштабе каждая секунда загрузки — это потерянные заказы.

BBQ App — корзина и главный экран
Результат

Сократили время открытия меню с 15 секунд до 0,5 секунды

Оформление заказа
-60%

Время от открытия приложения до оплаты сократилось с ~4 минут до ~1,5 минуты.

Загрузка меню
15 сек → 0,5 сек
Первый запуск
10+ сек → 2 сек
Экран товара
5–6 сек → менее 1 сек
Рейтинг в сторах
3,5 → 4,5
Мокапы приложения BBQ
Техническая задача

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

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

Bitrix API

  • Плохая документация
  • Частые падения сервиса
  • Медленные ответы API

Интеграции

  • Создание заказа занимало более 10 секунд в iiko
  • Поиск заказа занимал 2-3 секунды из-за связи с 1С

Legacy-архитектура

  • Все запросы проходят через Битрикс
  • Telegram-боты курьеров нагружали основную систему
  • Старая и медленная версия PHP
Решение

Мы добавили собственную API-прослойку для кэширования, валидации и нормализации данных, а клиент переписали на нативных технологиях Swift и Kotlin.

ответы меню до 0,5 сек
клиент не зависит от Bitrix напрямую
нативная скорость на обеих платформах
единый формат данных для iOS и Android
Старый подход
Bitrix + Cordova
Наша прослойка
Кеширование и валидация
Новый внешний вид
Swift + Kotlin
Что получилось
01 — Дизайн

Пересобрали интерфейс и ключевые пользовательские сценарии

Интерфейс собрали заново вокруг основных действий пользователя: поиск товара, просмотр товара, работа с корзиной и оформление заказа. Приложение стало чище, понятнее и дает «нативные» ощущения от использования.

  • светлая и тёмная темы
  • упрощённая навигация по меню и категориям
  • переработанные сценарии работы с экранами товара, корзины и оформления заказа
iOS — SwiftUI / Android — Jetpack Compose
BBQ App — все экраны приложения
Мобильное приложение
Кеширование и валидация
Bun · Redis · PostgreSQL
TTL-кэш для каталога и категорий
валидация и фильтрация ответов Bitrix
единый формат данных
Bitrix API
02 — API

API-прослойка убрала зависимость клиента от медленного бэкенда

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

03 — Поддержка

Добавили мониторинг, чтобы быстрее замечать и разбирать сбои

После запуска важно было не только ускорить приложение, но и сделать его доступным в плане обслуживания. Для этого сделали два инструмента: быстрые уведомления об ошибках в Telegram и панель логов для диагностики.

Telegram-бот

Бот сообщает о проблемах в рабочий чат: ошибках валидации, нестабильных ответах API и замедлении критичных сценариев.

ошибки валидации
замедление ответов API
сбои
Telegram-бот мониторинга BBQ

Панель логов

Панель помогает отфильтровать события по коду ответа и методу HTTP-запроса, быстро найти причину сбоя и разобрать конкретный пользовательский сценарий.

фильтрация по коду ответа и методу HTTP-запроса
поиск конкретного события
разбор конкретного сценария
Панель логов BBQ — таблица запросовПанель логов BBQ — детали запроса

Команда стала быстрее замечать сбои, понимать причину и возвращать сервис в рабочее состояние.

Технологии

Стек, который позволил уложиться в 2 месяца

Общую логику вынесли в KMP, интерфейс собрали нативно для iOS и Android, серверную часть — на Bun + TypeScript с PostgreSQL, Redis и Docker.

Приложение
KotlinKotlin
SwiftSwift
KMPKMP
Интерфейс
Jetpack ComposeJetpack Compose
SwiftUISwiftUI
Сервер
BunBun
TypeScriptTypeScript
PostgreSQLPostgreSQL
RedisRedis
DockerDocker
Разработка приложений
Получите персональную стоимость на разработку мобильного приложения сегодня
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности