Where curiosity meets impatience.


SpotiM8

A production-grade Python pipeline that treats my Spotify library as panel data. Syncs playlists, tracks, and artist metadata into tidy DataFrames, caches everything locally in Parquet, and maintains yearly archive playlists automatically. What started as curiosity about genre drift and listening patterns became a full sync engine with cron automation, streaming history analysis, and a notebook suite that doubles as a diary of how taste shifts under stress.

Built because I wanted to ask questions about my own consumption data without trusting someone else’s dashboard.


ETFm8

An automated ETF rebalancing system that generates trading orders from momentum, volatility, and drawdown signals. Scores positions, sizes allocations, detects market regimes, and outputs limit orders with optimal pricing. Optionally plugs into Robinhood for live portfolio sync.

Born from wanting a systematic way to rebalance without pretending I can time anything.


FootieM8

A research-grade football prediction system that combines probabilistic models (Poisson, Dixon-Coles) with machine learning (LightGBM, logistic regression) in a weighted ensemble. Covers 25+ leagues across 30+ seasons, runs walk-forward evaluation to prevent data leakage, and generates bet recommendations for Kalshi prediction markets.

Started as a way to test whether the models I study in class hold up when the data fights back.


Financial ML Teaching Notebooks

Reusable Jupyter notebooks that try to make the math feel grounded:

Built while TA‑ing at Chicago Booth and iterated in real classrooms. The goal is to leave students with code they can actually remix.