View bills currently on the house floor. Classification is shown through icons beneath the bills.
View bill summaries. Keywords and classifications are done through Natural Language processing.
Automatically find your state's representatives
View your representatives' Twitter, Facebook, or official website
Pocket Change was inspired by a trend we have seen in recent years. Trust in the media has been at an all-time low, and concerned citizens are unable to keep up with the constantly updating world of government with confidence. To combat these issues, we are offering a completely non-partisan mobile application where users can see upcoming Congressional bills and speak their voice to their representatives.
What it does
Today, we expect content fast. Pocket Change allows users to truly have a voice of change in government from the phone in their pocket. We allow users to view bills and contact their representatives based on their newly-founded, well-informed opinions.
To make information easily digestible, we use natural language processing to categorize and obtain the keywords from proposed bills in Congress. These categorizations are identified by icons to ensure users can easily find bills that they care about at a glance. Summaries of proposed bills and their full text are provided whenever available.
Finally, make your voice heard! Pocket Change uses CoreLocation and Geocoding to automatically determine who your state's representatives are. You can visit a representative's official contact form, Facebook page, and Twitter to directly contact your representatives.
How we Built It
Pocket Change is a native iOS application built with XCode. The automatic service to find your state's representatives was created using the Google Maps Geocoding API. For our backend, we created a Flask app on the Google Cloud compute instance. This Flask app connects to ProPublica, congress.gov, and govtrack.us to obtain data regarding bills using available API methods and scraping. This data is then fed into Google Cloud Platform's Natural Language Processing service to obtain keywords from and to categorize the bill.
Uniquely, we had a full-time designer for our application's art. Bryce created the animations, graphics, and color scheme of our application from scratch. We felt this allowed us to create a truly polished application.
Challenges we ran into
As newcomers to the Google Cloud Platform, we had to overcome a large learning curve to get the Google Cloud NLP to work. Adding to this, much time was spent working with the Google app engine only to realize that it was not the best choice for our application.
Last, but certainly not least... Our Google Cloud Platform API key got hacked (programmer error). We had to scramble to get our web service running before demo time.
Accomplishments we're proud of
We're proud of bringing it all together! Learning how to utilize Natural Language Processing in the Google Cloud Platform was difficult at first, but immensely rewarding. Along with learning new concepts, all of the icons in the application were created by us during the hackathon, making this application truly our own.
What we learned
- Geocoding using the Google Maps API
- How to utilize the Google Cloud Platform
- Scraping web pages
- Natural Language Processing concepts
- Creating custom animations for our applications using Lottie
What's next for Pocket Change?
Our project was highly ambitious, and we did not get all of the features we wanted into our application. For instance, you may notice the "Favorites" tab was never shown in our demo video. The "Favorites" page would show Bills that you subscribed to and their last known actions in Congress. We did not have time to implement this feature.
Adding to the Favorites tab, we were hoping to have notifications when bills about topics you are concerned about get released, along with detailed voting records from your state representatives to help you determine how you want to vote in upcoming elections.