Skip to content

lukecd/team-dinamita-web3-voting

Repository files navigation

🏆🏆 WINNER: ALCHEMY ROAD TO WEB 3 HACKATHON 🏆🏆

About

This project was built by three devs on two different continents. Gonzo and Nacho in Latin America and Luke in Asia. The project originally started out as a token-gated voting system and then evolved into a unique experiment in encouraging civic responsibility. People are often quick to join DAOs and online communities, but often their participation peters out over time.

To encourage voting and participation, we created an NFT whose design evolves each time a user votes on a proposal. A simple water-color paint spot is added to the design with each new vote. By displaying their NFT online, it's easy to quickly see who is active and who isn't.

NFT-Gated voting system & proof-of-activity

A community can emit a NFT for their members, which enables them to vote on proposals. Empowering the community to decide things in a secure, decentralized and balanced way.

The NFT-gated system ensures that members can only vote once, everyone has the same vote power, a pseudo "credential" of being part of the community.

Each time a member votes on a proposal their NFT evolves, the design represents the number of times the member has voted. This way, the more active a member is, the more evolved their NFT will be, acting as a proof-of-activity. It's a system designed to encourage civic participation by giving people an easy way to show off how much they participate.

image

Screen Shot 2565-05-20 at 15 58 50

The NFT credential can be embedded and shared in any website using the alchemy API.
The NFT credential can also be used to gate community activities, allowing only holders to participate.

The trustless nature of the blockchain ensures that these votations cannot be manipulated, as all the transactions are fully transparent (on-chain).

https://team-dinamita-web3-voting.vercel.app/

How is this build?

The NFT uses on-chain SVG data to represent a vote count, each time someone votes, a new color blob is added at a random location. As storing large amounts of SVG data can get expensive, we decided to deploy on the Polygon blockchain as gas costs are way cheaper than on Ethereum.
The UI was built using React, Rainbowkit and Tailwind.
The backend is a group of smart contracts written in Solidity using the Hardhat environment.
This was all built as part of the Alchemy Road To Web 3 project. It's a hackathon project built by three guys living in different timezones and on different continents.

https://www.youtube.com/watch?v=veBu03A6ptw&list=PLMj8NvODurfEYLsuiClgikZBGDfhwdcXF

What we learned doing this project