Описание
Мы создаём AI-ассистента здоровья, который помогает человеку следить за собой на длинной дистанции: понимать своё состояние, видеть динамику и вовремя реагировать. В продукте уже есть ИИ-чат, дневник здоровья, опросы, персональные рекомендации, загрузка медицинских документов и семейные профили. Сейчас развиваем мобильное направление и ищем Senior Flutter-разработчика для создания приложения под iOS и Android на общей кодовой базе.
Задачи
•Разрабатывать приложение на Flutter/Dart для iOS и Android, участвовать в выборе архитектуры вместе с Tech Lead.
•Переносить и адаптировать сценарии существующего web-клиента: онбординг, профиль, опросы, дневник здоровья, рекомендации и семейные профили.
•Реализовывать интерфейсы по готовым макетам и UI-kit с учётом особенностей мобильных платформ.
•Интегрировать приложение с существующим backend, совместно согласовывать API-контракты и необходимые изменения.
•Развивать ИИ-чат: потоковое получение ответов, история сообщений, голосовой ввод и вложения.
•Обеспечивать устойчивую работу сетевого слоя: обработку ошибок, восстановление соединений и корректное поведение при смене сети или возвращении приложения из фона.
•Реализовывать авторизацию и управление сессиями: вход по email с OTP, социальный вход, восстановление доступа и выход из аккаунта.
•Работать с медицинскими документами: выбор файлов, загрузка, отображение прогресса и статусов обработки.
•Подключать push-уведомления, deep links и другие нативные возможности iOS и Android.
•Оптимизировать производительность, писать unit- и widget-тесты, разбирать сбои и ошибки.
•Участвовать в подготовке релизов, code review, оценке и декомпозиции задач.
Требования
•Коммерческий опыт разработки на Flutter/Dart от 5 лет.
•Опыт выпуска и сопровождения приложений для iOS и Android.
•Умение проектировать поддерживаемую архитектуру приложения и обосновывать технические решения.
•Уверенное владение одним из подходов к управлению состоянием: Bloc/Cubit, Riverpod или аналогами.
•Опыт интеграции с REST API и работы с потоковыми данными через SSE или WebSocket.
•Понимание авторизации и управления сессиями: OAuth 2.0, JWT, access/refresh-токены, cookie-based authentication и особенности их использования в мобильном клиенте.
•Опыт локального хранения и кеширования данных, безопасного хранения учётных данных.
•Опыт работы с файлами, камерой или микрофоном, разрешениями и жизненным циклом приложения.
•Понимание навигации, deep links и push-уведомлений.
•Навыки профилирования и отладки через Flutter DevTools, опыт unit- и widget-тестирования.
•Умение разбираться в существующей логике продукта и взаимодействовать с frontend- и backend-разработчиками.
Будет плюсом
•Опыт переноса web-продукта на Flutter и чтения кода на TypeScript/Vue.
•Опыт разработки чатов, голосовых интерфейсов или приложений с потоковыми ответами ИИ.
•Интеграции с Apple HealthKit, Android Health Connect и носимыми устройствами.
•Опыт работы с подписками и встроенными покупками через App Store и Google Play.
•Знание Kotlin/Swift и опыт создания Flutter-плагинов или работы через platform channels.
•Опыт разработки приложений, работающих с медицинскими или другими чувствительными персональными данными.
•Настройка CI/CD в GitLab CI, автоматизация сборок и публикации приложений.
•Опыт работы с Sentry, Firebase Cloud Messaging и продуктовой аналитикой.
•Опыт локализации интерфейсов, включая поддержку RTL.
•Английский на уровне чтения технической документации.
Условия
•Полностью удалённый формат работы.
•Конкурентный уровень вознаграждения - обсуждается индивидуально по итогам интервью.
•Работа над действующим продуктом с готовым backend и существующими пользовательскими сценариями.
•Возможность влиять на архитектуру и технические решения мобильного приложения.