Skip to content

Engineering India Today's Election Dashboard: Real-Time Data at Scale

Behind the scenes of building India Today's live election results dashboard — handling 10,000+ constituency results in real-time with WebSockets, React, and Node.js.

Topic
React.js
Reading time
8 min
Length
190 words
Published
Jan 15, 2026
In this article
  1. The Challenge
  2. Architecture
  3. Key Decisions
  4. Results

Election night at India Today Group is the Super Bowl of Indian tech media. Millions of concurrent users watching live results. Zero tolerance for downtime. Here's how we engineered it.

The Challenge

Displaying real-time results for 543 Lok Sabha constituencies + 4000+ state assembly seats with sub-second updates to millions of concurrent viewers.

Building and maintaining personal products and freelance projects alongside full-time work

Architecture

EC Data Feed → Node.js Ingestion → Redis Pub/Sub → WebSocket Gateway
  → CDN (static) + SSE/WS (dynamic) → React Dashboard

Key Decisions

Server-Sent Events over WebSockets — for the public dashboard, SSE is simpler, works through CDN, and handles millions of one-way connections better than bidirectional WebSockets.

React with Canvas — the India map visualization renders 543 constituency polygons. DOM would choke at this scale, so we use Canvas with React for the controls.

Redis for pub/sub — when a result comes in, it's published to Redis. All WebSocket gateway instances subscribe and push to connected clients within 200ms.

Results

Handled 5 million+ concurrent users on election night with 99.99% uptime and sub-500ms update latency. The dashboard became one of India Today's most-visited features.

Deepak Kumar

Written by

Deepak Kumar

Sr Software Engineer at India Today Group | Aaj Tak · MERN Stack · Generative AI

I build production web applications and Generative AI systems — React and Next.js on the front, Node.js and RAG pipelines behind them. I write here about what those systems actually do once real traffic hits them.

Message me