Skip to content
All Projects
AILive

Earnings Call Analyzer

Upload earnings call audio and get instant executive summaries, guidance extraction, risk identification, sentiment analysis, and comparisons against analyst expectations.

20243 months
8 min processing time4+ hours saved per quarter$10k/month subscription tier
Earnings Call Analyzer

My Role

Lead developer — built the audio processing pipeline, financial analysis engine, sentiment modeling, and analyst comparison system.

Duration

3 months

Year

2024

Tech Stack

Whisper v3LlamaParseClaude 3.5 SonnetPineconeStreamlitPlotlyyfinance

Status

Live in Production
Overview

Upload earnings call audio and get instant executive summaries, guidance extraction, risk identification, sentiment analysis, and comparisons against analyst expectations.

The Challenge

Equity analysts spend 4+ hours per earnings call — listening to audio, reading transcripts, extracting guidance numbers, comparing against consensus estimates, and writing summaries. With 500+ companies reporting each quarter, even large teams can only deeply analyze 20-30 calls, missing alpha in the long tail.

The Approach

I built an end-to-end earnings analysis pipeline that processes call audio, extracts guidance and financial metrics, compares against analyst consensus, tracks management sentiment over time, and generates executive summaries — reducing analysis time from 4 hours to 8 minutes per call.

Key Features
1

Audio-to-Insight Pipeline

Whisper Large-v3 transcribes earnings audio with speaker diarization, then LlamaParse extracts financial tables from supplementary 10-K filings for cross-referencing.

2

Guidance Extraction

Structured extraction of forward guidance (revenue, EPS, margins) with automatic comparison against consensus estimates — flagging surprises exceeding 5% deviation.

3

Sentiment Timeline

Sentence-level sentiment analysis plotted over the call duration, revealing when management tone shifts — often correlating with stock price movement in the following session.

4

Multi-Quarter Comparison

RAG-powered comparison against previous quarters and analyst reports stored in Pinecone, highlighting narrative changes and guidance trajectory over time.

Technical Decisions

Key technology choices and the reasoning behind each decision.

Whisper Large-v3

AI / ML

Chose Whisper over Deepgram for earnings calls because financial jargon accuracy was 8% higher in testing. Batch processing is acceptable here since real-time isn't required — calls are analyzed post-hoc.

Streamlit + Plotly

Frontend

Selected Streamlit over a custom React dashboard for rapid iteration. Financial analysts prefer familiar charting paradigms — Plotly's interactive candlestick and sentiment charts matched Bloomberg's UX patterns they already know.

Pinecone

Data

Used Pinecone to store historical earnings data and analyst reports for multi-quarter RAG comparison. The metadata filtering lets us query "Tesla guidance, last 4 quarters" efficiently without complex SQL joins.

Claude 3.5 Sonnet

AI / ML

Chose Claude for financial analysis because of its ability to reason about numbers in context. Tested GPT-4o and found it would sometimes confuse YoY vs QoQ comparisons — a critical error in earnings analysis.

Architecture

End-to-end earnings analysis from audio ingestion to interactive dashboard.

01

Audio Processing

Earnings call audio → Whisper Large-v3 transcription with speaker diarization

02

Document Parsing

10-K/10-Q PDFs → LlamaParse table extraction → Structured financial data

03

RAG Context

Pinecone retrieval of past quarters + analyst consensus estimates

04

Analysis

Claude 3.5 Sonnet: guidance extraction, sentiment scoring, surprise detection, executive summary

05

Alerting

Surprises >20% deviation → Slack + email alerts to subscribers

06

Dashboard

Streamlit renders sentiment timeline, guidance comparison, and executive summary

Challenges & Learnings

Key technical challenges I faced and how I solved them.

Challenge 1

Speaker Diarization in Earnings Calls

Problem

Earnings calls have 5-15 speakers (CEO, CFO, analysts) often talking over each other during Q&A. Whisper's default diarization misattributed quotes 25% of the time, which is unacceptable when attributing guidance to the CFO vs an analyst.

Solution

Implemented a two-pass system: first Whisper transcribes the full audio, then a speaker embedding model (pyannote) segments by voice signature. Cross-referenced speaker labels with the call participant list published in the 8-K filing.

Outcome

Speaker attribution accuracy improved from 75% to 96%. CFO guidance quotes are now correctly attributed 99% of the time.

Challenge 2

Consensus Estimate Normalization

Problem

Analyst estimates come in different formats — some report adjusted EPS, others GAAP EPS; some include stock-based compensation, others exclude it. Direct comparison produced misleading "surprise" flags.

Solution

Built a normalization layer that detects estimate methodology from context clues and converts all estimates to a common basis before comparison. Maintains a mapping table of analyst-specific conventions updated quarterly.

Outcome

False surprise rate dropped from 22% to 4%. Hedge fund clients reported the system "finally gets the adjustments right."

NEXT

Interested in working with TwilightCore?

We build production systems like this for teams and founders who value quality engineering.