Overview
Group decisions deserve better than “reply with your top pick.” This is a ranked-choice voting platform: create a poll, share the URL, everyone ranks the candidates, and the results page shows the actual instant-runoff tabulation — round-by-round eliminations and vote transfers, live.
Implementation
Node/Express with SQLite, deliberately boring on purpose. The interesting part is the IRV tabulation engine and the abuse-prevention around anonymous voting: IP-based duplicate prevention, rate limiting, and input validation via the usual hardening stack.
Deploys are fully automated: push to main → GitHub Actions → EC2, where the workflow temporarily whitelists the runner’s IP in the security group, ships the build over SSH, and PM2 reloads with zero downtime — then revokes the firewall hole whether the deploy succeeded or not.
Status
Complete and live at vote.reid.wiki. Used for real decisions among friends, which is the only user base that files bug reports in person.