Back to Index

UniBallot

A web-based election and voting management system designed for university associations. Enables digital elections with voter accreditation, vote tallying, and audit trails.

RoleLead Developer
Year2025-2026
ClientKorun Tech Ltd
Statuscompleted
Core Stack
ReactTypeScriptViteTailwind CSSExpress.jsMongoDBRedisJWT
UniBallot preview

Role & Contributions

Built a voting platform covering the election lifecycle: voter accreditation via CSV upload, candidate management, a 7-state election workflow, vote submission with duplicate prevention, real-time result tallying, and audit logging.

The Problem

Association elections relied on paper ballots, causing slow accreditation, unreliable records, and disputes over results. No digital audit trail.

Approach

Built a web-based system with multi-role access (student, officer, super_admin) supporting both candidate-based elections and yes/no confirmation votes. Real-time vote counting and state-based workflow prevent invalid operations.

Solution

Used MongoDB unique constraints on (electionId, officeId, ballotToken) to make vote submission idempotent—network retries don't cause duplicate votes. p-limit(30) and Redis rate limiting handle voting traffic spikes on constrained infrastructure.

The Details

Technical Deep Dive

Architecture

System

React frontend, Express API backend, MongoDB + Redis

Frontend

React 19, TypeScript, Vite, Tailwind CSS, shadcn/ui, Recharts

Backend

Node.js, Express, MongoDB, Redis, BullMQ

Core Features

Secure Voter Accreditation

Bulk CSV upload of eligible voters with matriculation number validation

Candidate-Based and Confirmation Voting

Support both candidate-based elections and yes/no confirmation votes

Vote Integrity Protection

Network retries don't cause duplicate votes; database constraints handle concurrency safely

Real-Time Result Tallying

Live election results visible to students and officers during voting

Audit Trail

44 audit action types logged for all administrative actions and state changes

Receipt-Based Vote Verification

Students receive unique receipt codes after voting without revealing vote content

Achievements

Idempotent Vote Submission

MongoDB unique constraints prevent duplicate vote records when requests are retried. Solves concurrency without distributed locks.

Vote Concurrency Management

p-limit(30) queuing and Redis rate limiting handle voting traffic spikes on 512MB RAM infrastructure.

Audit Logging

44 action types logged with async integrity checking for election administration accountability.

Have a similar challenge?

Tell me what you're building, what you need help with, and where you want to take it. If it sounds like a good fit, we can talk through the next steps.

Email Directly
PreviousNACOS FUNAABNextBursarly