• Work
  • Expertise
  • Engineering
  • Services
  • Investment
  • About
  • Contact
Discuss a project
  • Work
  • Expertise
  • Engineering
  • Services
  • Investment
  • About
  • Contact
Discuss a project
Valerii Vvedenskyi

Case studies describe real products I worked on; every fact on this site comes from them.

Sections

  • Work
  • Expertise
  • Engineering
  • Services
  • Investment
  • About
  • Contact

Languages

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

Contact

valerii.vvedenskyi@gmail.com

Toronto, Canada

LinkedIn

© 2026 Valerii Vvedenskyi. All rights reserved.

Privacy policy

Designed and built by Valerii Vvedenskyi with Next.js.

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

Competition Day

Check-in, judging, scoring and live broadcast for Fitofan events

Five apps that run a tournament on site: check-in and judging on a desktop, judge consoles on phones and tablets, a bridge to scoring hardware, phone cameras that broadcast with a live scoreboard, and multi-camera replay.

Role
Lead Engineer: Flutter, native iOS and Android, desktop
Period
2024 – 2026

Context

Tournaments happen in sports halls with unreliable Wi-Fi, borrowed hardware and no time for setup. The Fitofan ecosystem needed its own venue software, and I built every part of it from scratch.

The challenge

Keep check-in, judging and the broadcast running when the internet drops, let any phone or tablet join by scanning a QR code, and feed results back to the platform and to third-party scoring systems.

Built across the stack

  • Fitofan Core, Flutter desktop for macOS, Windows and Chromebook: check-in with payments and QR badge printing, judging for judo and MMA, draws and brackets, a second TV-screen process
  • Fitofan Touch, Flutter for phones and tablets: a judge console with 10 rule sets, from WT and ITF taekwondo and WKF karate to gymnastics and breaking, with haptics and a connectivity-aware input model
  • Fitofan Connect, Flutter desktop: a SQLite results database and a local HTTP API that bridges to third-party electronic scoring
  • LiveOn, native Swift and Kotlin: QR-configured broadcasting to Amazon IVS with a three-layer mixer of camera, logo and live scoreboard overlay
  • VR, Electron: up to four phone, USB or RTSP cameras over WebRTC, instant replay and clip cutting with ffmpeg, YouTube restream, offline licensing, signed and notarised builds for macOS, Windows and Linux

Engineering highlights

  • Offline-first: a persisted outbound queue flushes to the platform when the connection returns
  • A hand-written LAN protocol: UDP broadcast discovery, TCP sessions with reconnect, a loopback link to the TV window
  • Scoreboard overlays rendered natively and composited into the video stream once a second
  • A live scoring feed over Socket.IO drives the overlay on iOS and automatic fight-boundary detection in the replay app

What it enables

An organiser arrives with laptops and phones and runs registration, judging, scoring and the broadcast from one ecosystem, online or not.

Proof

  • Works without internet: event data cached locally, results queued and synced when the connection returns
  • Devices find each other on the venue network through UDP discovery and TCP sockets
  • Phones stream to Amazon IVS with a live scoreboard composited into the picture

Stack

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

Next case

Y-Tree
Discuss a project