Contracts
8
Test suites
7
Role
Lead Developer
Team
5 developers
Overview
FedVote reimagines national elections as transparent, verifiable, and incentive-aligned on-chain infrastructure. It tackles three real problems at once: double-voting, opacity of results, and low youth participation.
Voter identities are abstracted via cryptographic hashing (national IDs are never stored in the clear), while a modular contract architecture keeps elections, party management, and incentives cleanly separated.
I led a team of five developers, owning the contract architecture and reward mechanics from design through deployment.
Key highlights
- 8-contract system: NationalToken (ERC-20), Registry, NationalElectionBody, PoliticalPartiesManager (factory), Elections, VoterIncentives, and a soul-bound DemocracyBadge (ERC-721).
- Six distinct admin roles via OpenZeppelin AccessControl for granular, auditable permissions.
- Non-linear, streak-based rewards (1.3× multiplier across vote thresholds) that compound to encourage long-term participation.
- Soul-bound (non-transferable) NFT badges as on-chain proof of civic participation.
What it does
- Cryptographic voter-identity masking to prevent double-voting without exposing personal data
- Factory pattern enabling multiple concurrent political-party hierarchies
- Reentrancy guards and the Checks-Effects-Interactions pattern on high-value operations
- Batch voter authorization for scalable registration
- 7 Foundry test suites — one per contract — covering access control, state transitions and reward math
Tech stack
Solidity ^0.8.30Foundry (via_ir, optimizer 200)OpenZeppelinReact + ViteTypeScriptethers.js v6Reown AppKitTailwind CSS