Projects
Open code that shows how I work: methods checked on data where the answer is known, measurement validated before it is trusted, and tools that run every day on their own.
Research methods in code

Statistics and econometrics toolkit
Python · simulated data with known answers
Statistics and econometrics I use in research, each checked on simulated data: staggered DiD, quantile regression with fixed effects, VAR, bounded-outcome models, change points.

Measuring text with an LLM
Python · 998 public hotel reviews
LLM labelling of 998 hotel reviews, validated six ways: 94.6% agreement with the guests' own liked/disliked split, alpha 0.93 against a second model, no false labels on controls.

Machine-learning inflation forecasts
Python · replication of Medeiros et al. (2021)
Machine-learning forecasts of US inflation from 121 FRED-MD series. Tree models cut forecast error by 15–20% against an AR benchmark in 2001–2015, but not since 2020.
Tools and apps
Filings Q&A agent
Python · SEC 10-K and 10-Q filings
Question answering over SEC filings with a checkable source for every sentence, a tool-using research agent, and a 50-question retrieval evaluation (keyword search 95% correct).
Finfluencer digest
Python · runs every morning on GitHub Actions
Daily digest of stock calls: Gemini watches 16 YouTube finance channels and X accounts, extracts each call and sums up the consensus. Multi-model fallback, scheduled runs, source-checked news.
Call tracker for a portfolio dashboard
Fork of an open-source dashboard · Python
Adds broker sync and a tracker that scores stock calls against later prices. Four pull requests upstream.
Open-source contributions
ClaudeCodeUsage (VS Code extension)
TypeScript · merged September 2026
Cached the dashboard's date-label formatter so repeated inputs are computed once (fixes issue #99).
catfolio (portfolio dashboard)
Python · four pull requests, September 2026
Hong Kong ticker padding and HKD exchange rates, dead-link fixes, broker account sync, and the call-tracker workspace.