Projects
What I've built
Each entry is dated and says plainly what was built, what the result was, and where it stands — including the parts that didn't work.
Vapten OS — an operating-system-style interface for a personal AI agent
The interface I use to run my own AI assistant: command palette, approvals, a project graph, and a themeable design system. This site reuses its design language.
JavaScriptPythonCSSPlaywrightarbiter — can an LLM agent beat a plain model on SEC filings?
A benchmark that gives an agent and a baseline identical point-in-time data. Result so far: no measurable skill from either.
Pythonscikit-learnGitHub ActionsLorenz-96 ensemble post-processing — can saved forecasts be repaired without retraining?
Undergraduate research in Prof. Elizabeth Barnes's group at BU: testing whether post-processing closes a variogram-score gap in AI forecast ensembles.
PythonNumPyPyTorchcallback — verify every claim before a résumé leaves the building
A Claude Code plugin whose deterministic Python core checks generated applications against a provenance-tracked fact store. No LLM calls in the checker.
PythonClaude CodeMCPPyGREET impact dominance — where does a life-cycle impact come from?
A module for Argonne's PyGREET platform that breaks a life-cycle total into ranked per-process contributions. Merged upstream after review.
PythonNumPySciPyDjango RESTpytest