Do a Democracy! Do it Everywhere!


Elected distributes and counts ballots using Deno, Mailgun, and Airtable.

Get Started

  1. Copy the Election Template Airtable Base.
  2. Install Deno
  3. Create a local .env file by using the .env.example as a template.
  4. Replace the example Candidates and Voters in your Election Airtable Base with your own Candidates and Voters.
  5. Run deno run --allow-net --allow-read https://deno.land/x/elected/distribute-ballots.js and send each voter a ballot!
  6. Run deno run --allow-net --allow-read https://deno.land/x/elected/count-votes.js to see the results!


Submit patches or tickets to @zspencer@github.com/elected.

I may not have notifications turned on, so a ping at @zee@wandering.shop if I don't get back to you in a few days is not unwelcome.


Elected is licensed under the Cooperative Non-Violent Public License, which places significant constraints regarding the usage of this software. Please review the CNPL license authors summary.