Jump to a page or project

A full-stack real-time polling and survey platform with live voting, analytics dashboards, Google OAuth, and WebSocket-powered updates.
PollMan is a modern full-stack polling and survey platform built for creating, sharing, and analyzing polls in real time. Users can create custom polls, share them publicly, collect responses, and monitor results through interactive analytics dashboards.
The platform provides real-time voting and analytics using Socket.IO, allowing poll responses and charts to update instantly as users participate. It also supports public poll sharing, anonymous responses, poll publishing, and active, expired, and archived poll management.
Authentication is implemented using Google OAuth 2.0 with JWT-based sessions and protected dashboard routes. User and poll data are stored in MongoDB using Mongoose, while the Express.js backend handles authentication, poll management, responses, and analytics.
The frontend is built with React, TypeScript, Vite, Tailwind CSS, Material UI, Radix UI, and Recharts. The backend uses Node.js, Express.js, Socket.IO, MongoDB, Mongoose, Passport.js, JWT, and supporting middleware.
A key focus of PollMan is real-time interaction. Socket.IO handles bidirectional communication for live poll updates, response events, analytics updates, and connection management