Inspiration
Managing money can be a headache for many students. Two of our team members were faced with this fact when they moved off-campus for the first time this semester, and were presented with unexpected challenges. Without a centralized system to monitor their cash flow, they found themselves juggling multiple payment deadlines, trying to stay within a budget, and struggling to make sure that they didn’t accidentally overspend. We wanted to create something that addressed these very real challenges by offering students a way to manage their money with greater ease and clarity, reducing the stress that comes with financial uncertainty.
Thus, Maja was born - a tool that not only tracks expenses but helps visualize where the money is going and how to plan for the future.
What it does
Maja is designed to help users take control of their finances by securely linking with their bank accounts through Auth0, giving them a complete overview of their spending. It gives you the ability not only to see how you’ve spent your money in the past, but also to see how you are projected to meet/not meet your saving goals in the future. With configurable tools such as a calendar which displays reoccurring payments and bills, to a budgeting tool which can give you a spending/saving target to hit each month based on your income.
How we built it
To bring Maja to life, we started with the front end, utilizing a powerful stack consisting of TypeScript, ReactJS, Material UI, and Tailwind CSS. TypeScript allowed us to write robust, scalable code, while ReactJS provided the flexibility needed to create an interactive and dynamic user interface. Material UI helped us quickly design a modern, sleek interface, and Tailwind CSS streamlined our styling process, making it easy to create dynamic, visually appealing layouts. We stored and managed our codebase using GitHub, ensuring that all team members could collaborate efficiently. Version control allowed us to track changes and merge contributions from different team members seamlessly. To run and test the application during development, we used Vite, which enabled us to build and preview the application in real-time. The combination of these tools allowed us to focus on building a fast, responsive, and user-friendly experience
Challenges we ran into
We initially had trouble integrating with bank accounts, because Plaid (rightfully) has many layers of security and background checks before it allows applications to access bank accounts. We got around this by using Plaid's sandboxed bank accounts feature to allow us to create a dummy bank account with fake transactions in order to develop our application with.
Accomplishments that we're proud of
Using Plaid to connect to personal bank accounts, allowing for easy importing of transactions and subscriptions, and learning how to use Auth0 to connect to Plaid.
What we learned
We learned how to work collaboratively through Github, implement APIs, and how to implement a communication network between our frontend and backend using React.
What's next for Maja
In the future, a feature that could be added to Maja is to implement a database to store user information in a safe way, making recurrent visits to our site more accessible. We plan to expand Maja’s analytical capabilities, providing users with more detailed insights into their spending habits. We also plan to implement machine learning algorithms to analyze users' spending patterns and suggest actionable ways to save more efficiently. For instance, Maja could recommend cost-effective alternatives to recurring expenses, such as finding better deals for utilities or subscriptions.
Built With
- auth0
- material
- plaid
- react
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.