TypeScriptintermediatewebAI generated

Real-Time Polling App with WebSockets

Build an app where a host creates live polls and participants vote in real time, with results updating instantly across all connected clients via WebSockets. Learners practice typed WebSocket message contracts, shared types between client and server, and real-time state synchronization.

Estimate
~11h
Steps
6
Completed by
0
Proposed by
codeseed.app

Socket.IO · React · Express

Project roadmap

  1. 01

    Define shared event types

    ~1.5h

    Define TypeScript types for poll events shared between client and server.

  2. 02

    Build the server with Socket.IO

    ~2h

    Set up an Express server with Socket.IO handling poll rooms.

  3. 03

    Build the host UI

    ~2h

    Build a UI for creating a poll, opening it for votes, and closing it.

  4. 04

    Build the participant voting UI

    ~2h

    Build a UI showing live-updating vote results as they come in.

  5. 05

    Handle reconnection and duplicate votes

    ~2h

    Prevent duplicate votes and handle client reconnection gracefully.

  6. 06

    Write an end-to-end demo test

    ~1.5h

    Simulate a host and multiple participants in an automated test of a poll room.

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~11h · 6 steps

Tech stack

Socket.IOReactExpress