Skip to content

Fintrackr helps you stay ahead of your finances with intelligent balance forecasting, real-time transaction analysis, and personalized alerts. Powered by machine learning and integrated with the Investec OpenAPI, it turns six months of data into meaningful insights and 30-day balance predictions.

Notifications You must be signed in to change notification settings

HappyDevs1/fintrackr

Repository files navigation

💰 Fintrackr

Dashboard Preview
Visualize your spending patterns and predict future balances

🌟 Features

  • Transaction Analysis - Categorize and visualize spending habits
  • Balance Forecasting - Predict account balances 30 days into the future
  • Smart Alerts - Get warnings before low-balance situations occur
  • Spending Insights - Identify top spending categories with interactive charts

🛠️ Tech Stack

Component Technology
Frontend Next.js 14, TypeScript
Backend Express.js, Node.js
Machine Learning Python, scikit-learn
Visualization Chart.js, Matplotlib
API Integration Investec OpenAPI

📦 Installation

Prerequisites

  • Node.js 18+
  • Python 3.9+
  • Investec API credentials

Setup Steps

  1. Clone the repository
    git clone https://github.com/HappyDevs1/fintrackr.git
    cd fintrackr
  2. Set up environment variables Create .env in the root of the server folder
    PORT=4000
    CLIENT_ID=<your_investec_client_id>
    CLIENT_SECRET=<your_investec_secret>
    API_KEY=<your_investec_api_key>
    ACCOUNT_ID=<your_account_number>
  3. Install Python dependencies
    cd server/model
    pip install -r requirements.txt
    
  4. Install Node dependencies
    Start by, cd server
    npm i
    For front end dependencies, cd client
    npm i
  5. Run the application
    # Start backend
    cd server && npm run dev
    # In another terminal, start frontend
    cd client && npm run dev
    
    

🧠 Machine Learning Model

Model Architecture Algorithm: Random Forest Regressor

Features Engineered:

  • Daily balance trends
  • Day-of-the week spending patterns
  • 7/30-day rolling average
  • Transaction type indication

Key Metrics

  • Mean Absolute Error: R84.51
  • Forecast Horizon: 30 days
  • Training Data: 6 monts of transaction history

🤝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m "Add some amazing feature")
  4. Push to the branch(git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

Fintrackr helps you stay ahead of your finances with intelligent balance forecasting, real-time transaction analysis, and personalized alerts. Powered by machine learning and integrated with the Investec OpenAPI, it turns six months of data into meaningful insights and 30-day balance predictions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published