FinTracker is a secure, full-stack web application designed to help users track, analyze, and predict their expenses.
It goes beyond traditional finance apps by integrating Machine Learning models and a Large Language Model (LLM) for personalized financial advice.
https://fin-tracker-hazel.vercel.app/
- 📈 Predict future spending using ML (burn-rate forecasting)
- 🚨 Detect unusual expenses using anomaly detection
- 🤖 AI-powered financial assistant (FinBot)
- 🔐 Secure authentication with JWT
- 📊 Interactive dashboards and visualizations
- Uses Linear Regression on daily spending data
- Forecasts end-of-month expenses
- Displays predicted trajectory on charts
- Uses Isolation Forest
- Identifies unusual transactions (spikes/outliers)
- Helps detect unexpected expenses
- Outlier filtering using IQR (Interquartile Range)
- Clean time-based dataset for better predictions
- Built using Google Gemini API (gemini-2.5-flash)
- Uses RAG (Retrieval-Augmented Generation)
- Injects real-time SQL insights into prompts
Provides:
- Spending insights
- Budget suggestions
- Smart recommendations
- React.js
- React Router DOM
- Custom CSS (dark theme + animations)
- Python (Flask)
- Flask-JWT-Extended
- Flask-CORS
- PostgreSQL
- psycopg2
- pandas, numpy
- scikit-learn
- Render
- JWT-based authentication
- Password hashing (Werkzeug)
- Protected routes
- Input validation
- Chronological lock (no future transactions)
- User registration & login
- Encrypted passwords
- JWT-based sessions
- Add expenses with category & timestamp
- Real-time balance updates
- Strict validation system
- Daily spending aggregation
- Monthly forecast
- Interactive charts
- Flags unusual spending automatically
- Context-aware financial advice
- Uses real-time database insights
- Fallback system for reliability
User → React → Flask API → PostgreSQL
↓
ML Models (Regression + Isolation Forest)
↓
Gemini API (FinBot)
- ARIMA / LSTM models
- Mobile app
- Bank API integration
- Budget planning features
git clone <your-repo-url>
cd frontend
npm install
npm run dev
cd backend
pip install -r requirements.txt
python app.py