Обзор проекта
YouMi — это онлайн-платформа психологического консультирования, которая связывает пользователей с сертифицированными психологами через мобильное приложение. Пользователь выбирает специалиста, планирует и переносит сеансы и переписывается с психологом в реальном времени.
Когда YouMi обратилась к нам, их Flutter-приложение страдало от серьёзных технических проблем. Пользователи жаловались на частые обрывы связи во время сеансов, на то, что сообщения в чате не доходят, и на проблемы с навигацией, из-за которых приложением было мучительно пользоваться. Всё это подрывало доверие пользователей и мешало платформе расти.

Экран выбора специалиста

Планирование сеанса

Функции сеанса

Профиль пользователя

Настройки

Настройки уведомлений
Технические сложности
В основе нестабильности приложения лежали две проблемы:
Управление WebSocket-соединениями: чат в реальном времени и сеансы опирались на WebSocket-соединения, с которыми приложение обращалось неправильно. Соединения обрывались без внятной логики переподключения, сообщения терялись при переключении между сетями, а поддерживать стабильную связь между пользователями и психологами приложению удавалось с трудом. Из-за этого чат был ненадёжен и мешал прямо во время консультаций.
Архитектура навигации: система маршрутизации в приложении была реализована плохо — отсюда утечки памяти, рассогласованное управление состоянием и непредсказуемое поведение навигации. Пользователи сталкивались с падениями при переходе между экранами, с некорректной работой кнопки «Назад», а экраны зависали или показывали неверный контент.
Решение и реализация
Уложившись в жёсткие две недели, мы последовательно устранили обе ключевые проблемы:
Мы полностью переписали работу с WebSocket, выстроив надёжное управление жизненным циклом соединения — с автоматическим переподключением, очередью сообщений на время обрывов сети и корректной обработкой ошибок. Теперь сообщения доходят надёжно, а сеансы переживают переключение между сетями и короткие обрывы связи. Заодно мы добавили отслеживание статуса сообщений: пользователи и психологи видят, когда сообщение отправлено, доставлено и прочитано.
Систему навигации мы перестроили с нуля, опираясь на современные практики маршрутизации во Flutter. Мы выстроили корректное управление состоянием, устранили утечки памяти и сделали навигацию предсказуемой — такой, какой её ожидает пользователь. В итоге получился плавный, отзывчивый интерфейс, который одинаково ведёт себя во всех сценариях.
Результаты
За две недели приложение YouMi превратилось из нестабильного продукта в надёжную платформу. Чат стал предсказуемым, связь во время сеансов заметно улучшилась, а проблемы с навигацией исчезли полностью. Исправления позволили YouMi уверенно наращивать пользовательскую базу и заниматься развитием бизнеса, а не разгребанием технических кризисов.
YouMi пришли к нам за спасением Flutter-приложения — посмотрите, как мы создаём и стабилизируем продакшен-приложения в рамках разработки на Flutter, или что мы вынесли из работы с медицинскими и телемедицинскими приложениями.
