About the Project

EarningsLens is a real-time earnings call intelligence system I built to help analysts, investors, and operators verify what management teams say while a call is still happening.

### What inspired me

Earnings calls move markets, but the workflow around them is still fragmented. Analysts listen live, take notes manually, cross-check statements against SEC filings, and then try to interpret whether the broader market and macro environment support the narrative. That process is slow, noisy, and difficult to do well under time pressure.

I wanted to build a system that could act like a live second layer of intelligence: capture the call, extract the important claims, verify them against source documents, and enrich them with market and macro context before the call is even over.

### How I built it

I built EarningsLens as a multi-step pipeline around Amazon Nova:

  • Nova 2 Lite is used for claim extraction, reasoning, and briefing generation.
  • Nova Act is used to navigate SEC EDGAR and retrieve the relevant filing for grounding.
  • MacroDash provides technical indicators, macroeconomic signals, market sentiment, and news context.
  • A FastAPI backend manages sessions, verification, report generation, and integrations.
  • A React frontend provides the live transcript view, verification feed, context panels, and final downloadable report.

The system flow is:

  1. Ingest an earnings call audio file.
  2. Transcribe and segment the call into claims.
  3. Use Nova to classify and verify those claims.
  4. Ground the analysis with SEC filing evidence retrieved through Nova Act.
  5. Add MacroDash market and macro context.
  6. Generate a final briefing and exportable PDF report.

In simple terms, the product tries to estimate:

[ \text{Decision Value} = f(\text{Claim Accuracy}, \text{Source Grounding}, \text{Market Context}, \text{Speed}) ]

The goal is not just summarization, but grounded, contextualized verification.

### Challenges I faced

The hardest part was making the system reliable enough for a live demo.

  • Schema mismatches across APIs caused empty market and macro fields even when upstream services were returning valid data.
  • Real-time UI layout issues made long verification feeds and transcripts difficult to present cleanly.
  • Audio generation and playback created friction in the user experience, especially when the spoken briefing became more distracting than useful.
  • Timeout handling in the Sonic path had to be made more tolerant so the demo would not fail just because one completion event arrived late.
  • Grounding and orchestration were non-trivial because SEC retrieval, model reasoning, and market enrichment all had to line up in a coherent pipeline.

A major lesson was that demo quality is not only about model quality. It is also about resilient orchestration, clear UI decisions, and making sure fallback behavior still produces a strong artifact.

### What I learned

I learned that multi-model systems become most useful when every component has a clear role:

  • Nova is strongest when used for reasoning, extraction, and grounded synthesis.
  • Agentic retrieval matters because trust increases when the system can point back to the actual filing.
  • Raw data is not enough; context has to be translated into something decision-ready.
  • For live financial workflows, the final output has to feel polished and credible, not like internal debug output.

I also learned that building for a 3-minute demo forces good product discipline. Every screen, every API call, and every output has to justify its existence.

### What I am proud of

I am proud that EarningsLens does more than summarize an earnings call. It creates a workflow where live transcript intelligence, SEC-grounded verification, and MacroDash market context all come together in one system, with a final report that can actually be shared after the session ends.

That combination is what makes the project feel useful in the real world, not just impressive in isolation.

Built With

Share this project:

Updates