Inspiration

Investing has become easier to access, but understanding what you are actually investing in has not.

We were inspired by a simple observation: the information needed to identify financial risks is often already available but hidden inside hundreds of pages of financial filings. A professional analyst may know exactly where to look, while a retail investor may only see an EPS number, a stock chart, or a headline.

We wanted to build something that could act as a financial detective for everyday investors.

That idea became FinSherlock, with Sherry, the AI Financial Investigator at its core. Instead of asking an AI to simply summarize a report, we designed Sherry to investigate it, find suspicious patterns, explain why they matter, and show the evidence behind every finding.

The goal was not to replace analysts or tell users what to buy. It was to give ordinary investors the kind of investigative starting point that would otherwise require hours of reading and specialized forensic-accounting knowledge.

What it does

FinSherlock transforms lengthy financial filings into an interactive investigation.

A user uploads a 10-K, 10-Q, 8-K, annual report, or other financial filing, and Sherry processes the document to identify potentially significant financial and accounting risks.

The platform:

  • Ingests and understands financial PDFs rather than relying on simple keyword searches.
  • Retrieves relevant evidence from the original filing using semantic search.
  • Detects six major classes of financial risk:

    • Revenue recognition inconsistencies
    • Cash-flow vs. earnings mismatches
    • Accounting pattern shifts
    • Unusual related-party transactions
    • Aggressive financial forecasting
    • Off-balance-sheet arrangements
  • Assigns severity levels to findings.

  • Provides the exact evidence and page reference supporting each finding.

  • Explains complex accounting concepts in plain English through Sherry.

  • Allows users to ask follow-up questions conversationally.

  • Presents findings through an investigation dashboard, risk score, evidence board, charts, and investigation timeline.

The key difference is that FinSherlock doesn't just answer:

"What does this financial report say?"

It tries to answer:

"What should I investigate further, and what evidence in the filing makes it worth investigating?"

This evidence-first approach is central to the product: every finding is grounded in the source document rather than being an unsupported AI response.

How we built it

FinSherlock combines a full-stack web application, a RAG pipeline, vector search, structured financial-risk detection, and conversational AI.

1. Document ingestion

Financial PDFs are processed using PyMuPDF, which extracts and normalizes the document text.

The extracted content is divided into manageable chunks using RecursiveCharacterTextSplitter, with approximately 1,000-token chunks and 200-token overlap.

2. Semantic understanding

Each chunk is converted into a vector embedding using all-MiniLM-L6-v2.

These embeddings are stored in ChromaDB, giving each investigation its own searchable evidence base.

When Sherry needs information, the system uses cosine similarity to retrieve the most relevant source chunks rather than relying solely on keyword matching.

3. Evidence-grounded AI

The retrieved evidence is combined with extracted financial metrics, detected red flags, and the user's question.

This context is passed to Gemini 2.5 Flash, which generates the investigation response while remaining grounded in the retrieved filing content.

The system then persists each finding—including its severity, evidence, and page reference—using SQLAlchemy.

4. Financial-risk taxonomy

A major part of the build is the risk taxonomy behind Sherry.

Rather than allowing the LLM to freely decide what constitutes a "red flag," we created structured investigation categories covering revenue recognition, cash-flow mismatches, accounting changes, related-party transactions, forecasting, and off-balance-sheet arrangements.

This gives the analysis a consistent framework across different companies and documents.

5. Product experience

The frontend was built with:

  • Next.js 14
  • React 18
  • Tailwind CSS
  • Framer Motion

The backend uses:

  • FastAPI
  • Uvicorn
  • SQLite + SQLAlchemy
  • ChromaDB

The application is deployed using Vercel for the frontend and Hugging Face Spaces + Docker for the backend.

We deliberately designed the experience around a detective/investigation metaphor—from uploading a "case file" to reviewing evidence and interrogating Sherry—so that a traditionally intimidating financial-analysis workflow feels intuitive and engaging.

Challenges we ran into

Making AI useful without making it unreliable

One of our biggest challenges was avoiding the classic problem with generic AI: a convincing answer is not necessarily a trustworthy answer.

Financial analysis is particularly sensitive to hallucinations. A fabricated financial figure or unsupported accusation could seriously mislead a user.

We therefore designed FinSherlock around retrieval-grounded responses and source-level evidence, ensuring that findings point back to the actual filing.

Turning financial expertise into machine-readable rules

Another challenge was translating forensic-accounting thinking into a structured system.

It is not enough to tell an AI to "find fraud." Financial risk often appears through relationships and patterns for example, earnings that are not supported by operating cash flow, changes in accounting estimates, or unusual transactions.

Creating a focused six-category taxonomy gave Sherry a repeatable investigation framework rather than an open-ended prompt.

Working with real-world financial PDFs

Financial filings are long, inconsistent, and often poorly structured. Extracting text reliably, chunking it without losing context, and retrieving the right evidence were important engineering challenges.

The RAG pipeline had to balance context, retrieval accuracy, latency, and token usage.

Designing for both beginners and experienced users

Our users can range from someone who has never read a 10-K to a DIY investor who understands financial statements.

We therefore had to make the interface simple enough for beginners without stripping away the evidence and detail that more sophisticated users need.

Accomplishments that we're proud of

We built a financial detective, not another chatbot

The most important accomplishment is the shift from AI answering questions → AI conducting an evidence-backed investigation.

Sherry has a defined investigation methodology, a financial-risk taxonomy, retrieval capabilities, severity scoring, and an evidence trail.

We made every finding traceable

A major design goal was "show me the evidence."

Findings are tied to source chunks and page references, allowing users to move from an AI-generated insight back to the original filing.

This directly addresses one of the biggest trust problems with applying generative AI to financial analysis.

We combined qualitative and quantitative analysis

FinSherlock doesn't depend exclusively on financial ratios or exclusively on an LLM.

It combines extracted financial information with qualitative red-flag detection and document-level semantic retrieval.

This creates a more forensic approach than a traditional stock screener.

We turned a complex workflow into a simple user journey

The investigation flow is intentionally straightforward:

Start Investigation → Upload Report → Sherry Investigates → Review Case File → Interrogate Evidence

A user doesn't need to understand embeddings, vector databases, RAG, or accounting standards to use the product.

We built a complete technical pipeline

The project goes beyond an AI demo or frontend prototype. It integrates:

PDF ingestion → text extraction → chunking → embeddings → vector database → semantic retrieval → LLM reasoning → risk classification → evidence persistence → interactive UI

That end-to-end pipeline is one of the aspects we're most proud of.

What we learned

1. In financial AI, evidence matters as much as intelligence

A model can produce an impressive answer, but for financial analysis, trust requires provenance.

Our biggest lesson was that an AI system should not only explain what it thinks—it should make it easy for the user to verify why it thinks that.

2. RAG is more than a chatbot architecture

We learned that RAG becomes significantly more powerful when combined with a domain-specific investigation framework.

Retrieval gives the model the right evidence; the taxonomy gives it a consistent way to interpret that evidence.

3. UX can make complex technology feel simple

The underlying system contains embeddings, vector search, retrieval, LLM inference, databases, and document processing.

The user, however, should only need to think:

"Upload the report. Let Sherry investigate. Show me the evidence."

That separation between technical complexity and user simplicity became a major design principle.

4. Good financial analysis is about patterns, not isolated numbers

We learned that a single metric rarely tells the complete story.

The more meaningful signals often emerge from relationships—for example, earnings versus cash flow, revenue versus collections, accounting-policy changes, or related-party transactions.

That reinforced our decision to build FinSherlock around patterns and investigation categories rather than simple financial-score rankings.

5. AI should support judgment, not replace it

FinSherlock is intentionally positioned as an investigation and research assistant, not an automated investment advisor.

Its job is to help users discover evidence, understand risks, and decide what deserves deeper investigation—not make the investment decision for them.

What's next for FinSherlock

Our current prototype establishes the core investigation engine. The next stage is to turn it into a more comprehensive financial research platform.

Automated multi-year analysis

Instead of investigating one filing at a time, FinSherlock could automatically compare multiple years of filings to identify trends such as:

  • Receivables growing faster than revenue
  • Persistent cash-flow/earnings divergence
  • Margin deterioration
  • Increasing liabilities
  • Repeated accounting-policy changes
  • Changes in management guidance

This would allow Sherry to detect patterns across time, not just within one document.

Company-level investigation history

We want to create persistent "case files" for companies, allowing users to track how risks evolve across quarterly and annual reports.

A user could ask:

"Has this risk appeared before?"

and Sherry could compare the current filing with historical evidence.

Cross-document intelligence

The next evolution is connecting multiple documents—10-Ks, 10-Qs, 8-Ks, earnings releases, proxy statements, and historical filings—into one investigation.

This would allow Sherry to identify contradictions or changes that are invisible when each document is viewed independently.

FinSherlock's ultimate goal is simple: make financial filings understandable, make risks discoverable, and make AI financial analysis accountable to evidence.

Built With

Share this project:

Updates

Submission history