Inspiration

I've been drawn to the financial domain for a while, and one thing kept bothering me: it's fragmented in a way almost no other domain is.

Company fundamentals live in one place. Stock performance in another. News in a third. Forex, crude, and metals are studied as an entirely separate discipline. Filings sit somewhere else again. Each has excellent tools built around it — and none of them talk to each other.

So the actual work of an analyst isn't analysis. It's reconciliation. Eight tabs open, manually holding the connections together: the rupee moved 3%, this company earns 61% of revenue in dollars, management guided 10% growth — do these three facts agree?

That connective work is the hard part, and no tool does it. That's exactly the shape of problem an agent should solve — not "summarise this document," but "read these five sources, notice where they disagree, and tell me what it means."

What it does

Enter a company name. The agent works without further instruction — resolving the regulatory framework (SEBI for Indian issuers, SEC for US), pulling filings, processing the earnings call, and resolving a peer set.

Then it does what wasn't asked:

Contradiction detection — cross-references management's claims against reported figures and flags mismatches Guidance track record — scores whether management historically hits its own targets, so sentiment can be weighted rather than trusted Q&A deflection analysis — identifies which analyst questions were dodged, and how Macro transmission chains — traces crude, currency, rates and policy through explicit causal steps to an estimated P&L impact Governance signals — auditor changes, promoter pledging, related-party transaction trends Anomaly detection — with the specific filing note to verify against Agent-generated open questions — what it couldn't resolve

Every finding carries a confidence score and a primary-source citation. The output is a research position with its reasoning exposed, not a summary.

How we built it

Frontend: React with a custom design system — no component library, so the visual language could be built around information density.

Agent architecture: LangGraph as a state graph rather than a linear chain. A planning node decomposes the task; retrieval nodes fetch filings, transcripts, peer and macro data in parallel; a synthesis node drafts each section; a validator runs contradiction checks; conditional edges route low-confidence findings to the gap-flagging path instead of the output.

Retrieval: Qdrant, with filings chunked at section boundaries rather than fixed token windows, so citations resolve to a meaningful unit — a note, a risk factor, a segment disclosure.

Backend: FastAPI, with Redis and Celery for longer ingestion jobs. Claude API for synthesis and reasoning.

Sources: SEC EDGAR for US issuers; BSE/NSE filings and annual reports for Indian ones. The regulatory distinction carries through the entire system.

The submitted prototype is a working interface with the full interaction model and analyst-grade content across five fully-modelled issuers.

Challenges we ran into

The hardest problems were structural, not technical.

Where competitor analysis belongs. The initial design put peer comparison behind a conversational interface. That was wrong for a reason that took time to articulate: the moment a user has to ask, it stops being autonomous. It moved into the main scroll, always visible.

The chatbot trap. A Q&A interface with suggested questions would have made QuantSight read as "a chatbot with tabs" — the exact pattern that signals the AI was waiting to be asked. The fix was inverting what you see on opening it: not an empty input box, but work already completed, work in progress, and the agent's own unresolved questions.

Not building a worse TradingView. A candlestick chart with timeframe toggles is a commodity. The resolution was to treat price as the outcome variable and layer the agent's findings onto the timeline as event markers — click the contradiction flag, see the 6% decline that followed. The chart became evidence, not decoration.

Ordering as a design problem. An early version gave every section equal visual weight, so financials and ratios appeared before the reasoning. A scroll that opens with tables reads as a screener with AI attached. Leading with the verdict was the same content in a different order, and it changed what the product appears to be.

Two regulatory regimes, honestly. Flattening SEBI and SEC into a generic "filings" abstraction would have been easier and wrong — a citation trail is only credible if it points at the actual document type.

Accomplishments that we're proud of

The contradiction detector. Holding management's narrative and the reported figures in one frame and noticing they disagree is what a good analyst does and what a summarisation tool structurally cannot.

Falsifiability conditions. Every view states what evidence would invalidate it. Research desks think this way; almost no tool does. It also forces the reasoning to be specific enough to be wrong.

The agent admits what it doesn't know. In a category that markets certainty, surfacing limits was deliberate — and it makes the confident parts more trustworthy.

Governance and Q&A intelligence. Things analysts genuinely check that no accessible tool systematically surfaces.

Density without overwhelm. Removing a nine-item sidebar and committing to progressive density — the higher on the page, the more decision-relevant.

What we learned

Autonomy is a presentation problem as much as an architecture problem. A system can do genuinely autonomous work and still read as a chatbot if the interface makes the user ask first.

Ordering carries more weight than adding. The strongest improvement in this build wasn't a feature — it was moving reasoning above conventional data.

Table stakes can actively hurt. A tool that opens with a P/E ratio is a screener. A tool that opens with a verdict is research.

A tool with opinions beats a tool with information. Equal visual weight is a refusal to have a view.

Naming one user makes everything downstream easier. Dropping the retail/professional toggle and committing to analysts sharpened the language, the density, and the pitch.

Coming from RAG, the jump to agentic design is conceptual before it's technical. The building blocks are learnable. The harder shift is designing a system that decides what to do rather than executing what you specified.

What's next for QuantSight Live data ingestion — SEC EDGAR and BSE/NSE feeds wired into retrieval, with scheduled re-indexing on new filings Full LangGraph execution — moving from designed architecture to running agent, with persistence for long research runs Portfolio-level analysis — aggregate macro exposure across a book, correlated holdings, hidden common risks Longitudinal guidance scoring — track record across full filing history rather than trailing five quarters Consensus divergence — where the agent's read differs from the street, and why Filing-drop alerts — automatic anomaly and contradiction passes when new disclosures land Expanded coverage — Nifty 500 and S&P 500, with sector rollups

Built With

Share this project:

Updates