Мы в поиске для интереснейшего проекта Flutter разработчиков
Flutter Senior (Realtime/Media и App Engineer)
У нас сложнейшая техническая задача по стримингу! Бросаем вызов латентности и батарейке! Работа с нативным кодом!"
Must-have навыки
• Flutter: опыт 3+ лет, умение держать чистую архитектуру (Riverpod/BLoC, DI, навигация v2), изоляция UI от I/O.
• Камера и видео:
• Практика с camera/flutter_webrtc и понимание кодеков и битрейтов.
• Понимание нативных стеков: AVFoundation + VideoToolbox (iOS), CameraX/Camera2 + MediaCodec (Android).
• Умение собрать hardware-encode (H.264/HEVC) и отправку низкой задержкой.
• Сетевой realtime:
• WebRTC в Flutter (желательно), либо альтернатива: RTMP/SRT/RTP отправка плюс WebSocket для сигналинга/счёта.
• Владеет WebSocket-клиентом: бинарные/JSON сообщения, reconnect/backoff, контроль backpressure.
• Платформенные каналы:
• Swift/Kotlin мосты, когда штатного плагина не хватает: доступ к AVCaptureSession, MediaCodec, настройка профилей кодера.
• Производительность:
• Работа с Isolates, Platform Views, профилирование jank, укладка в 60 fps при активной камере.
• Управление тепловым режимом и батареей, выбор FPS/Resolution/Keyframe-interval под сеть/железо.
• Мультимедиа-UX:
• Наложение оверлеев поверх превью, синхронное воспроизведение аудио-сигналов/haptics при событии.
• Безопасность/авторизация:
• Firebase Auth токены, подпись запросов, защищённые signed URLs на стрим, защита от утечек ключей (всё через сервер).
Nice-to-have
• Опыт с flutter_webrtc на проде.
• FFmpeg/LibWebRTC сборки под iOS/Android.
• Понимание сетевой деградации: adaptive bitrate, network handover.
Мы предлагаем:
Интересную продуктовую задачу с современным стеком.
Четкое ТЗ и проработанный дизайн.
Удаленный формат и гибкий график.
Конкурентную проектную ставку (обсуждается с успешным кандидатом).
Возможность присоединиться к долгосрочному проекту на следующих этапах.