reid.wiki

Projects / Software & Infrastructure

Ranked Choice Voting

A live web platform for instant-runoff polls — create a poll, share a link, watch round-by-round eliminations. Running at vote.reid.wiki.

Status
Complete
Timeline
2025
Last updated
August 2025
Links
vote.reid.wiki
Node.jsExpressSQLitePM2AWS EC2GitHub Actions

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.