Building a Real-Time Polling Platform

· 3 min · pollpixie.com

What Is Poll Pixie?

Poll Pixie is a platform for creating polls and surveys that update results in real time. Create a poll, share the link, and watch votes come in live. It is built for team decisions, audience engagement, event feedback, and quick community votes.

Polls support multiple question types (single choice, multiple choice, ranked choice, open text), customizable styling, and optional voter authentication to prevent duplicate votes.

Architecture Overview

Vote Submission
  -> API Gateway
    -> Lambda (validate + record vote)
      -> DynamoDB (atomic counter update)
        -> Lambda broadcasts updated totals
          -> WebSocket API -> all connected viewers

Poll Creation
  -> API Gateway
    -> Lambda (create poll record)
      -> DynamoDB (store poll config + options)
        -> Return shareable poll URL

Live Results
  -> Browser opens WebSocket connection
    -> API Gateway WebSocket API
      -> Lambda manages connections per poll
        -> Broadcasts on every new vote

The real-time experience is powered by the API Gateway WebSocket API. When a viewer opens a poll results page, their browser establishes a persistent WebSocket connection. Every time a vote is cast, a Lambda function broadcasts the updated totals to all connected viewers for that poll. Results update instantly without any page refresh or polling interval.

Vote Integrity

Preventing duplicate votes without requiring account creation is a core challenge. Poll Pixie uses a combination of browser fingerprinting, IP-based rate limiting, and optional email verification. Poll creators choose their preferred level of protection based on the use case.

Votes are recorded using DynamoDB atomic counters, which guarantee accurate totals even under high concurrency. A poll that receives thousands of simultaneous votes will count every one correctly without race conditions.

Analytics and Sharing

Poll creators get a dashboard showing vote totals, participation over time, response distribution, and voter demographics (when available). Results can be displayed as bar charts, pie charts, or simple percentages.

Polls can be embedded on external websites using an iframe snippet or shared as a direct link. The embedded version includes a compact voting interface and live results display that fits cleanly into any page layout.