• Trabajos
  • Especialidades
  • Ingeniería
  • Servicios
  • Precios
  • Sobre mí
  • Contacto
Hablar de un proyecto
  • Trabajos
  • Especialidades
  • Ingeniería
  • Servicios
  • Precios
  • Sobre mí
  • Contacto
Hablar de un proyecto
Valerii Vvedenskyi

Los casos describen productos reales en los que trabajé; cada dato de este sitio proviene de ellos.

Secciones

  • Trabajos
  • Especialidades
  • Ingeniería
  • Servicios
  • Precios
  • Sobre mí
  • Contacto

Idiomas

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

Contacto

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. Todos los derechos reservados.

Política de privacidad

Diseñado y desarrollado por Valerii Vvedenskyi con Next.js.

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

Día de competición

Check-in, arbitraje, puntuación y transmisión en vivo para eventos Fitofan

Cinco apps que operan un torneo en el lugar: check-in y arbitraje en un equipo de escritorio, consolas de juez en teléfonos y tabletas, un puente al hardware de puntuación, cámaras de teléfono que transmiten con un marcador en vivo y repetición multicámara.

Rol
Lead Engineer: Flutter, iOS y Android nativos, escritorio
Periodo
2024 – 2026

Contexto

Los torneos ocurren en pabellones deportivos con Wi-Fi poco fiable, hardware prestado y sin tiempo para la configuración. El ecosistema Fitofan necesitaba su propio software de recinto, y construí cada parte desde cero.

El reto

Mantener el check-in, el arbitraje y la transmisión en marcha cuando se cae internet, permitir que cualquier teléfono o tableta se una escaneando un código QR y devolver los resultados a la plataforma y a sistemas de puntuación de terceros.

Construido en todas las capas

  • Fitofan Core, Flutter de escritorio para macOS, Windows y Chromebook: check-in con pagos e impresión de credenciales QR, arbitraje para judo y MMA, sorteos y cuadros, un segundo proceso para la pantalla de TV
  • Fitofan Touch, Flutter para teléfonos y tabletas: una consola de juez con 10 reglamentos, desde taekwondo WT e ITF y kárate WKF hasta gimnasia y breaking, con hápticos y un modelo de entrada consciente de la conectividad
  • Fitofan Connect, Flutter de escritorio: una base de datos de resultados en SQLite y una API HTTP local que hace de puente con sistemas electrónicos de puntuación de terceros
  • LiveOn, nativo en Swift y Kotlin: transmisión configurada por QR a Amazon IVS con un mezclador de tres capas de cámara, logotipo y marcador en vivo superpuesto
  • VR, Electron: hasta cuatro cámaras de teléfono, USB o RTSP sobre WebRTC, repetición instantánea y corte de clips con ffmpeg, retransmisión a YouTube, licencias offline, compilaciones firmadas y notarizadas para macOS, Windows y Linux

Puntos de ingeniería

  • Offline-first: una cola de salida persistente se vacía hacia la plataforma cuando vuelve la conexión
  • Un protocolo LAN escrito a mano: descubrimiento por broadcast UDP, sesiones TCP con reconexión, un enlace loopback a la ventana de TV
  • Superposiciones del marcador renderizadas de forma nativa y compuestas en el flujo de video una vez por segundo
  • Un feed de puntuación en vivo sobre Socket.IO controla la superposición en iOS y la detección automática de los límites de cada combate en la app de repetición

Qué hace posible

Un organizador llega con portátiles y teléfonos y gestiona el registro, el arbitraje, la puntuación y la transmisión desde un único ecosistema, con o sin conexión.

Evidencia

  • Funciona sin internet: los datos del evento se guardan en caché local y los resultados se encolan y sincronizan cuando vuelve la conexión
  • Los dispositivos se encuentran entre sí en la red del recinto mediante descubrimiento UDP y sockets TCP
  • Los teléfonos transmiten a Amazon IVS con un marcador en vivo compuesto en la imagen

Stack

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

Siguiente caso

Y-Tree
Hablar de un proyecto