Inspiration

During the last election season for the house, almost every single video ad that was recommended to us was political. The only commonality through all of the advertisements were the promises to improve our lives. However, for the average voter, it is difficult to know if they’re staying true to their campaign expectation. That is why we made a tool for voters who want to hold their representative accountable.

What it does

This tool takes in the county that a constituent lives in and provides information of their respective representative in an easily digestible format. It then gathers the campaign promises that they made during their campaign through their campaigning websites and social media. Then we compare those goals to the previous bills that the representative either sponsored or co-sponsored, meaning that they brought forward or supported that bill. Then by comparing the goals of those bills to their promises, we give each representative a score to measure their faithfulness.

How we built it

We built it through a collaborative effort between our group, with each person supporting a specific region for the user experience flow chart. One member was responsible for the backend and generating the comparisons through the use of Gemini. The other worked on integration, setting up the API calls to get the data of the actual bills passed instead of relying on biased media sites. The last member then worked on the front end, creating a captivating and dynamic visual. These three branches were then brought together and integrated, leading to the final product.

Challenges we ran into

One main challenge that we ran into was definitely the overuse of Gemini API credits. While tokens were certainly available via Google’s Free Tier, our original workflow called the Gemini API every time the results page was loaded. If the site had multiple users then these credits would deplete incredibly fast. Thankfully, we had the insight to batch generate the comparison for each representative and store the values in a .json file. This allowed us to conserve credits and provided an easy way to update the site at the start of each new congressional session.

Accomplishments that we're proud of

We are proud about two main aspects of our project, the UI and the scalability. Throughout the project, UI remained a top priority. A big reason why voters do not keep up with their representative is that websites congressional data are highly unintuitive to navigate. By eliminating this barrier, a seamless experience is created for users who want an unbiased overview of their representative's actions. We are also proud of our code’s scalability. If we had more time for credits to replenish, we would've expanded the database to include for every house representative member for constituents outside of Virginia.

What we learned

From this experience, we gained a lot of knowledge in hands-on Web Development. We also got valuable lessons in how to incorporate AI into the software workflow. Through Gemini we gained the knowledge on how to use LLM API's, but what was more impactful for us was learning the best way to leverage coding LLM's. The best way for us to incorporate these tools was not through large, complex prompts but through an iterative approach where one part of a feature is prompted and then grown upon. This approach ensures that the logic we desired remains consistent and reduces any possible hallucinations that LLM's are susceptible to.

What's next for Hoo's Your Rep?

Looking ahead, our main goal is to expand this tool outside of Virginia and create a comprehensive tool that would provide this important data for any constituent. This involves scaling our database to include all current house reps and senators. With this tool voters can be more involved in civic life and help keep our representative accountable.

Built With

Share this project:

Updates