Project: Technology for Accessible Politics: Making the Brazilian Government’s Data Easier to Navigate
By Luanna Veroneze Quinalha, Global High School Fellow (Gap Semester (Graduated high school from Colégio Marista Anjo da Guarda ‘23; incoming freshman at Barnard College — Curitiba, Brazil)
The Problem
When voting season comes around, if a voter makes a Google search to read about a particular candidate, they’ll most likely find polarized news stories and/or the candidate’s website. Neither type of result can be considered a neutral or complete source of information: news stories carry the biases of the people who write them and often cover only a politician’s latest actions, while the candidate’s website is positively biased towards them. How can we ensure that voters have facilitated access to reliable information on which they can base their own opinions about political candidates?
Proposed Solution
The solution my project proposes is to make the Brazilian government’s data more accessible. Both the Chamber of Deputies and the Senate make their data publicly available through their websites and APIs. However, these websites are hard to navigate and it’s unlikely that the average voter would put in the effort to find information there. My website, “Política para Apressados” (Politics for People in a Hurry) makes it easy for users to look up bills from specific deputies and senators or filter legislative proposals by theme, year, political party, or keywords. By looking at a senator’s or deputy’s past bills, a voter can decide for themselves how they feel about that politician and whether or not they’d like to see them reelected.
“Política para Apressados” (Politics for People in a Hurry)
To implement this project, I first used Python and pandas to fetch data from the Chamber of Deputies’ and the Senate’s APIs. Because each legislative proposal written by a deputy or senator has a lot of data associated with it, I then proceeded to clean and format only the data that I wanted to display on my website. In the end, I obtained one dataset with all bills presented by deputies since the beginning of 2022 and a similar dataset with all bills presented by senators since the beginning of 2022. The GitHub repository with my Python code is public and includes Portuguese and English versions of the README file.
My second step was to create the website using HTML, CSS, and JavaScript. It currently includes three pages: a Home page, a page for the Chamber of Deputies, and a page for the Senate. Its main functionality is a search bar that allows users to select what they want to filter their search by and then enter keyword filters. For instance, if a user chooses to filter by author, they can proceed to enter a specific politician’s name and they will see all bills written by that deputy/senator. The Chamber of Deputies and the Senate pages also include some basic definitions of what these legislative bodies do and who is eligible to run for deputy or senator. Finally, after developing the first version of my project, I ran it through accessScan and made corrections to my code until it was compatible with the Web Content Accessible Guidelines. The website is live, and the GitHub repository for the project is public. Similar to the repository containing my Python code, although the default version of the README file is in Brazilian Portuguese, you can access an English translation if you’d like.
Screenshot of the Chamber of Deputies page of the website. In the text box below the title, users can read about how the Brazilian Constitution defines this legislative body. Immediately below that, there are instructions on how to use the website’s search bar. In this screenshot, the user chose to filter bills by author and searched for the name “Maria do Rosário”, resulting in the table of bills displaying this deputy’s proposals starting from the most recent. For each bill, the user can see its themes (e.g. Criminal Law and Criminal Procedure), its content, its type (e.g. Law Proposal), the year it was written, the main author’s name, occupation, and party, and link to read more about the proposal in the Chamber of Deputies’ official website.
Currently, I am working on getting the website to automatically update whenever the Brazilian Chamber of Deputies or the Brazilian Senate publish data on a new bill in their respective Open Data APIs. The beta versions of these automatically updated pages are linked to the current versions of the Chamber of Deputies and Senate pages, but they are not included in the website’s navigation bar because they are still missing some key data and/or functionality.
Tech for Politics and Project Reflections
We hear a lot about policy for tech: how to manage AI, guarantee data privacy, make technology accessible, etc. Although all of these topics are very interesting and deserve immediate attention, learning about them through the Columbia JSTEP Global Fellowship’s Workshops led me to wonder about the other lane in the tech-policy relationship: how could tech be used for policy?
One of the possible answers is, as my project shows, by making information about current bills easier for the general public to access and understand. Developing this website allowed me to apply my coding skills to make an impact. As simple as that sounds, it was an incredibly empowering experience and I want to thank the Columbia JSTEP community for this opportunity.