Projects
Things I built end to end: a diff-context engine for LLM code review, a self-hosted health record, and the GitOps platform this site runs on.
diffctx
An LLM reviewing a diff sees the changed lines and nothing that gives them meaning, so it comments on syntax and misses the caller three files away that the change breaks.
Builds a typed dependency graph of the repository and spends a fixed token budget on the fragments that actually explain the change, deterministically. Ships as a CLI, a Python API and an MCP server; the selection method is written up in a preprint.
Rust · Python · MCP
life-as-code
Health data is scattered across vendor apps that each show a pretty graph, never join to each other, and cannot answer whether a change actually did anything.
A self-hosted record that ingests Garmin, Hevy and HealthKit into one Postgres schema, runs the analysis over the joined series, and exposes the whole thing to an assistant through a typed MCP contract rather than a scraped UI.
Python · PostgreSQL · Dash · k3s · MCP
The platform this site runs on
Hosted CI, a hosted registry and a hosted forge are three bills and three outages you do not control, and none of them teaches you what breaks at three in the morning.
A single-node k3s cluster running Forgejo as the source of truth, Argo Workflows as the build pipeline, ArgoCD with Image Updater for delivery, and a post-deploy QA pipeline that crawls every deployed surface. Every application here — including this page — reaches production through it, and a scheduled job alerts when a deployed tag falls behind its repository HEAD.
k3s · Forgejo · Argo Workflows · ArgoCD · Terraform · Renovate