As college students, it's important for us to keep track of our spending habits, and our team designed Penny with budget analysis in mind. Taking advantage of the prevalence of receipts, we wanted to provide a simple application that could digitize and categorize the information on receipts then display the data in an easy to understand and informative fashion.
What it does
Users create an account and input their monthly budget. Once logged in, the users can access their dashboard including: budget status, a table that keeps track of the items they've purchased, and analytical representations of their spending habits. They upload pictures of their receipts, and the website sorts the items into categories such as groceries or electronics along with their respective costs.
How we built it
We started with a few Bootstrap themes and used them as a springboard to create a design that was simple and aesthetically-pleasing. For the back end, we used Flask (Python) and Tesserocr to recognize and interpret receipt images.
Challenges we ran into
- The first OCR API we used could not accurately read the text on the receipt forcing us to try out a few other APIs before settling upon Tesseract.
- JSON files don’t exist, only JSON strings.
- Front-end web development is way more frustrating and time-consuming than it seems.
Accomplishments that we're proud of
We are proud of the teamwork and hard work that brought us to the finish line of the 2020 SBHacks. Breaking problems up to fit each team member's strengths allowed us to complete our project in time, as well as to make a product that we're proud of.
What's next for Penny
Gradually, we want to add more functionality to Penny and flesh out our receipt reader and item recognition software to improve our ability to classify a wide variety of different items. In addition, improving our database of items would greatly improve both the accuracy and accessibility of our app.