GOTCHA! A Government Observer: Transparency, Credibility, & Honesty Application

G overning isn't easy…

Student government, that is! One of our team members, Anson Huang, is the chair of the committee for Resolution Followup within ASUW, and another one of our members, Reiden Chea, is the chair of Oversight within ASUW as well. Representation of CS students in our student senate is quite low, and it may be due to the fact that being involved with politics can take a lot of time. As young individuals that are passionate about politics and the fate of our society, we found that it was fairly difficult to find the time and the information about the policies that affect our day-to-day life. Thus, we wanted to create an easy platform for those that are looking to stay informed on the fly.

O ur application…

has a lot to offer! From the “Legislators” page, you are able to search for a senator or state representative in the House and be provided with their contact information, official social media accounts, and a list of which bills of the last 100 they have sponsored or contributed to. From the “Bills” page, entering the ID of a bill you would like to learn more about will provide you with three different bite-sized summaries of the bill, depending on how much detail you would like! The data updates every time the app is launched, so there is no need to worry about outdated data! In addition to these main features, you can also visit the “Home” page to be inspired by Roosevelt himself, or visit the “About Us” page to learn more about us, the developers!

T echnicalities...

Originally, we were planning on utilizing existing government APIs to compile our data, but none of them did exactly what we wanted, and some were deprecated in some way. Naturally, we created our own custom, basic API in Python so we could control which data we wanted to collect and how to store it. Our basic API scrapes regularly updated bill status XML files in the Bulk Data Repository provided on govinfo.gov to find the latest 100 bills that have been updated, provide a short summary of those bills, and list every sponsor or co-sponsor of that bill. We used the pandas library to read and convert between .csv files for multiple purposes, including retrieving the contact information of each legislator. We used Axios to send JSON files to the front-end of our application, as well as Flask to retrieve those JSON files. Finally, using Vue and Bootstrap components, our application is able to display concise information about legislative bills and make it more accessible for ordinary people.

C hallenges…

Our first attempt at starting our project was to use the government API for getting information on legislation bills but we were unable to get it working how we wanted. We decided to scrape the information using the given XML files on the website ourselves. A hurdle for us at the beginning was to intercept the available data and sorting and storing the information we want. Another challenge that gave us trouble was integrating everything together and displaying it on our front-end website. Also, taking into account how data are presented and organized in a way that the user can easily find the information they need.

H ow we're moving forward...

We planned to implement a search engine for our bills so that one can search key terms and be provided with a list of relevant bills to read about... Additionally, we would like to add more filters for our searching mechanisms, such as filtering bills by the party of the sponsors, or the date created and the status of the bills.

A ccomplishments that we're proud of...

Through the many obstacles we faced, we were very proud to have parsed through the XML.file and capture the information that we wanted. We also were able to group the information we received and frame it in another way that made it easier to view the bills associated with one legislator. Overall, we learned that communication is key. We would not have been able to do this project without the communication and collaboration of our peers. We also were able to take a look into the structure of an API and replicate it in a similar way.

Now that we GOTCHA ...

Since attending Dubhacks 2019, we have all improved greatly in our problem-solving skills and our ability to work efficiently as a team. Please visit the “About Us” page in our app or view it in the screenshots attached to this submission to learn more about our journeys, or contact one of us if you have any questions.

Share this project:

Updates