Inspiration
Financial data is "data-rich but insight-poor." Business owners spend hours jumping between QuickBooks for numbers and Google Drive for contracts. We wanted to bridge that gap by building an autonomous assistant that doesn't just talk about your money but actually has the "hands" to manage it.
What it does
FinChat is an Autonomous Financial Guardian. It connects to your QuickBooks and Google Drive to:
- Audit across systems: Cross-reference a contract in Drive against an invoice in QuickBooks to find discrepancies.
- Visualize in real-time: Automatically render interactive charts (Revenue vs. Expenses) instead of walls of text.
- Perform "What-If" simulations: Calculate runway and burn rate based on potential hires or new expenses.
- Act on data: Create invoices or search documents through a simple, secure chat interface.
How we built it
- The Brain: Gemini 2.0 Flash via the
google-genaiSDK, utilizing Automatic Function Calling to execute real-time business logic. - The Backbone: A Python (FastAPI) server managed with uv for ultra-fast performance and clean dependency handling.
- The Nerve System: Socket.io for real-time, bidirectional communication between the AI and the user.
- The UI: Next.js with a "Dynamic Component" architecture that detects AI-generated data schemas and renders Recharts widgets on the fly.
- The Vault: MongoDB for secure OAuth token management and persistent chat history.
Challenges we ran into
- OAuth Hurdles: Managing multiple complex OAuth 2.0 flows (QuickBooks & Google) simultaneously while keeping tokens refreshed and secure.
- Data Parsing: Converting deeply nested, 1000-line QuickBooks Report JSONs into concise, "AI-consumable" snippets without losing critical context.
- Real-time State: Ensuring the AI maintains context across a long-lived Socket connection while handling multi-step "Agentic" reasoning.
Accomplishments that we're proud of
- True Tool-Calling: Successfully enabling the AI to autonomously decide when to "reach out" to external APIs to verify a user's claim.
- The Dynamic UI: Building a frontend that isn't just a chat bubble, but a smart dashboard that morphs based on the AI's response.
- Clean Dev-Ops: Using
uvto maintain a 100% reproducible environment, allowing us to deploy and iterate in minutes.
What we learned
- Agentic Reasoning: How to use system prompts to turn a Large Language Model into a "Reasoning Engine" that follows strict financial guardrails.
- Fintech Nuances: Understanding the complexity of financial reporting and the high standard of accuracy required for business-critical data.
What's next for FinChat
- Proactive Guarding: Implementing "Push" notifications via Sockets to alert owners of low cash-flow before it happens.
- Multi-Platform Integration: Adding Plaid for real-time bank transaction monitoring and Slack for team-wide financial summaries.
- Predictive ML: Moving from historical reporting to deep predictive forecasting using Gemini's long-context window.
Built With
- fastapi
- nextjs
- python
Log in or sign up for Devpost to join the conversation.