Inspiration

We were inspired to make a simple and minimalistic app - targeted at migrant workers. We aimed to make financial tracking and analytics more inclusive.

What it does

It collects financial information from users in order to give them tailored financial tips. It also doubles as a financial planning and tracking app, helping this very vulnerable population be on top of their finances, increasing their likelihood of savings. This significantly increases their social mobility within Singapore and back in their homeland.

How we built it

We built the mobile app using react-native and Django as the backend. The transaction and user information was logged in an SQLite database as well as a persistent local storage on the device for easy retrieval.

In the backend, we used AssemblyAI to convert speech to text and Gemini API to categorize the type of transaction and to extract the amount.

In addition, we used a Heuristic Machine Learning Model trained on mock data using scikit-learn and pandas to determine the 'risk level' of the user given various metrics (account balance, income, expense, and financial literacy). To improve the explainability of the model, we used sensitivity analysis to determine which factors would affect a user's score the most in order to give the user a sorted list of suggestions from highest to lowest priority.

Challenges we ran into

We faces several challenges when trying to use react-native and expo-voice-recognition modules which required constant ejection to test the model. Hence, we opted to use 'expo-av' to send the audio to be processed in the backend.

In addition, we ran into issues training our Machine Learning model and after trying many iterations of classification models such as Random Forest Classifier and K-Nearest-Neighbours (KNN) Classifier.

Accomplishments that we're proud of

We are proud to have a working prototype that has all basic functionality and styling in place. We are happy to have a relatively clean codebase such that this project may be contributed to and extended in the future to include more functionalities.

What we learned

We learnt several interesting techniques relating to explainable AI (X-AI) and the difficulties of training a machine learning model. We learnt to never give up in the face of adversity and that a solution always exists to the problem we are currently facing. We learnt to work cohesively in a team and play to each member's strengths in order to maximise the functionality we could pack into the app in a short timeframe.

What's next for PennyPal

  1. We could potentially scout around Singapore to gather data on prices of food and other utilities in Singapore. Then, we can use the app itself to suggest cheap options in the vicinity ⇒ automating the hassle of finding the cheapest option

  2. Expand UI to include more languages ⇒ cater to a bigger migrant worker population from many different cultural and nationalities ⇒ further expands inclusivity ; reduces inequalities

  3. Restructure financial assessment - include questions more suitable to those specific demographics to get more tailored insights Provide financial planning suggestions and alerts based on the specific spending and earning categories and patterns of that demographic ⇒ further expands inclusivity ; reduces inequalities

Share this project:

Updates