America is still reeling from one of the craziest election seasons in its history, one where the media, social networks, and the inherent bias that comes with both played a significant role in determining the outcome of the Presidential election. Seeing the problem with this scenario, we set out to stop media companies in their tracks by detecting whether or not they are partial to one particular side and representing that data in our app.
What it does
Our app allows you to type in a particular politician of your choosing and use this as the basis for the results. Once the politician is determined, multiple news websites are searched for recent and relevant matches for this politician through the use of a News API. Once the algorithm determines the top articles, a specially designed IBM Watson Bluemix API combs through the story description and pulls out phrases which help it determine if the article is generally positive, negative, or neutral. Positive and negative articles generally suggest a bias, but neutral ones do not. The feature that differentiates our app from most, however, is the use of emojis in our app. Articles that have a very positive tone are attributed with a grin emoji. Articles that have a somewhat positive tone are given a smile emoji, neutral tones are given a, you guessed it, neutral emoji, slightly negative tones are given a sad emoji, and very negative tones are given an angry emoji. This helps simplify our app just a tad while making it easier to understand and interpret.
How we built it
We built our app using Android Studio and a little bit of IntelliJ IDEA for testing out sections of our code. A lot of the time was spent on research, in which we had to research what News API to use, how to use IBM Watson Bluemix and connect it to our code, and more. At the very beginning of the app development we made design sketches showing what we wanted the main design of the app to look like. We also had a Nexus 6P on hand to test with, which helped speed up the testing process rather than using a memory-hogging emulator.
Challenges we ran into
We really struggled to integrate the News API into our code in the manner that we wanted, and transferring the .json files to code we could use. After asking almost every single mentor about it we finally managed to get that part to work after working on it for five hours. The Bluemix API was also hard to implement, and we needed to make several new classes to accommodate this.
Accomplishments that we're proud of
We are proud of coming up with a solid idea and being able to deliver it through a well-made app. Creating the app is only part of the hackathon - it's also about how original the idea is and how much of an impact it can make in the real world. As this idea hasn't been implemented very widely and it's based on a hot topic, our app meets both criteria and is relevant among today's apps.
What we learned
We learned a great deal about artificial intelligence and internet of things (IoT) through the Bluemix platform and we also learned a lot about the News API. We also learned how to insert emojis into your code so that they serve a purpose, something which we didn't think was possible before.
What's next for Hack Politics
After this hackathon is complete, we hope our project does not get done with it. We are planning to include a wider set of emojis to compare the sources to, and also thinking about doing something similar using the Twitter API to predict how that person is feeling in real time.