Inspiration

While brainstorming, we decided we wanted to create a product which would allow people everywhere to solve social inequalities and injustice within their own communities through communication and political transparency. We were inspired by the First Principles method and searched for a fundamental issue which allowed social injustice to plague our country while continuously being overlooked. Voter turnout, especially among younger generations, has become a fundamental issue damaging democracy. For example, one of the most popular names in Congress, Nancy Pelosi, received only 89,460 votes in California’s 12th Congressional District’s 2020 election out of the district population of 700,000. This means that a whopping 88% decided to not take part in the democratic process. From our own personal experience, we found that many young adults, especially those just now entering the voting pool, often cite disinterest in voting and politics for reasons including voting complexity, and a lack of objective and readily available information about the candidates. Most are entirely unaware of the legislation introduced and passed by Congress and have a difficult time tracking which members of Congress support the same social justice issues they are passionate about.

What it does

Enter Polyglass, the website we have designed to tackle these issues of low voter turnout and political confusion. With a simple and sleek user interface, Polyglass allows visitors to view recent legislation introduced and passed by Congress, along with a visual breakdown of the vote in familiar thumbs-up and thumbs-down styling. Additionally, search functionality allows users to quickly look up specific politicians to see all of their actions (“yay” or “nay”) on recent bills. Polyglass’ modern UI and clean organization of congressional data demystifies the actions of our government and allows users to see whether their interests are truly being pursued by their congressmen. We no longer need to depend on traditional media where politicians have mastered the game of manipulation and exaggerated support for the policies we demand. As voters, we must come together to solve issues such as police brutality and equal rights by using the system designed by the Founding Fathers- the democratic process. With Polyglass, we make the process of forming opinions and voting decisions as simple as possible for not only all voters, but especially so with the young generation most familiar with Polyglass’ modern look and least familiar with the process of government.

How I built it

For our front-end website, we experimented with the Vue.js library for creating a simple and easy-to-navigate user interface to load the data from our back-end API without having to render files on a server. We had never used Vue.js before, but we did not end up having a difficult time integrating the library into our project. This allowed us to host our final project demonstration on GitHub pages and also allows users to switch between pages and specific Congress members and legislation without having to send a new HTTP request. As for the back end of the website, we used the explanations provided through the API microservices workshop to build a FastAPI server to return data via the Congress API, essentially acting as a bridge between the API and our Vue.js front end web app (although for the demonstration, we instead put everything on the front end as to be able to host the site on GitHub Pages). Building on top of Bootstrap 5 turned out to be a successful design decision, as it provided the sleek and modern look that proved to be so important to the effectiveness of Polyglass.

Challenges I ran into

The creation of the app was a tremendous learning experience for all of us on the team. Originally, we used the lessons learned from the API microservices workshop to create a mockup of an SQL database consisting of a three-way joined table that would store the data regarding congressmen, recent legislation, and votes. To gather this data, we began building a python web scraper that would then gather information from the official congress.gov website, and automatically populate the SQL database. However, half way through this process, we discovered the ProPublica Congress API, an existing API that covered this exact functionality. Lesson learned: check if an API already exists! Seeing as it was designed by a reputable source (NY Times), we decided to switch our backend to interact with this API instead, as it would likely provide more accurate information and stay up to date overtime.

Accomplishments that I'm proud of

Overall, three strangers coming together and building a whole website in under one day was an incredible experience. Starting as a simultaneous race of one member learning how to and building a web scraper on the spot, another using their Javascript skills to create a stunning front end UI, and the other learning how to implement FastAPI to tie together the client and server sides together, we’re incredibly proud not only of the product we were able to put together in such a short period of time, but also of the depth of knowledge we were able to learn and share with each other during the process, and the friendship we’ve made along the way.

What I learned

Throughout this project, we had the opportunity to build a web application with separate front-end and back-end apps that communicated seamlessly together to retrieve and display data from an external API. Though we ended up using direct requests for our demonstration website, our back-end relay API for gathering data from the external API and acting as a middleman allowed us to learn a lot about building RESTful APIs. We all used FastAPI for the first time and also first thought about using JSON files to hold our data. This original idea gave us the opportunity to use Python file system modules to learn about accessing files directly. Additionally, we were originally going to use a web scraper to gather data about legislation and Congress members. We learned that creating a web scraper was not as hard as we thought and, though we did not end up using it in our final project, it was a fantastic way to start learning about web scraping as a whole and how it can be used to gather data which is not so programmatically accessible.

What's next for Polyglass

There are many more ideas that we have regarding the future of Polyglass. For example, one big project we would like to work on in the future is adding support for other countries. While we are fortunate that the US Congress data is relatively accessible, many other countries do not make this data as easy to find. Retrieving that data and making it accessible to the public would thus be a great public service for many people across the world, making it a great addition to the website that we are heavily interested in. We are also looking into adding features to make activism more easily possible from within the platform. For example, we would like to add features where users can automatically copy and send generated email scripts from various movements directly inside the website via an “Action” tab located under congressmen profiles. Currently, email scripts are scattered across individual movement websites, and often don’t specify where your emails are going to. By adding the same email functionality natively into Polyglass, we could make it much easier for users to communicate their concerns and demands to members of Congress. This would further improve people’s ability to quickly spur impactful social good, and also grow a better connection between them and their representative. And while there is the potential for many new features, we are proud to say that our demo is already very close to a final release. Though we did not expect to from the beginning, seeing the app function in front of us made us realize that we are closer than expected to being able to release the website to the world in a final form. As such, we now plan to continue working on this project after this event, and soon making it accessible to the public.

Let us end this seemingly indefinite cycle of ineffective lawmakers being continuously voted into office regardless of their inability to serve our needs and respond to our movements and tireless protests. We are optimistic that with tools such as Polyglass, this can become a reality.

Thank you to PlexTech for hosting this event, and making this project possible!

Built With

Share this project:

Updates