I build machine learning models and applied AI systems that translate complex data into decisions people can actually use from unsupervised clustering to LLM-powered analytics, end to end.
Applied machine learning across real business problems. Each project is built end to end from messy data through to a result a decision-maker can use.
End-to-end earnings intelligence platform forecasting the size of a company's day-0 price reaction to its earnings call, across 305 public companies in 11 GICS sectors. Built an automated data pipeline (transcript discovery, Firecrawl retrieval, SEC EDGAR filings, market data), an NLP scoring layer using Loughran-McDonald and FinBERT sentiment, a RAG-based research assistant for querying transcripts, and a leak-safe forecasting model separating usable move-size signal from unsupported directional prediction. Delivered as a mobile-ready application. Team capstone project, Northwestern MSDS 498.
Investigated whether the trajectory of a customer's sentiment across a contact-center call, not just a single negative moment, provides an early warning signal for escalation. Fine-tuned DistilBERT/BERT sentiment classifiers on EmoWOZ, converted turn-level sentiment into conversation-level trajectories, and tested multiple escalation-outcome models (logistic regression, LSTM, LightGBM) against topic-only baselines on the ABCD dataset, with bootstrap confidence intervals and Cohen's kappa across escalation label definitions. Integrated the trained models into a tool-calling GPT-4o-mini agent for supervisor coaching queries.
Clustering 8,887 properties by physical characteristics to identify distinct property types for price benchmarking, independent of location labels.
An AI-powered query engine that translates plain English questions into executable SQL using GPT-3.5, applied to Amazon product and review data hosted in PostgreSQL.
End-to-end credit risk pipeline predicting the likelihood of loan default using borrower and loan-level features, with SHAP-based explainability to surface the drivers behind each risk score.
Clustering WNBA players by playing style, predicting game outcomes, and identifying potentially mispriced betting lines using neural network models.
Clustering return transactions to detect patterns indicative of return fraud, surfacing high-risk segments and behavioral signals to support loss prevention teams.
Applying PCA to survey and behavioral data to identify latent dimensions of political distrust, revealing distinct population segments and their underlying attitudes toward institutions.
Python is my primary working language, with additional depth in R and SQL. Every tool chosen for the problem, not for novelty.