A mix of personal projects, professional work, and learning experiments.
Gateway and servers exposing internal APIs to AI agents via MCP
Engineering velocity dashboard with GitHub PR analytics and collaboration networks
Agent-first CLI for AI tooling setup, skill management, and MCP configuration
Replaced FigJam-based planning with a real-time board app synced to Jira, with AI chat and risk assessment
Next-gen wrestling event hub for web and mobile, replacing legacy platforms for hundreds of thousands of fans
Curated skill collection giving every engineer an easy onramp to AI agents
Making the largest monorepo legible, constrainable, and inspectable for AI agents
NestJS library for canonical log lines with request-scoped context and intelligent sampling
Tmux-native workspace manager for AI coding agents in terminal
Terminal RSS reader for FreshRSS built with Rust and FrankenTUI
MCP server for AI agents to interact with Datadog API via codemode
Effect-based CLI for Paperless-ngx with Claude skill for document management
Agent-controllable CLI for Fastmail calendars via CalDAV
Save X bookmarks to Obsidian with AI-generated titles and summaries
Track weight, shots, reminders, stats, and more for GLP-1 medication users
Local API for interacting with an Obsidian vault
Barbell plate loading calculator with kg/lbs conversion
NixOS and nix-darwin config for all my machines
Self-hosted infrastructure at home
Personal site with projects, bookshelf, and more (you are here)
Real-time replay operations UI for MLB with live server-sent event integration
MLB game rescheduling system enforcing collective bargaining agreement rules
NFL sport event management and credentialing system used at all events including the Super Bowl
Internal React component library used across AngularJS-to-React migrations, built with TypeScript early enough to help spread it org-wide
Java SDK wrapping the Business Objects 4 REST API so a dozen apps could migrate from BO3 without rewriting their reporting code
Dozens of internal tools for sports league clients, from credential management to data reporting. Individually routine, but the volume and variety early on is what made me a generalist.