Inspiration
Learning how to manage finances, invest, and budget has seemed very daunting in the past. It can be hard to get a clear picture about what the best next step is to take when considering my own personal financial situations compared to the general recommendations I find online. I wanted to build something with a theme that differed from traditional budgeting apps to lessen the pressure of managing and investing money while also providing a way to grow and learn based off of each individual's situation.
What it does
Cash Cow is a personal finance dashboard for users to track their income, manage their expenses, and build out budgets. Users are able to add and filter through transactions seamlessly, categorize their spending, and set monthly budget and savings goals to gain a better understanding of where their money is going.
In addition to tracking, this application also includes an AI-powered financial coach that analyzes the user's current financial situation and provides insights such as identifying any potential financial risks, opportunities for additional saving, and action steps to improve their overall money management.
Cash Cow aims not only to provide basic financial tracking, but also to lessen the pressure of money management while providing actionable guidance and increasing overall financial understanding and literacy.
How I built it
The frontend was build using React and TypeScript with a focus on aesthetics and a clean UI dashboard to implement budgeting, categorization, and tracking transactions. For the backend, Node.js and Express were used for API requests and connecting the frontend to any external services.
Firebase Firestore was used for data storage, allowing the program to update budgets, transactions, categories, and account information in real-time.
ECharts was used to aid in data visualization, giving users a more in depth look at their monthly spending habits by category.
The AI-powered coach was built by integrating the Google Gemini API, analyzing a user's financial situation and providing valuable insights such as any spending risks, opportunities for additional saving, and next actionable steps to take to improve users' financial situation over time.
Challenges I ran into
The biggest challenge I faced was designing the architecture for this program. Handling live data and ensuring that all the data is coming from one consistent source is vital, and I had to change my approach of how I was handling that in my communication structuring between the frontend, backend, and Firebase.
Accomplishments that I'm proud of
Building a full-stack finance application, successfully integrating a financial coach, and incorporating aesthetic UI design are all accomplishments that I'm proud to have achieved throughout the development of this application.
What I learned
Throughout this project, I learned how to design and manage full-stack architecture with separation of the frontend and backend, grow my comfort with real-time databases, integrate AI API's and how to structure my prompts, handling data flow between the client, server, and APIs, and more techniques for debugging.
What's next for Cash Cow
I'd like to make the AI Coach feature more of a conversation between the user and the coach. Right now, it's able to generate reports based on an individual's current financial situation, but it could be beneficial to be able to ask it specific questions and also provide detailed feedback or different resources.
Built With
- echarts
- express.js
- firebase
- firestore
- gemini
- git
- github
- node.js
- react
- tailwind-css
- typescript
- vite
Log in or sign up for Devpost to join the conversation.