
ACE Voting Platform
A voting system for children's creative work exhibitions at Australian Centre for Education.
The Problem
Australian Centre for Education (ACE) runs exhibitions where children display creative work (drawings, crafts). Previously, voting was done with physical stickers — messy, hard to count, and impossible to prevent duplicate votes. They needed a digital solution that parents could use on their phones during the event.
The Approach
Built a mobile-first web app to help my sister and the ACE team enable parents to scan a QR code at exhibitions, browse children's creative work, and cast votes seamlessly without paper stickers.
Key Challenges
The main challenge was preventing vote manipulation while keeping the UX frictionless — no login, no account creation. I implemented device fingerprinting combined with rate limiting. Also had to handle the burst traffic pattern (200+ parents voting simultaneously during a 2-hour event window).
Technical Decisions
Next.js
Fast initial load is critical — parents are scanning QR codes and expect instant results.
MongoDB
Flexible schema for different exhibition categories and voting rules that change per event.
shadcn/ui
Accessible, clean components that work well on mobile for non-technical users.
The Result
Built for my sister and successfully launched twice at Australian Centre for Education (ACE) exhibitions. Completely replaced manual sticker counting with real-time digital vote tallying.
Next project
ChatEaver