Inspiration

There are constantly new laws being introduced, advanced, and signed into law, but they are so hard to track, and learning about them often requires depending on news media, introducing potential bias and/or misinformation. To solve this, TrackLaw aims to give users direct access to current legislation by displaying its status/progress, the actual text of the law, a summary of key points, and a chatbot to ask questions.

What it does

TrackLaw pulls data from the official API for the U.S. Congress, and

How we built it

We built it with Dart and its Flutter framework for portability to different mobile operating systems, Firebase, the Congresss API, and Google Gemini. Our first step was to engineer the flow of data and the user across different screens, by creating wireframes. From there we set up one screen at a time.

Challenges we ran into

Our toughest challenges were setting up user authentication with Firebase, and properly handling the JSON results from APIs while also handling potentially empty fields. Many UI fields and functions depended on API values, so we had to account for empty fields through exception handling and meaningful default values.

Accomplishments that we're proud of

We are very proud of how much we have been able get done this weekend, specifically the landing page and sign in/up, the handling of API data, as we had very little API experience, and building a working chat box.

What we learned

We learned a lot about setting up Firebase, working with APIs and JSONs, creating many interconnected data structures, and maintaining states in Dart and Flutter.

What's next for TrackLaw

There is more data from the Congress API that we hope to include, such as who proposed the given legislation, who is voting on it and what was their vote, what kind of subject it details with, and search/filter/sort functionality to give the user more power in their results. We also hope to give the user the ability to track bills they are interested in following.

Built With

Share this project:

Updates