Work

A selection of systems I’ve built, from quant infrastructure to production LLM platforms.

FinLens AI Platform

Windmill Capital · Tech lead & architect · 2026

A 3-system AI analyst platform: earnings-call PDFs through an 8-step LLM pipeline into structured outputs, 7 S3 Vector indexes (70k+ vectors) across concalls, broker reports, PPTs and news, and a FastAPI + React front end exposing 31 MCP tools and 25 analyst skill playbooks. Includes a Walk-The-Talk credibility system — an LLM-as-judge pipeline that scores management commitments as fulfilled, vague, or unaddressed — and a standalone DRHP/IPO analysis pipeline combining LLM extraction with 20+ deterministic ratios.

Agentic Smallcases

Windmill Capital · Design · 2026

Multi-agent AI portfolios (Pulse / Anchor) built over the MCP tool stack: parallel bull/bear debate agents, a chartist price-anomaly channel, and an LLM-as-judge evaluation layer with a deterministic pre-flight validator and look-ahead-safe backtesting. Used to classify a 333-stock CleanTech universe via ~18 parallel research agents.

Quant Infrastructure & Portfolio Management

Windmill Capital · 2019–present

A Python backtesting framework (Sharpe / risk parity / diversification-ratio optimization, transaction costs) that became the platform-wide publisher validation standard, adopted by Zerodha MF. Five-factor fundamental scoring and a growth-score system drive quarterly rebalances across live portfolios.

Subscription Prediction (ML)

Windmill Capital · 2021–2025

A multi-model random-forest ensemble on AWS Athena + S3, reduced from 721 to 73 variables via ladder validation, reaching 80% recall — the top 15% of the user base captures 75–80% of eventual subscribers, with 164–223 days of advance signal.

Risk Optimization from Scratch

Quant One Technologies · 2017–2018

MaxDD and CDaR linear/nonlinear optimization, Fleishman’s power method for four-moment simulation, and Kelly / CPPI / Markowitz allocation — built in R with nloptr (L-BFGS, COBYLA, Nelder–Mead). Some of this thinking became the Drawdown and Its Linearity post.