// FULL-STACK — 120+ USERS
Secure real-time voting system for departmental elections serving 120+ users with Firebase and Next.js.
Designed and deployed a secure web-based voting system for departmental elections, handling 120+ voters with real-time vote casting. Built with Next.js and Firebase, featuring role-based access control, Firestore atomic transactions, and real-time result tallying.
Departmental elections relied on manual paper-based voting — slow, error-prone, and lacking transparency. A digital system was needed that could handle concurrent voters, prevent duplicate votes, and provide real-time verifiable results.
Core Pattern
Full-Stack Web System
Technology Stack
Next.js 16 + Firebase
Key Components
Auth
Voter logs in via Firebase Auth — eligibility verified against allowlist.
Ballot Display
Candidate list fetched from Firestore, rendered via Next.js SSR.
Vote Submission
Atomic Firestore transaction records vote and marks voter as voted.
Duplicate Prevention
hasVoted flag checked server-side before each transaction.
Live Results
Admin dashboard with real-time Firestore listeners showing vote counts.
Audit Trail
Immutable Firestore vote log for result verification and transparency.
120+
Active Users
0
Duplicate Votes
0
Downtime