Inspiration

A few years back, when I was interested in improving my financial literacy, I found that it was quite a daunting topic and tracking of personal expenses was one of the foundational steps to take. Even though there are many expense tracking applications out in the market, many of them require the user to key in the information themselves. Therefore, an idea came up in my head to create an expense tracking application which users do not have to key in much information and would only need to take a photo of their receipts or invoices.

What it does

The application acts as a platform for users to keep track of their expenditure. Simply by taking a photo of the receipt, the application will extract information from it. These information will be broken down to create graphs and charts for users to analyse their expenditure. Other than that, it also has a bill splitting feature to facilitate the splitting of bills among friends. Users simply have to take a photo of their receipt. Similarly, the receipt will be broken down to the individual items and services purchased and these can be tagged to other users. By using an algorithm, we can determine the money that the users have to pay and who they should pay to.

How we built it

We build it by making use of React Native to create the mobile application. By using Flask Api, we can send images through HTTP requests from the application to our Optical Character Recognition model and algorithm for analysis. The result of the analysis will be sent back to React Native for data visualization for the user. The similar process is carried out for the bill splitting feature. Data of the user's past expenses will also be saved into a database using sqlalchemy(sqlite3).

Challenges we ran into

One of the biggest challenges that we ran into is the time constraint. Given only 24 hours, it is a challenge to come up with an innovative idea as well as a prototype for proof of our concept.

Accomplishments that we're proud of

We manage to learn and integrate Optical Character Recognition despite the limited knowledge of computer vision in our team. Other than that we manage to design and come up with the tech infrastructure that would be required for the project to function and it is definitely scalable for future expansion.

What we learned

  1. We learned to use machine learning and computer vision methods to identify information in pictures, and used python to organize this information.
  2. Use Figma to design software functions and prototype before code.
  3. We use the react-native framework to implement our ideas. Learned to use javascript to implement the frontend and flask and sqlalchemy to implement the backend.

What's next for MinEx

  1. Our app will cooperate with the bank, so that we can not only record the consumption of cash payment in the system. You can also connect to the database of digital payment. When the user takes a photo of the receipt using digital payment, the system will automatically delete the duplicate records.
  2. Our app can provide customized financial analysis by analyzing users' previous spending habits through machine learning. And provide some financial advice to those who don't have a lot of financial knowledge.
Share this project:

Updates