Inspiration

We decided to make SchoolFed because many of our peers, including ourselves, struggled with budgeting. Since a lot of teenagers now have online ways to pay, many of them don't realize exactly how much money they spend. Boba, new clothes, games—money seemed to flow away like water. In fact, the 2021 Student Money Survey, shows that one in ten students have never budgeted prior to attending university! We decided to create an easy-to-use solution to this problem.

What it does

SchoolFed is a cross-platform (MacOS, Windows, Android) app that lets you scan a receipt and store the data from receipts. You can either upload a file or take a picture from the in-app camera. SchoolFed then displays it visually with different types of graphs. These graphs include displays that show where you bought the item, when you bought it, and the price. It organizes this concisely in three neat bar graphs. SchoolFed also shows you the total amount of money you spent per week and per month.

How we built it

We built the frontend with Kivy and the backend with Python, Matplotlib, NumPy, and tesseract. We learned Kivy in a few hours through many tutorials and used Python libraries. We also used helpful resources such as Stack Overflow.

Challenges we ran into

Some challenges we ran into were stitching the project together, the front-end user interface with Kivy, and making the camera save the data into CSV files. Because it was our first time coding a lot of these functions, and we also had some hackathons beginners on the team, we experienced some difficulties. But although we had many challenges, we pushed through.

Accomplishments that we're proud of

We are very proud of learning Kivy. None of our team members had experience with it but we managed to learn it in only a couple of hours. We are also very proud of coding functions to read the receipts, isolate the text contents, turn it into a dictionary, isolate the total cost and store name, and store it in CSV files for the graphs. We struggled a lot with these, but we feel that through the struggle we accomplished a lot. We are also very proud because 2/3 members of our team are fairly new to hackathons.

What we learned

We learned how to make a Python Kivy app, and how to use Kivy files to craft a good-looking GUI. This is the first time any of us made a multi-file project for a hackathon, and the first time we designed a project with a front end and back end in mind Furthermore, we learned how to use machine learning to give us the text in an image in the form of a string, then process this string into lists/arrays and isolate certain terms. We also learned how to write read and manipulate CSV files, and utilize the Matplotlib library to visually represent this data.

What's next for SchoolFed

We plan to expand SchoolFed to improve the GUI and make it publicly accessible. We would like to make this app usable on many platforms to help our peers with their financial struggles. We would also like to make it more accurate.

Built With

Share this project:

Updates