🧾 Fintrack – AI-Powered Personal Budget Tracker
đź’ˇ What Inspired Me
I’ve always believed that budgeting shouldn't be complicated—but most tools either overwhelm users with data or lack personalization. I wanted to build something that not only simplifies expense tracking but also provides actionable financial insights powered by AI. The idea was to create a clean, intuitive, and intelligent experience that anyone—especially students and early professionals—could use daily.
This inspired Fintrack, a lightweight full-stack web app that combines traditional expense tracking with real-time AI analysis.
🛠️ How I Built It
The project uses a modern Node.js + React-based architecture:
Frontend:
- Built using Bolt (low-code/no-code) to quickly develop UI components.
- Includes:
- A landing screen where users enter budget categories (Transport, Food, Groceries, Others).
- A home dashboard that displays:
- Total income and expenses.
- A dynamic list of transactions.
- A floating "+" button to add new entries.
- An AI Assistant tab for financial tips and insights.
Backend (Node.js):
- Uses Express.js for API routing.
- A custom POST endpoint (
/api/analyze) receives user budgets and transactions. - Integrates with OpenAI's GPT-4 Turbo to analyze user data and generate personalized insights.
- Includes
/healthendpoint for health checks. - Error-handling and debug logging implemented throughout.
AI Logic:
- Calculates:
- Total income, expenses, and balance
- Expense breakdown by category
- Budget utilization percentage
- Sends structured data to OpenAI, which returns tailored suggestions like:
- “You're spending 85% of your food budget. Consider meal prepping to save.”
- “Groceries and transport are under-budget—great job!”
đźš§ Challenges I Faced
- Silent server exits: The backend initially started and stopped immediately due to silent promise rejections. I resolved this with proper
try/catchblocks andprocess.on('unhandledRejection')handlers. - OpenAI API behavior: Handling large prompt objects and optimizing for clarity and token usage took tuning.
- Data flow: Passing and structuring transaction data from Bolt’s frontend into the Express server required extra care with serialization and validation.
- Debugging in a virtual environment: Running Node inside a Python virtual environment (
venv) caused initial confusion as the terminal showed misleading behavior.
📚 What I Learned
- How to architect a full-stack budgeting app from scratch using both low-code UI tools (Bolt) and custom APIs.
- How to structure AI prompts for financial data analysis and use GPT models effectively.
- How to handle asynchronous flows and prevent silent crashes in a Node.js server.
- The importance of good UX in fintech—keeping the experience clean, responsive, and reassuring.
🚀 What's Next
- Adding authentication and persistent storage (Firebase or Supabase)
- Real-time charts with category breakdowns
- A smarter AI assistant with chat support and goal-based tracking
- Exporting reports as PDF
- Notifications when a user is nearing their budget
🧠"Fintrack" was built not just to record transactions—but to help users reflect, adjust, and grow financially smarter, one insight at a time.
Built With
- express.js
- openai
- typescript
Log in or sign up for Devpost to join the conversation.