Project Info
This project did not submit a demo video on Devpost.
Inspiration
Managing personal finances is extremely time-consuming, fragmented, and overwhelming for many. And managing your wealth shouldn’t feel like a second job. We built FinBot to simplify that experience — empowering users with a cohesive AI-powered financial dashboard, real-time data and trends, and a multi-agent financial chatbot available 24/7. Our goal is to help everyday people take control of their financial future with confidence and clarity.
What it does
FinBot is a full-stack AI-powered financial platform that helps users gain complete visibility and control over their personal finances. By uploading financial documents such as bank statements, investment portfolios, and real estate records, users can build a cohesive dashboard that tracks both assets and liabilities in real time. The platform provides tailored investment insights, stock trend predictions powered by machine learning, and personalized news updates based on each user’s financial interests. FinBot’s intelligent multi-agent system, backed by Claude, delivers high-quality financial analysis and recommendations, while the integrated chatbot and voice assistant offer 24/7 support across every page of the app. Whether users are looking to monitor their wealth, evaluate opportunities, or make informed decisions.
How we built it
We built FinBot as a full-stack AI financial advisor platform using a React frontend, providing a chatbot across the app. The backend is powered by Node.js and Express, managing routes for PDF parsing, Claude-powered agent interactions, and more machine learning services. We integrated pdf2json to extract data from uploaded financial documents and used Claude 3 Haiku via Anthropic’s API to power our multi-agent analysis system. The custom ClaudeClient module ensures consistent formatting and prompt control across all LLM requests. To enhance decision support, we included Python-based ML scripts for stock trend forecasting and price prediction, triggered via child processes. Financial news sentiment is derived from external APIs and analyzed using NLP techniques.
Challenges we ran into
One of the biggest challenges we faced was enforcing structured, concise outputs from Claude while also having a high standard of financial reasoning. Prompt tuning required iterative refinement to ensure the multi-agent system delivered readable and scannable insights without redundant language. Moreover, integrating multiple input modes, like PDF uploads, voice input, and typed queries, into one seamless user experience was complex; it tested the coordination between the frontend and backend. Parsing unstructured financial documents reliably was another challenge requiring handling of any malformed or dense PDFs. Despite these challenges, we were able to build a cohesive and intelligent financial assistant by combining modular design with targeted system prompts and robust backend logic.
Accomplishments we're proud of
We are proud of building a complete AI financial advisor platform. FinBot seamlessly integrates PDF-parsing, multi-agent reasoning, machine learning, and real-time conversation into a single, cohesive user experience. We successfully created a modular Claude-powered agent system that delivers structured, insightful financial analysis across diverse input types—including voice, PDFs, and text. Our ability to extract and interpret unstructured financial data, generate meaningful recommendations, and present them through a clean, user-friendly dashboard is a major technical and design achievement. We're especially proud of what FinBot of what we achieved, which is empowering users to understand and take control of their finances with tools that are intelligent, personal, and always available.
What we learned
While building FinBot, we gained a deep understanding of how to effectively orchestrate large language models like Claude within a multi-agent architecture. We learned how critical prompt engineering is for accuracy, consistency, clarity, and tone across responses. Working with unstructured financial documents taught us the challenges of data normalization and the importance of preprocessing before feeding data to an LLM. Additionally, we also learned how to integrate different technologies, like PDF parsers and voice recognition, into ML prediction scripts and RESTful APIs. Most importantly, we significantly deepened our knowledge of finance, including numerous key concepts. Understanding how to interpret and communicate these metrics accurately was essential to building FinBot.
What's next
We envision FinBot becoming a household financial app—America's AI-powered financial app for anyone looking to better understand, manage, and grow their wealth. Our next steps include integrating with bank accounts, stock, and ETF platforms to enable automatic syncing of accounts, portfolios, and transactions. We plan to expand the Claude-powered agent system with specialized agents for budgeting, tax optimization, retirement planning, and more. Additionally, we aim to enhance personalization with user financial profiles, customizable alerts, family accounts, and learning-based insights that adapt over time. Eventually, we want FinBot to serve as a fully interactive and proactive financial coach.
Analysis
View
Metric
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- ExpressIn code
- FirebaseIn code
- JavaScriptIn code
- PythonIn code
- OllamaClaimed
- ReactClaimed
4 of 6 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
23 KB
Source files
15
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Pprarthana0808/FinBot
102 files · 66.6 MB · @ b876f62
Structure
API & routing
4 files · 4%Request entry points: routes, handlers and controllers.
Application logic
92 files · 90%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript73%
- Python27%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
backend/package.json
npm · 11- cors
- dotenv
- express
- express-session
- multer
- node-fetch
- nodemailer
- pdf-parse
- pdf2json
- python-shell
- yahoo-finance2
package.json
npm · 9- axios
- chart.js
- cors
- express
- firebase
- react-chartjs-2
- react-simple-maps
- sentiment
- yahoo-finance2
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.