View a demo of our project here! https://youtu.be/9WfTZi9KiVw

Inspiration

With the 2024 presidential election – a historical and critical event – coming up in less than a month, we noticed that there was a surplus of election information on the internet, but a lack of organization. At a more targeted level, even less people are informed about their state senators and representatives, despite their direct impact on voting issues. To address this issue we created Vota, which aims to centralize representative information for voters – helping to streamline the process of making informed election decisions.

Existing websites and resources for centralizing information for voters tend to be convoluted and difficult to navigate due to the quantity of information that they store. Vota’s focus on congressional positions allows for a more targeted user friendly experience.

What it does

Vota provides general election information to a user, and prompts users to enter their hometown state; from the input, a list of state representatives and senators is retrieved from the API and displayed in a user-friendly format. A chatbot is also provided to ask additional questions pertaining to representatives, voting, and election information, which aims to answer any questions that may arise. Through these functionalities, we hope to provide an easily accessible and centralized method of learning about state representatives and elections!

How we built it & Challenges

For this project, we used the Congress.gov API which can be found at: https://gpo.congress.gov/#/member/member_list_by_state

The front-end of the website was primarily developed in React.js along with CSS / HTML, and the chatbot on the website was developed using a React package react-chatbot-kit. In terms of challenges, we faced issues obtaining and parsing JSON data from the Congress.gov API; we also faced difficulties having to prototype the website layout in Figma, and deciding certain functionalities of our final product. Developing and integrating the chatbot was also particularly challenging, since neither of us had worked with the react-chatbot-kit package before.

Our backend was built using Python and Flask, which we started by looking into using APIs for our data source. We faced challenges while working with APIs - the first limited the number of calls we could make and the second wasn’t as up-to-date as we’d like, so we learned the value of well-maintained and open data sets. Experimenting with both APIs also strengthened our skills in working with JSONs and reading documentation.

Accomplishments that we're proud of

Coming out of this hackathon, we’re proud of developing a functional website with both a front and back-end! We also learned many of the frameworks we used for the project during the 36-hour duration of the hackathon.

What's next for Vota: One vote, one voice

We hope to find a more comprehensive API to provide the most up-to-date data. With enough data, Vota could be expanded to local elections. Vota’s chatbot also has potential for growth through partnership with a more established AI model in the future.

Share this project:

Updates