Skip to content

GRChetanReddy/FinanceGPT

Repository files navigation

FinanceGPT πŸ’°

Your AI-Powered Personal CPA

Connect bank accounts β€’ Upload tax forms β€’ Get instant insights

License TypeScript Next.js FastAPI Python


πŸš€ Quick Start

Option 1: All-in-One Docker (Easiest)

cd FinanceGPT

# Copy environment file and add your API keys
cp .env.example .env
# Edit .env with your OPENAI_API_KEY, PLAID_CLIENT_ID, PLAID_SECRET

# Start FinanceGPT
docker compose -f docker-compose.quickstart.yml up -d

# Open http://localhost:3000

Option 2: Local Development

cd FinanceGPT

# Start infrastructure (PostgreSQL, Redis)
docker compose up -d db redis

# Run the dev script (opens 3 terminal tabs automatically)
chmod +x dev.sh
./dev.sh

# Backend: http://localhost:8000
# Frontend: http://localhost:3000

Option 3: Full Docker Stack

cd FinanceGPT

# Configure environment
cp .env.example .env

# Build and run all services
docker compose up -d --build

# View logs
docker compose logs -f

πŸ“‹ Features

  • 🏦 Bank Integration - Connect to 400+ financial institutions via Plaid
  • πŸ“„ Document Processing - Upload and analyze tax forms, W2s, 1099s
  • πŸ€– AI-Powered Insights - Get personalized financial recommendations
  • πŸ” Privacy First - All data stays on your machine, optional self-hosting
  • πŸ’Ύ BYO Model - Use OpenAI, Anthropic, or local Ollama
  • πŸ“Š Real-time Sync - ElectricSQL for instant synchronization

πŸ” Privacy-First Design

Feature How It Protects You
πŸ”’ PII Masking SSN and EIN are masked before any LLM call.
🏠 Self-Hostable Run entirely on your own hardware.
πŸ€– BYO Model Use your own LLM (OpenAI, Anthropic, or local Ollama).
πŸ” Local Processing Sensitive field extraction happens locally.
πŸ—„οΈ Your Database All data stored in your PostgreSQL instance.
🚫 No Telemetry Zero tracking, zero analytics, zero data collection.

πŸ“ Project Structure

FinanceGPT/
β”œβ”€β”€ financegpt_backend/      # FastAPI backend (Python 3.12+)
β”‚   β”œβ”€β”€ app/                 # Application logic
β”‚   β”œβ”€β”€ alembic/             # Database migrations
β”‚   └── main.py              # Entry point
β”œβ”€β”€ financegpt_web/          # Next.js frontend (TypeScript)
β”‚   β”œβ”€β”€ app/                 # Next.js app directory
β”‚   β”œβ”€β”€ components/          # React components
β”‚   └── package.json
β”œβ”€β”€ financegpt_browser_extension/  # Browser extension
β”œβ”€β”€ docker-compose.yml       # Full stack
β”œβ”€β”€ docker-compose.quickstart.yml  # Quick start
└── docs/                    # Documentation

πŸ› οΈ Tech Stack

Backend

  • Framework: FastAPI (Python 3.12+)
  • Database: PostgreSQL with Alembic migrations
  • Cache: Redis
  • Task Queue: Celery
  • Document Processing: Docling, Unstructured, LLama Cloud
  • AI: LiteLLM (OpenAI, Anthropic, local models)
  • Real-time Sync: ElectricSQL
  • Search: Elasticsearch

Frontend

  • Framework: Next.js 15 (TypeScript)
  • UI: Tailwind CSS, Radix UI
  • AI Chat: AI SDK React
  • Form: React Hook Form
  • Database Sync: ElectricSQL
  • Analytics: PostHog

βš™οΈ Configuration

Backend Setup

  1. Install Python 3.12+

  2. Install dependencies:

    cd financegpt_backend
    pip install -r requirements.txt
  3. Set up environment:

    cp .env.example .env
  4. Run migrations:

    alembic upgrade head
  5. Start development server:

    uvicorn main:app --reload

Frontend Setup

  1. Install Node.js 20+

  2. Install dependencies:

    cd financegpt_web
    npm install
  3. Start development server:

    npm run dev

🐳 Docker Deployment

Quick Start (All-in-One)

docker compose -f docker-compose.quickstart.yml up -d

Full Stack

docker compose up -d --build

πŸ“š API Documentation

Once the backend is running, visit:


πŸ§ͺ Testing

Backend Tests

cd financegpt_backend
pytest

Frontend Tests

cd financegpt_web
npm test

πŸ“– Documentation

See the docs folder for detailed guides:


🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.


πŸ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


⚠️ Disclaimer

FinanceGPT provides AI-powered financial insights for informational purposes. Always consult with a qualified financial advisor before making financial decisions.


πŸ™‹ Support

For issues, questions, or suggestions:

  • Open an issue on GitHub
  • Check existing documentation
  • Join our community discussions

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors