Our work is to create a website that would suggest political candidates based on their policies and issues. The goal is to take voting away from partisanship and for more people to focus on the issues that are most important to them. To accomplish this, this project provides an immutable source of proof holding government officials accountable to their policy voting history when running for a particular office. This can be done by referencing articles and sources revealing the history of a political candidate's opinions or stance on issues. This not only shows what they say they care about, but also the actions they have taken towards addressing their concerns. Such records cannot be deleted or altered when hosting on a blockchain. This project is an open source project that provides an immutable record of governmental policies and voting history of governmental officials. It is used as a source of proof in the event that a person involved in government runs for a particular office. All the information regarding a candidate's voting record and key issues they support are in one place for people to access. The goal is to create an unbiased source of information to evaluate government agents prior to any voting process.
How It's Made
We chose a modular design for our application with a Vue front end client Node server backend. This is in part because we want to be able to call on Ethereum contract read data from a python Ai integration through a fetch call. The Ai engine pulls article data from textile for data analysis and machine learning. The engine determines stances of political candidates running for a particular office be it locally or regionally. The Ai engine also makes recommendations and predictions for a user based on vote records of articles. Posting and Editing Articles: Users may post articles and edit articles. Modifications made on articles are documented to the public ID of the user. Any changes to Articles and immutably recorded via IPFS and Ethereum (working progress). Cataloging of votes: User Identity is in the form of an Ethereum public address which is stored along with everyone vote on a specific article and article address in the form of IPNS. Article Storage: Article storage is two fold. Files and articles are all stored in IPFS via Textile buckets. Only the article’s IPNS are stored in Ethereum along with a user’s ID (user’s Ethereum wallet public address via 3Box). Ethereum: The solidity contract registers users, registers votes to articles by users, retrieve list of articles voted on by a user, retrieve registered users, and stores IPNS as article identifiers. The Ai makes calls to the nodejs back end via fetch() to a koa router to retrieve IPNS address associated with user addresses. With this anonymous querying of data, user’s real identity is separated from big data analytics. We query IPFS using IPNS to make batch processes of voted data. Users are free to disassociate with their voting habits with a new account if they do choose but still retain the benefit of being provided with recommendations to a political candidate best matching their preferences without being expose of who they are therefore maintaining their safety in countries that may be hostile base on political candidate choice. Article versioning in IPFS: Articles are immutable to non registered users. Article versioning provides a historic proof of certain political stances and statements made by a political candidate thereby providing proof to lies and false statements. Each edit requires money to be sent through and will show which address made such edits. The system would be set in such a way to deter enormous edits.