Inspiration
Most voting apps are built for one specific use case, and those built for general-purpose use tend to be clunky or inefficient. I wanted a highly efficient two-factor authentication system that any individual or institution could easily use. And the system would also include features that allow formal elections with a validated CSV of eligible voters, and would also allow casual polls where anyone can vote for their favorite contestant, like Miss World.
What it does
Admins upload a CSV of eligible voters, including each voter's email and registration photo. Voters log in with their email (verifying account ownership), then confirm identity with a live photo matched against their registration photo, which is a solid two-factor check before any vote is permitted.
How I built it
Built the core platform for voter management, ballots, and tallying. Authentication uses Google Sign-In with JWT, keeping login simple for any user while confirming account ownership. On top of that, a dedicated face-matching library compares a live-captured photo against the voter's registration photo for a second verification layer.
Challenges I ran into
Getting Google Sign-In via JWT working reliably across platforms was tough but rewarding once solved. Balancing that simplicity with strong security, combining login verification and face matching while keeping the system general enough for any election type, was also a challenge, along with handling biometric data responsibly (consent, storage, retention).
Built With
- codex
- face-api.js
- firebase
- google-cloud
- google-sign-in
- gpt-5.6
- javascript
- jwt
- node.js
- react-native
- typescript
Log in or sign up for Devpost to join the conversation.