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:3000cd 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:3000cd FinanceGPT
# Configure environment
cp .env.example .env
# Build and run all services
docker compose up -d --build
# View logs
docker compose logs -f- π¦ 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
| 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. |
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
- 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
- Framework: Next.js 15 (TypeScript)
- UI: Tailwind CSS, Radix UI
- AI Chat: AI SDK React
- Form: React Hook Form
- Database Sync: ElectricSQL
- Analytics: PostHog
-
Install Python 3.12+
-
Install dependencies:
cd financegpt_backend pip install -r requirements.txt -
Set up environment:
cp .env.example .env
-
Run migrations:
alembic upgrade head
-
Start development server:
uvicorn main:app --reload
-
Install Node.js 20+
-
Install dependencies:
cd financegpt_web npm install -
Start development server:
npm run dev
docker compose -f docker-compose.quickstart.yml up -ddocker compose up -d --buildOnce the backend is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
cd financegpt_backend
pytestcd financegpt_web
npm testSee the docs folder for detailed guides:
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
FinanceGPT provides AI-powered financial insights for informational purposes. Always consult with a qualified financial advisor before making financial decisions.
For issues, questions, or suggestions:
- Open an issue on GitHub
- Check existing documentation
- Join our community discussions