AI Product Manager. 8+ years of experience building the #2 robo-advisor in the US ($190B+ AUM/AUA · 1.7M+ investors) at Morningstar, now pairing that domain depth with an MS in Applied Data Science (University of Chicago, 2026) to build agentic AI for wealth management.
I'm a product manager who refuses the usual trade between domain expertise and technical depth:
- 🏦 Wealth management, end to end. 6 roles and 4 promotions at Morningstar: from operations to building $3B+ institutional portfolios to product.
- 🤖 AI I build myself. Multi-agent systems (LangGraph), LLM fine-tuning (QLoRA), RAG pipelines (Qdrant). Implemented and evaluated, not just scoped.
- 📊 PM operating record. Led teams of 9 to 11 engineers, shipped products zero to one, and drove ML initiatives that cut churn 8.9% and lifted engagement 27.8%.
🏆 2nd Place, UChicago MS Applied Data Science Capstone Showcase (2026)
At quant hedge funds, sourcing new strategies means reading hundreds of academic papers, extracting the signal logic, mapping it to data, and backtesting — the most labor-intensive part of the job. We built a multi-agent system that automates the full replication loop.
How it works: A LangGraph state graph orchestrates six specialized agents over shared state: paper triage, economic-variable extraction, factor-logic extraction, specification building, Sharadar data mapping, and code generation. The extraction agents pull evidence via iterative BM25 retrieval over the paper; generated code runs in a sandbox with an automated error-feedback revision loop. The agents run on LLaMA 3.1-8B, QLoRA-fine-tuned on 2,959 chain-of-thought instruction pairs distilled from ~2,900 finance papers through a Qdrant/BGE retrieval pipeline.
Agent Eval: We built an LLM-as-Judge harness that scores theme classification, extraction quality, and generated code against 50 ground-truth papers using rubric scores plus cosine similarity, run as 150 blind forced-choice comparisons against frontier models.
- Beat single-pass frontier models (OpenAI, Anthropic, Google) in 55% of matchups — strongest against Anthropic (62%)
- The fine-tune won 43% of a three-way extraction horse race, nearly double base LLaMA's 23%
Impact: ~10× throughput (2 papers/day vs 2/week human) at 1/3 the cost ($50K vs ~$150K/yr).
Stack: Python · LangGraph · LLaMA 3.1-8B + QLoRA · vLLM · Qdrant/BGE · GCP · Lambda AI
Built a proprietary Bayesian Hierarchical MCMC portfolio construction model — unavailable in any commercial robo-advisor — that samples the full probability distribution of returns and correlations across 9 asset classes, embedding investment uncertainty directly into the allocation.
How it works: Instead of a single point estimate, the model runs MCMC sampling (4 chains × 4,000 iterations) to generate thousands of plausible futures for returns and cross-asset correlations. LKJ-Cholesky priors let investors encode their own views directly on those correlations — extending the classic Black-Litterman framework beyond expected returns into the full covariance structure. Student-t return distributions capture fat tails, so the model accounts for crashes rather than being blindsided by them. Assets are grouped hierarchically (9 classes → 4 groups) to reduce overfitting.
Three optimizers run over the sampled posterior:
- Mean-Variance (MVO): Maximize expected return for a given level of risk
- Maximum Sharpe Ratio: Maximize return per unit of risk taken
- CVaR (Conditional Value at Risk): Minimize expected loss in the worst-case scenarios — the strategy built to hold up in bad markets
Backtested 2019 to 2024 against Morningstar benchmarks:
- The CVaR portfolio returned 26.87%, nearly 4× Morningstar's comparable benchmark (7.3%) and ahead of their conservative model (23.89%)
- The investor tilt feature — encoding views via LKJ-Cholesky priors — allows the model to reflect active conviction without abandoning probabilistic discipline
Stack: Python · PyMC · CVXPY · ArviZ · NumPy/SciPy · yfinance
A non-invasive health screening tool: given a single photo of someone's face, the model estimates their Body Mass Index. Built to replicate and improve on a 2017 peer-reviewed paper from AAAI.
How it works: A deep learning model first extracts facial features from the image (using EfficientNetB3, selected after testing all eight variants for the best accuracy-to-compute trade-off). Those features are then passed to an ensemble of three regression models that produce the final BMI estimate. The whole model is compressed to 11.7 MB for lightweight deployment on mobile or edge devices.
Results on 3,962 facial images:
- Correlation of r = 0.67, beating the original paper's best result of 0.65
- Narrowed the gender performance gap the original paper left open: 0.69/0.65 (male/female) vs. the paper's 0.71/0.57
- Average prediction error of 4.72 BMI points
Stack: TensorFlow/Keras · EfficientNet · scikit-learn · CatBoost · TensorFlow Lite
| Project | What it is | Stack |
|---|---|---|
| Market Fear & Greed Classifier | Production-grade MLOps pipeline classifying market sentiment (Fear / Stable / Greed) from VIX with 91.4% accuracy: feature store, AutoML, cloud deployment, and drift monitoring | GCP Vertex AI · FLAML · DVC · Evidently |
| KSE-100 Equity Forecasting | Decoupled Signal + Risk engine for 30-day index forecasting on the Pakistan Stock Exchange | Mamba · TimeGPT · SARIMAX · GARCH |
| Headline Sentiment Analysis using NLP | Full-stack NLP classifier shipping three interfaces: Streamlit UI, FastAPI REST API, and CLI batch scoring | sentence-transformers · SVM · FastAPI · Streamlit |
Languages
Agentic AI & NLP
ML & Deep Learning
Quant & Time Series
Cloud, Data & MLOps
Apps & APIs
Product & Certifications


