Personal
The work that doesn’t bill by the hour.
Proof I build for the love of it: native Mac apps, open-source tooling, race reports, and a standing date with the White Mountains.
Simple apps
Nine native macOS viewer apps (JSON, CSV, Markdown, YAML, Text, Image, Audio, 3D, 3MF) sharing one Swift core, plus Viewer Toolbox to install and update them all. Each app is about 2 MB; the Electron equivalent would be 80 to 120 MB.
Side projects
A rotating bench of tools I build because I use them: MCP servers that wire AI assistants into version control, fitness platforms, and office suites; Claude Code plugins and multi-agent pipelines; and always at least one game prototype in flight. The public ones live on GitHub.
Simple apps
Nine native macOS viewers (JSON, CSV, Markdown, YAML, Text, Image, Audio, 3D, 3MF) on one shared Swift core, each about 2 MB where an Electron app would be 80 to 120. Viewer Toolbox installs and updates the whole set.
Swift · SwiftUI · Sparkle · Mac App Store · GitHub Actions
FirstChair
A ski adventure hub covering 440+ mountains: track favorite resorts, compare passes, find uphill access, and never miss a powder day.
Vue 3 · Vite · Tailwind · Netlify Functions · Google Maps
Game prototypes
Always at least one in flight. The current one is Pilot Light: WW1 biplanes, wrong-century enemies, pixel art. The best excuse to keep the game-dev tooling honest.
Godot · Android · Retro Diffusion · agentic pipeline
CoachView
Coaching-business SaaS for endurance coaches: athlete onboarding forms, drip sequences, landing pages, and billing in one place, designed to sit beside TrainingPeaks rather than replace it. Built 2018 to 2020, sold.
Ruby on Rails · Heroku · Stripe · PostgreSQL
A.I.D.A.
Aida (Artificial Intelligence Digital Assistant) is my personal AI chief of staff: long-term memory across every project, a wiki distilled from fifteen years of notes, agents that run overnight, and one CLI that answers for work and life.
Go · MCP · Claude · Docker
AI org chart
ButterStack’s staff is mostly AI: a product manager queues the backlog, a tech lead gates quality, engineer agents ship PRs from sandboxed worktrees, and humans review. Blog post coming soon.
Claude Code · subagents · Docker sandboxes · GitHub Actions
When I’m not in front of a computer
- Two full Ironmans, a dozen halves.
- All 48 of New Hampshire’s 4,000-footers.
- Eagle Scout.
- Three company-wide hackathon wins and various innovation awards.