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

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
Status
Live in ProductionUpload earnings call audio and get instant executive summaries, guidance extraction, risk identification, sentiment analysis, and comparisons against analyst expectations.
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.
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.
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.
Guidance Extraction
Structured extraction of forward guidance (revenue, EPS, margins) with automatic comparison against consensus estimates — flagging surprises exceeding 5% deviation.
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.
Multi-Quarter Comparison
RAG-powered comparison against previous quarters and analyst reports stored in Pinecone, highlighting narrative changes and guidance trajectory over time.
Key technology choices and the reasoning behind each decision.
Whisper Large-v3
AI / MLChose 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
FrontendSelected 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
DataUsed 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 / MLChose 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.
End-to-end earnings analysis from audio ingestion to interactive dashboard.
Audio Processing
Earnings call audio → Whisper Large-v3 transcription with speaker diarization
Document Parsing
10-K/10-Q PDFs → LlamaParse table extraction → Structured financial data
RAG Context
Pinecone retrieval of past quarters + analyst consensus estimates
Analysis
Claude 3.5 Sonnet: guidance extraction, sentiment scoring, surprise detection, executive summary
Alerting
Surprises >20% deviation → Slack + email alerts to subscribers
Dashboard
Streamlit renders sentiment timeline, guidance comparison, and executive summary
Key technical challenges I faced and how I solved them.
Speaker Diarization in Earnings Calls
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.
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.
Speaker attribution accuracy improved from 75% to 96%. CFO guidance quotes are now correctly attributed 99% of the time.
Consensus Estimate Normalization
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.
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.
False surprise rate dropped from 22% to 4%. Hedge fund clients reported the system "finally gets the adjustments right."
Interested in working with TwilightCore?
We build production systems like this for teams and founders who value quality engineering.

