FaceVote - Verifiable Face-Recognition Online Voting Platform on the MERN Stack
A MERN-stack online voting platform where a live face scan with liveness checks unlocks your ballot, votes stay anonymous, and a tamper-evident HMAC ledger lets anyone verify the results.
One-time purchase · Complete source code · Docker setup included
What's included
- Source Code
- README
- Setup Guide
- Docker Compose File
- Demo Seed Data
- Unit and E2E Tests
- .env.example
Built to help you go further.
FaceVote is a MongoDB, Express, React 19 and Node 22 application that runs face recognition in the browser with face-api (TensorFlow.js), so camera frames never leave the device and the server only receives a 128-number descriptor plus landmark telemetry. It adds randomised liveness challenges re-checked on the server, AES-256-GCM encrypted face templates, step-up face authentication before every vote, anonymous receipts, a chained HMAC ballot ledger sealed at election close, live Socket.IO tallies and an admin console, all started with a single docker compose command. Students learn applied biometrics and anti-spoofing, secure authentication design, tamper-evident data structures, real-time WebSocket updates and containerised full-stack deployment, along with an honest look at the system's limitations.
