Inspiration

The inspiration for this app is the upcoming elections. With so much information that is blasted to the average voter these days, it can be difficult to sift through the noise to find the facts that matter. Our app presents the facts as they are, with the actual voting records for candidates that have been in office, in addition to much more information about the candidates a voter has to choose from for their location.

What it does

Our app queries information about candidates for races, as well as any additional legislation or referendums that the user is eligible to cast their vote. It queries this information using the ProPublica Congress API, Google Civics API, as well as information scraped from Votesmart.org. This information would then displayed on an Android phone through our app.

How we built it

We built our app by implementing a C++ program which used the Google Civic API and the ProPublica Congress API. Using this API, the C++ program creates several JSON files which are then passed on to our web scraping program that was created in Node.js. This web scraper then uses this data to scrape from the Votesmart.org site, and find additional information about the candidates specified and creates an additional JSON file. If we had had more time, we would have been able to implement the connections between our front and back end, where this JSON file would be parsed and displayed on the Android phone.

Challenges we ran into

Finding the vote data proved more difficult than expected.

Scraping the Votesmart.org website.

Calling data from Google and ProPublica APIs.

Finding tools for building a GUI.

Building a C++ GUI.

Building an Android GUI.

Linking our front end to the back end.

Accomplishments that we're proud of

Scraping the Votesmart.org website.

Calling data from Google and ProPublica APIs.

What we learned

How to access an API.

How to access, modify, and save JSON files.

How to scrape a website.

How to build an Android GUI.

How to build a Windows GUI.

What's next for ELC (Evaluating Local Candidates)

Linking the front end to the back end, so that the data can be displayed to the end user

Find more data regarding to candidates voting records

Create a finished app

Improve the design and aesthetic of the Android GUI

Troubleshooting web scraper for possible issues/inconsistencies

Built With

Share this project:

Updates