Inspiration
Our team noticed that UMich students, college students, and the community as a whole are woefully unknowledgeable about both local and national politics. We asked almost 40 students about their voting plans for the upcoming 2024 presidential elections - Only 3 knew the candidates running. Clearly, there is a disconnect here. So, what can we do to bridge that gap?
What it does
Our website aims to make it extremely easy for anyone to get involved in the political process. There are two major parts: The first is a voter page that displays representative info, nearby polling areas, and upcoming elections, depending on a user-inputted address.
The star of the show is the AI chatbot tool that allows users to ask questions about whatever they wish - candidate information, recent news, and more. Because traditional generative AI tools do not have up-to-date information, and the whole point of our website is to provide accurate information to users, we had to piece together our own chatbot. We used keyword extraction on user queries to generate a Google search using Google's Web Search API, then summarized the text in the resulting links to generate an answer. We knew that it would be impossible to store every little piece of information a user wants directly on the website, so this functionality solves that problem by allowing us to fine-tune the experience for every user.
How we built it
We used primarily Next.js as well as a whole host of external APIs to get election information. The product is lightweight and only uses what is expressly necessary.
Challenges we ran into
The biggest challenges were probably with the APIs - There was a never-ending onslaught of errors and unexpected bugs that we needed to sort through before we could finish building the website. Nonetheless, we managed to push through and get it done.
Accomplishments that we're proud of
The biggest one is keyword extraction, followed soon after by the Google search integration to complete the voting information page. We are also incredibly proud of the website's design as a whole - Simple and straight to the point.
What we learned
We learned a lot about integrating external APIs into our products - the keyword extraction, in particular, was a pretty big challenge. In addition, 3 members of our team were fairly new to frontend development, so being able to design and build web pages from the ground up was a whole new experience that taught us a whole new set of skills.
What's next for OneVote
Honestly, nothing much. We want to keep this website as simple as possible: A one-stop shop for students to learn about local politics. We don't want to overburden users with too many unnecessary features.s
Built With
- css
- google-cloud
- html
- next
- openai
- react
- tailwind

Log in or sign up for Devpost to join the conversation.