Projects

YouTube Live Stream Game Platform

Game platform that makes YouTube live streams interactive. With YouTube Data API v3, Socket.io and OBS overlay support.

TypeScriptReactExpressSocket.ioYouTube Data API v3

This platform gives YouTube content creators the ability to transform their live streams into an interactive game stage. Viewers join from their own devices, earn real-time points, and the broadcaster brings them directly onto the stream screen via OBS overlay. The project emerged from a content creator’s need to transform their audience from passive viewers into active participants.

Problem

Standard viewer interaction in YouTube live streams is limited to writing comments; this is a passive experience. The content creator was looking for a different tool to keep viewers engaged with the screen and create a competitive environment. Existing options either required a separate platform or did not work integrated with YouTube’s own ecosystem. It was a critical requirement that viewers could join the game without downloading an additional app or registering an account; because the more friction there is to participation, the lower the number of participants.

Solution

The platform reads the live chat via the YouTube Data API v3 and feeds viewer commands and votes into the game engine; viewers can participate without leaving the stream. Socket.io was used for real-time communication; the actions of hundreds of simultaneous participants are processed through the server and reflected to all connected clients within milliseconds. A transparent browser source overlay is added to the broadcaster’s OBS or Streamlabs setup; game state and the leaderboard are carried over the stream image. The backend was written with Express and TypeScript, the frontend with React and TypeScript.

Key Features

  • YouTube Chat Integration: Real-time chat reading via Data API v3; viewers send their commands without leaving the stream
  • Socket.io Real-Time Layer: Low-latency bidirectional communication; hundreds of simultaneous participants meet in a consistent game state
  • OBS/Streamlabs Overlay: Overlay added as a transparent browser source; leaderboard and game state integrate with the stream image
  • Broadcaster Control Panel: Game session management, question pool editing, and instant leaderboard viewing
  • Zero Viewer Setup: Only a URL is needed to participate; no downloading, registration, or account creation required
  • TypeScript Throughout: Client, server, and API layers were written in TypeScript; the risk of data inconsistency is eliminated at compile time

Technical Infrastructure

Socket.io was a clear choice for this project over HTTP polling alternatives: its bidirectional connection built on WebSocket provides the low latency needed to relay the actions of hundreds of simultaneous viewers to the server and broadcast the current game state to all clients. The live chat reading feature of YouTube Data API v3 made it possible for viewers to join the game simply by writing comments without having to switch to the platform; this brought participation friction to zero. Using TypeScript on both the client and server sides was the key to combining two different real-time data sources (Socket.io events and YouTube API responses) in a single consistent data model while catching type errors early.

Results

The platform delivered measurably higher viewer engagement in the content creator’s streams. Viewers moved from passive spectator status to becoming part of the game, while the broadcaster seamlessly integrated game elements into the stream while maintaining production quality. The collaboration of Socket.io and the YouTube API proved in practice that two independent real-time sources can be brought together into a single coherent experience.