Minimax‑TD Voting App

Create an election, collect ranked ballots, and compute Minimax‑TD results—shareable via a single link (no server required).
Ready

Election setup

Tip: keep candidate names short (e.g., “A”, “B”, or “Smith”). You can reorder them later for ballot entry.
    Reorder candidates by dragging the handle (≡). This does not affect results; it just changes the default ballot order.

    Cast a ballot

    Drag candidates to rank them from #1 (top) to last. Then click Add ballot. You can add multiple ballots (e.g., one per voter).

    Privacy: ballots are stored in your browser (localStorage). Hosting this page creates a public link, but it does not send ballots to a server.

      Bulk import ballots

      Paste ballots (one per line). Format: A>B>C. Names must match candidates exactly.

      Results

      Add candidates and ballots, then click Compute results.

      Pairwise matrix

      Compute results to view pairwise comparisons.

      Stored ballots

      Ballots: 0
      You can export ballots for analysis or verification.
      Want “real” public voting?
      This app is static (no backend). For a public election where each voter’s ballot is stored remotely and results update live, you’ll add a backend (e.g., Supabase/Firebase) and require unique voting links.
      Note: ballots are not included in the share link—only the election setup.