• Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты
Обсудить проект
  • Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты
Обсудить проект
Valerii Vvedenskyi

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

Разделы

  • Работы
  • Компетенции
  • Инженерные решения
  • Услуги
  • Стоимость
  • Обо мне
  • Контакты

Языки

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português

Контакт

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Все права защищены.

Политика конфиденциальности

Спроектировано и собрано Валерием Введенским на Next.js.

  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
  • English
  • Українська
  • Русский
  • Қазақша
  • Français
  • Deutsch
  • Español
  • Português
Все работы

День соревнований

Чекин, судейство, подсчёт баллов и прямая трансляция для событий Fitofan

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

Роль
Ведущий инженер: Flutter, нативные iOS и Android, десктоп
Период
2024 – 2026

Контекст

Турниры проходят в спортзалах с ненадёжным Wi-Fi, одолженным оборудованием и без времени на настройку. Экосистеме Fitofan нужно было собственное программное обеспечение для зала, и я сделал каждую его часть с нуля.

Задача

Держать чекин, судейство и трансляцию в работе, когда пропадает интернет, дать любому телефону или планшету подключиться сканированием QR-кода и возвращать результаты на платформу и в сторонние системы подсчёта.

Реализовано на всех уровнях стека

  • Fitofan Core, Flutter для десктопа на macOS, Windows и Chromebook: чекин с оплатой и печатью QR-бейджей, судейство дзюдо и MMA, жеребьёвка и сетки, отдельный процесс для второго ТВ-экрана
  • Fitofan Touch, Flutter для телефонов и планшетов: судейская консоль с 10 наборами правил, от тхэквондо WT и ITF и карате WKF до гимнастики и брейкинга, с хаптикой и моделью ввода, учитывающей состояние соединения
  • Fitofan Connect, Flutter для десктопа: база результатов на SQLite и локальный HTTP API, который соединяет со сторонними электронными системами подсчёта
  • LiveOn, нативные Swift и Kotlin: трансляция в Amazon IVS с настройкой по QR и трёхслойным микшером камеры, логотипа и наложенного живого табло
  • VR, Electron: до четырёх камер — телефон, USB или RTSP — через WebRTC, мгновенный повтор и нарезка клипов через ffmpeg, рестрим на YouTube, офлайн-лицензирование, подписанные и нотаризованные сборки для macOS, Windows и Linux

Инженерные акценты

  • Offline-first: сохранённая исходящая очередь сбрасывается на платформу, когда соединение возвращается
  • Собственноручно написанный LAN-протокол: UDP-обнаружение широковещанием, TCP-сессии с переподключением, loopback-связь с окном ТВ
  • Накладки табло рендерятся нативно и компонуются в видеопоток раз в секунду
  • Живой поток баллов через Socket.IO управляет накладкой на iOS и автоматическим определением границ боя в приложении повторов

Что это даёт

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

Подтверждение

  • Работает без интернета: данные события кешируются локально, результаты встают в очередь и синхронизируются, когда соединение возвращается
  • Устройства находят друг друга в сети зала через UDP-обнаружение и TCP-сокеты
  • Телефоны стримят в Amazon IVS с живым табло, наложенным на картинку

Стек

  • Flutter
  • Swift
  • Kotlin
  • Electron
  • Amazon IVS
  • WebRTC
  • SQLite
  • ffmpeg

Следующий кейс

Y-Tree
Обсудить проект