FinSight AI
Overview
LTIMindtree is a global technology consulting and digital solutions company that enables enterprises across industries to reimagine business models, accelerate innovation, and maximize growth by harnessing digital technologies. For the HackAI 2025 hackathon, they sponsored a track challenging participants to build an application that allows users to ask natural language questions and receive meaningful answers from the contents of an annual report PDF. We took inspiration directly from that challenge. Their example solutions — like building a chatbot or creating an AI agent that helps stakeholders understand a company’s performance — resonated with us and motivated our team to dive deep into this problem space.
Problem Statement
The rise of Generative AI has unlocked new ways to interact with complex business documents. One of the most information-dense yet underutilized resources is the annual report — a lengthy PDF packed with valuable insights on finance, strategy, risk, and market performance. However, for most users, these documents are hard to navigate and even harder to analyze.
Objective
We aimed to build a web app where a user can upload an annual report and instantly receive an AI-generated overview. Beyond that, they can interact with an AI chatbot that can answer questions, summarize key points, and help them understand the company’s financial performance — all through a natural, conversational experience.
Tech Stack
Backend: Python, Flask, LlamaIndex, LangChain, Unstructured.io API LLMs: OpenAI GPT-4, GPT-4o, GPT-4o-mini Frontend: Next.js, TailwindCSS
What is FinSight?
FinSight is an AI-powered web application that enables users to upload financial documents — such as annual reports — and interact with them via a conversational chatbot. The chatbot, powered by GPT-4, is enhanced with PDF parsing tools like LangChain, LlamaIndex, and Unstructured.io, enabling it to extract structured insights from unstructured data. Additionally, FinSight features a live dashboard that visualizes key financial metrics in real-time, helping users gain valuable insights without reading the entire document.
Proposed Solution
Initially, we thought the solution would be straightforward: use GPT-4 to analyze PDFs. But we soon realized GPT-4 only works with raw strings and does not accept file inputs — this created our first major hurdle.
We attempted to convert the PDF into an HTML template using Python, hoping to pass it as a string to the model. But this approach confused the LLM, resulting in hallucinated and inaccurate outputs. We explored OCR-based methods, but the lack of structural context made the output unusable. While a coordinate-tagged logic system might have worked, it was too complex to implement within the hackathon timeframe.
Our breakthrough came with abstraction layers — particularly LlamaIndex and LangChain. LlamaIndex initially gave us better accuracy (~58%), but LangChain offered more flexibility. After multiple rounds of prompt engineering and parameter tuning, LangChain's accuracy improved from 37% to 67%, becoming our preferred tool.
We validated this improvement by running QA tests, manually checking model responses against the source document. Once the backend was stable, we linked it to our frontend, creating a functional and interactive chatbot.
Next, we layered in real-time data extraction. Now, the LLM powers both the chatbot and the dashboard by analyzing financial insights and sending them to the frontend for rendering — all dynamically generated as the user interacts with the document. However, our setup still missed important visual elements like charts and tables. To fix this, we integrated Unstructured.io, which enabled better extraction of structured visual data. We converted the parsed output into a .txt file and used it as input for GPT-4, significantly improving interpretation of graphs and tables.
We discovered that GPT-4.1’s raw API yielded better results with unstructured data than LangChain. Unfortunately, the size of parsed files exceeded token limits, and we lacked access to enterprise-tier models. Despite attempts at chunking and optimization, response times surpassed 15 minutes, making the solution impractical. Ultimately, we reverted to our tuned LangChain pipeline, which provided the best trade-off between speed, accuracy, and usability — well-suited for a hackathon deliverable.
Key Features
-Upload interface for annual report PDFs -AI chatbot trained to understand, summarize, and answer questions from the document -Real-time financial data extraction with LLMs -Visual dashboard with charts, metrics, and key insights -Parsing support for tables, images, and charts via Unstructured.io -Prompt tuning for improved accuracy and performance -Balanced response time and usability under token limits
How FinSight Visualizes
FinSight processes uploaded annual reports with LangChain and OpenAI’s APIs. These tools parse both textual and visual data — including structured elements like tables and charts — into machine-readable formats. Key insights are extracted and sent to the frontend, which presents them as interactive visualizations. The dashboard supports zooming, panning, and real-time updates, offering an intuitive view of trends and financial indicators.
Challenges We’ve Run Into
-GPT-4's raw input limitation (no PDF support) forced workarounds using string input -HTML conversion and OCR failed due to formatting complexity -LLMs initially hallucinated and misinterpreted key context -Tables, images, and visual layouts were ignored in early parsing attempts -Token limits were hit when using GPT-4.1 with full parsed text -Slow inference times (15+ minutes) made certain approaches unviable -Had to fine-tune LangChain for optimal balance between performance and usability
What We’ve Learned
We discovered that working with AI involves more than plugging into an API — it's about smart architecture, tool integration, and constant iteration. We learned to handle unstructured data, fix hallucinations, and optimize pipelines for both speed and reliability. Most importantly, we saw how document structure, visuals, and layout are just as important as the text itself. This project pushed us to think fast, learn quickly, and adapt — and we’re proud of what we built under pressure.
Team & Contributions
Team: FinSight AI Aproteem Majumder Sifat Islam Aalvee Ahtav Arnabcha Dev
Built With
- flask
- javascript
- ml
- nextjs
- openai
- python
- react
- tailwind
Log in or sign up for Devpost to join the conversation.