Real-Time Election Vote-Counting System with OBS Integration
A real-time vote-counting system with live broadcast integration, built for the Student Council Presidential election.
Overview
In 2026, I designed and built a real-time vote-counting system for the school Student Council election. It synchronized results through Firebase Realtime Database and sent the live display into OBS for a school-wide broadcast. The project combined data architecture, a fast operator workflow, frontend presentation, live production integration, and deployment under event-day pressure. It replaced slow manual announcements with a clearer and more transparent result experience.
Challenge
The school's Student Council election traditionally relied on manual vote counting and verbal announcements, which was slow, prone to human error, and gave students no visibility into results until the very end. With the election being broadcast live to the entire school, there was a need for a system that could count votes accurately and display results on-screen in real time — without technical failures during a live, one-shot event where mistakes would be visible to the entire audience.
Approach
I decided to build a custom real-time system rather than rely on manual tallying or spreadsheet-based counting. The plan was to use Firebase Realtime Database as the backbone for instant data synchronization, paired with OBS Studio for the live broadcast display — allowing vote counts to update on-screen the moment they were recorded, with no manual refresh or delay.
Process
Data structure design: Set up a Firebase Realtime Database schema to handle vote entries per candidate, structured to update instantly across all connected clients. Input interface: Built a simple, fast input system for election staff to record votes as they were counted, minimizing room for entry errors. Live sync logic: Implemented real-time listeners so that any vote update immediately reflected in the connected display, without page reloads. OBS integration: Connected the live vote display to OBS via a browser source, allowing the real-time results to appear directly on the broadcast feed shown to the whole school. Testing under pressure: Ran multiple rehearsal tests before the live event to catch sync delays, display glitches, or connection drops — since the system had to work correctly on the first and only real attempt.
Outcome
The system worked successfully on election day, displaying live vote counts on the broadcast as ballots were processed — replacing the old manual announcement method with a transparent, real-time experience for students watching. It was one of the first times the school's Student Council election used a live digital vote display, and it ran without major technical issues during the actual broadcast.
In detail
A closer look.
Select a view. Open it to explore the details.
VIEW 01 / 02