Realtime / EventTech / WebSocket

TNT Live Voting

A live audience voting system for TNT Standup Fest at the Green Theatre in VDNKh. Viewers voted for comedians in real time, and the results appeared on a big screen with animation within seconds.

Role

Realtime System Developer / Solution Architect

Period

2021

1,000+

simultaneous live connections

Seconds

from vote to screen

TNT

tied to a TV broadcast

01

Context

The event needed an interactive mechanism: after each comedian's set, the audience would have a short window to vote "yes" or "no", with the result appearing immediately on the big screen. The system had to handle several thousand live connections simultaneously and respond without noticeable delay.

02

My role

TNT Live Voting is a compact but technically interesting real-time project. The challenge was not in the interface, but in handling the load, minimising latency, and synchronising with the live script of the event. The system had to gather votes from thousands of audience members and display the result almost instantly.

03

Solution

What was built:

  • real-time Node.js application
  • WebSocket connections for mass audience connectivity
  • yes / no voting mechanics
  • voting timer
  • vote aggregation and fast result display
  • on-screen result animation
  • scripted flow designed for a live event
04

Architecture

Stack: Node.js, WebSocket, JavaScript, HTML/CSS.

A lightweight Node.js server with a WebSocket bus: mobile audience clients, an in-memory vote aggregator, and a screen client with result animation.

Video walkthrough

A short video breakdown: the problem, how the system works, what modules were built and the business outcome.

Video coming soon

05

Results

  • system used live at TNT Standup Fest
  • voting worked in real time
  • results were displayed on the big screen
  • project was tied to a TNT television programme
06

What I learned

In real-time systems, simplicity is everything — the fewer moving parts between the audience vote and the screen, the more reliably the system holds up under load.

Stack

Node.jsWebSocketJavaScriptHTML/CSS