Inspiration
As Internationals, we have different sources of income and expense. We want to create an app that allow us to manage the money flow as well as analyze our spending since we need to save money as well ;)
What it does
Mountain Finance is a smart financial management application designed specifically for international students. It addresses the unique challenge of managing large, infrequent income transfers (like tuition or family support) against daily expenses.
Our app empowers users to:
Effortlessly Track Finances: Users can quickly add income and expenses. To make this even easier, we've integrated AI that can automatically read and extract transaction data from uploaded bank statements and receipts, drastically reducing manual entry. Visualize Cash Flow: A dynamic dashboard provides a clear overview of financial health, with interactive charts showing income vs. expense over various timeframes. It also delivers "Smart Insights" on spending habits and budget performance. Implement Flexible Budgeting: Users can set a single monthly budget and let our intelligent allocation algorithm distribute it across spending categories. For those who want more control, individual category limits can be manually adjusted at any time. Achieve Savings Goals with AI: We've built in a dedicated Goals module where users can create and track their savings goals. A conversational AI assistant makes it easy to manage these goals using natural language commands like "Add $100 to my emergency fund." Gain Deep Spending Insights: A comprehensive transaction viewer allows users to explore their financial data through a powerful, filterable list or an intuitive calendar view, helping them understand exactly where their money is going.
How we built it
Frontend: We built a responsive and dynamic single-page application using React.js. We leveraged React Router for seamless client-side navigation and the Context API for robust global state management, particularly for user authentication. For data visualization, we integrated Chart.js to create beautiful and interactive financial charts.
Backend: The application is powered by a high-performance RESTful API built with Python and the FastAPI framework. We chose PostgreSQL for our database due to its reliability and powerful features. AI & Machine Learning: AI is at the heart of Mountain Finance. We built a backend service that uses a Large Language Model (LLM) to power several key features: Conversational AI: The general AI assistant and the specialized Goals assistant use the LLM to understand and respond to natural language queries. Document Intelligence: An AI pipeline performs OCR and entity extraction to parse transaction details from uploaded bank statements and receipts. Architecture: We used a modern client-server architecture where the React frontend communicates securely with the FastAPI backend via a RESTful API. User sessions and API endpoints are secured using JSON Web Tokens (JWT).
Challenges we ran into
Accurate AI Data Extraction: Reliably parsing diverse bank statement formats was tough. We solved it with a "human-in-the-loop" approach, where the AI extracts data and the user quickly confirms it, ensuring both speed and accuracy. Complex Budgeting UI: Managing the state for the real-time budget allocation page was complex. We used a combination of React hooks to keep the UI fast and consistent. Syncing Frontend and Backend Logic: We learned the importance of keeping frontend and backend validation in sync after a backend change caused unexpected frontend errors.
Accomplishments that we're proud of
- We get to integrate Gemini AI successfully into our core features and learn how to extract entities' data through output prompts from AI.
- Learn how to work in a unified setup and environments which indeed helped us avoid conflicts a LOT.
- We created a budgeting system that is simple enough for "beginners" (auto-allocate a total) but powerful enough for advanced users (manual overrides).
- Finish almost all the features from our plan
What we learned
- Building the budget feature taught us to embrace iterative development, as our initial design was improved through testing and refactoring.
- We learned that a well-defined API contract is essential to prevent logic drift between the frontend and backend.
- Tell your friends that you Git Pushed and tell them to Git Pull immediately. Delay causes pain.
What's next for Mountain Finance
- Custom Categories: Allow users to create their own spending and income categories.
- Proactive AI Insights: Enhance the AI to automatically detect subscriptions and suggest budget improvements.
- Investment Integration: Integrate with a brokerage API to offer simple, goal-oriented investment options
Log in or sign up for Devpost to join the conversation.