Note: you might need to have a MetaMask account (or other blockchain wallet) to vote. It will probably work without, but if you don't see your vote in the spreadsheet try with a metamask account (connect in the top right hand corner).
I was inspired by Austin Griffith's personal token voting system, which you can find a blog post about here: https://medium.com/@austin_48503/personal-token-voting-73b44a598d8e
What it does
It's a quick build that currently lets you submit a vote signed by a wallet of your choice so that your vote is cryptographically verifiable. If you use this ethereum sandbox: https://sandbox.eth.build/build#374488eb7588faa8e983926613b38756e822e02ab97edae74836ab148f6bd549
and replicate the string that is sent as your vote, you will see the address you used to vote. It currently stores these votes in a google spreadsheet.
How I built it
I built it using the front-end prototype that Austin Griffith has built: scaffold-eth. I then customized some of the front-end to my liking. I used Zapier to simplify the backend process. Right now, the app simply stores all the information related to votes in a spreadsheet.
Challenges I ran into
I was struggling to get Zapier working for some of the process. Another struggle was understanding how the Google Sheets API and ethers contracts worked, but I gained a rough understanding of them while building this project.
Accomplishments that I'm proud of
I was able to link the whole spreadsheet backend together eventually! I'm also proud that I was able to start diving into blockchain, even if it's a simple project for now.
What I learned
A little how blockchain contracts and cryptography work, some tools and code for using Google Sheets API.
What's next for Voter Blocks
I need to make it so that you can propose your own topics and polls to vote on, I need to work on what coins you can use to vote and how votes are counted, and I also need to make a true backend that is more robust than a google sheet if I want to use this in production.