How dhiraj1308/finsight-ai works
FinSight AI is a personal-finance assistant: users submit transaction statements or ask questions, and the API parses and stores transactions, then exposes retrieval, anomaly, forecasting, and chat capabilities. Chat uses a tool-calling agent to ground answers in transaction data and analysis. The README describes a Streamlit dashboard, but no frontend source appears in the supplied tree, so the graph starts at the API. API wiring is sampled; the store implementation and some API routes are not, so uncertain links are omitted.
Main entry points: app.py FastAPI service · tools.py Financial tools · transaction_store.py Transaction store · agent.py Financial agent
Components 14
API and access
- FastAPI service
src/api/app.py - Configuration
src/config.py
Statement ingestion
- CSV parser
src/ingestion/csv_parser.py - PDF parser
src/ingestion/pdf_parser.py
Transaction data
- Transaction model
src/domain.py - Transaction store
src/ingestion/transaction_store.py
Financial analysis
- Categorizer
src/categorization/categorizer.py - Anomaly detector
src/anomaly/anomaly_detector.py - Spending forecaster
src/forecasting/forecaster.py
AI assistant
- Vector retrieval
src/api/vector_store.py - Financial agent
src/agent/agent.py - Financial tools
src/agent/tools.py
Other components
- User
- Groq language model
Connections 19
- User → FastAPI service: submits requests
- FastAPI service → Configuration: loads settings
- FastAPI service → CSV parser: parses CSV
- FastAPI service → PDF parser: parses PDF
- PDF parser → CSV parser: reuses field parsing
- FastAPI service → Categorizer: categorizes transactions
- FastAPI service → Transaction store: stores and queries
- FastAPI service → Vector retrieval: indexes transactions
- FastAPI service → Anomaly detector: requests anomalies
- Anomaly detector → Transaction store: reads and updates
- FastAPI service → Spending forecaster: requests forecasts
- Spending forecaster → Transaction store: reads category history
- FastAPI service → Financial agent: handles chat
- Financial agent → Financial tools: dispatches tool calls
- Financial agent → Groq language model: sends prompts
- Financial tools → Vector retrieval: retrieves transactions
- Financial tools → Transaction store: queries spending
- Financial tools → Spending forecaster: runs forecasts
- Financial tools → Anomaly detector: gets anomalies