Leilani, our wonderful teammate, lives in a co-op. That comes with a lot of consensus voting to determine the outcome of a certain decision. One such decision? Can she and her housemates eat bananas or are they banned for the year? That one took up 8 hours of Leilani's time, and what took up some of that time was having to manually count the votes over and over and over, and also succumbing to memory loss because housemates would forget what the other person said. We ain't got time for that...
What it does
So we developed Concensus! Concensus is a DApp that aims to tackle three problems around voting: voter identity, authorization, and forum discussion. The last one, given today's political climate, is especially important because we typically tend to end the debate when a disagreement arises, but with consensus-based voting, it makes sense to continue and track the conversation behind what's going on. The way Concensus works is a user logs in and verifies their identity with SMS, scans a QR code to enter or create a poll, and each member will be allowed to vote in that poll. If a disagreement arises, a chatroom pops up for members to discuss and track the conversation, which allows members to easily reference what they said during the consensus vote and save time!
How we built it
We built Concensus off of react-native with Touch ID, and the smart contract to track the voting transactions via Solidity and Truffle.
Challenges we ran into
Initially, we tried to utilize Uport for authorization and identity verification, but after spending time trying to scavenge for documentation on how to integrate with react-native, we decided to give up and find an alternative. Other challenges we ran into were getting web3 to consistently work and initiate transactions, and also having truffle interact with react-native.
Accomplishments that we're proud of
The app works!
What we learned
Building DApps are not as easy, and the ecosystem for development is still very immature. The technology is very promising and lots of great work is being done, but not enough information is available to build full-scale applications on all modern platforms.
What's next for Concensus