Inspiration

  • Financial hardship is something we are all susceptible to, and as three seniors prepping to dive into life after college, money has definitely been on our minds. We wanted to create an application that could be useful in the real world to everyday people who just want a casual low-stress look at their spending habits from time to time.

What it does

  • Byte's Bank aims to be an all inclusive financial checkup application where users can view their past finances and plan out how to improve in the future. It intakes bank statements and outputs a dashboard breakdown of the users expenses, with optional tips and a built in generative financial advisor.

How we built it

  • The frontend was built with React Vite, a framework we all had experience with in the past and one which is powerful for web applications.
  • The backend was developed with FastAPI, after last years disappointing hackathon beginning working with Flask, FastAPI proved to be much more in line with our programming preferences.
  • The transaction categorization does not contain generation AI properties as it was done with Naive Bayes, a high level supervised machine learning algorithm. Its training data was synthetic produced to cater to the hackathons theme of magic. The bank statements used were also synthetically made via python.
  • The initial pdf parsing was accomplished with pdfplumber, which was then made into a DataFrame with pandas and re (regular expressions) libraries.
  • The dashboards paragraph summary was generated with Google Gemini, which was also used for in the advisor tab for full-scale in depth financial conversations regarding the users specific transactions.

Challenges we ran into

  • Initially our only goal was to create a simple dashboard created with a prebuilt machine learning model trained off potential datasets found on kaggle. However, as we had chosen to stick to the theme of magic there was no data set we could easily find that appealed to us just right. So in the end it was decided it would be better to generate our own so we may create it just our way.
  • An unexpected hiccup found was during our testings of Google Geminis generative capabilities, which after some time of frustration was found to be as simple as switching our model into the newest version offered.
  • Our next challenge came in the form of having to regress our project into an earlier version due to mismatching git branches and a handful of unsuccessful feature implementations such as a Text-To-Speech option within the advisor page via ELEVENLABS APIs.
  • The next day as we accomplished our initial goals and testings of our intended MVP, we began the implementation of our next steps. Deployment at first showed no issues, however, after the Supabase authentication feature was added our deployment saw many issues which only ended will the full redeployment of our frontend.

Accomplishments that we're proud of

  • We are very proud of the entire project, this was something we have been discussion the days leading up to the event, throwing around all sorts of ideas, themes, and tech stacks.
  • We are also very happy with how the entire theme and features came together into an awesome project.
  • Personally as a huge Harry Potter fan, I loved adding in references and mentions wherever possible.

What we learned

  • We have learned much about programming and the broad umbrella of computer science during our four years as students, therefore in this weekend we focused on working the most valuable skills in the field of technology, working as a team with a common goal.

What's next for Byte’s Bank

  • In the future, Byte's Bank would love to allow for multiple statement postings and a several month long transactional breakdown, highlighting improvements (or downgrades) for our users.
  • We would also like to connect with Plaid API to develop Byte's Bank into an all around budgeting app much like DollarWise or Copilot Money ...just more magical!

Built With

  • fastapi
  • google-gemini
  • lucide-react
  • naive-bayes
  • render
  • supabase
  • vercel
Share this project:

Updates