AI Internal Adoption Evangelist & Principal Engineer · Seattle, WA
I help engineering organizations actually adopt AI — not evaluate it, not pilot it, but make it part of how work gets done. My focus is agentic patterns and practices that automate away toil and free people up for the work that actually requires them.
The foundation is 15+ years of building and operating distributed systems at Microsoft and Upstart: shipping one of the first Azure-hosted services in Skype for Business (which became Microsoft Teams), managing capacity through pandemic-driven compute constraints while scaling from 35M to 285M monthly active users, EU data boundary compliance for 11 Teams services, a $36M/year COGS reduction, and an LLM-powered Slack incident assistant that cut postmortem time from two hours to ten minutes. That background shapes how I think — high-quality, maintainable, understandable software that scales — but the work now is about using that lens to help others move faster with agents.
I build agents the same way I build services: typed interfaces, deterministic fallbacks, observable pipelines.
AI Adoption & Agentic Engineering — helping teams move from "we tried a demo" to "this is how we work now." End-to-end agent workflows for real engineering contexts: voice pipelines, Slack assistants, planning systems, internal agent marketplaces. The bottleneck is almost never the model — it's workflow integration and trust.
Toil Elimination — finding the work that shouldn't require a human and building the agent that removes it. Backed by deep experience in incident management, observability, and platform engineering; I know where the toil actually lives.
Audio & ML — music source separation, singing voice synthesis, MIDI extraction. Side effect of an EE degree with an audio concentration; I like tools that do interesting things with sound.
| Repo | What it does |
|---|---|
| resume-gen | Obsidian vault → SQLite → LLM keyword optimization → PDF resume pipeline |
| telephony-agent | CLI voice agent: pharmacy inventory research, outbound calls, structured results |
| todoist-client | Codex-native daily planner with deterministic Python backend + Todoist cache |
| term-workspaces | Go CLI for task identity linking, session orchestration, SQLite dashboards |
| llm-site · largelanguagemusic.com | Next.js landing page for Large Language Music, an AI-generated record label |
| fitness-coach-agent | LLM-backed endurance coaching scaffold on Next.js + Vercel |
| demucs | Serverless toolkit around Facebook's Demucs music source separator |
| singing-voice | Librosa preprocessing + Seed-VC inference on RunPod |
| macbookair-dotfiles | Reproducible Mac setup: Brewfile, dotfiles manifest, install scripts |
Languages: Python (uv) · Go · TypeScript AI / Agents: OpenAI · Claude · Codex · PyTorch · RunPod Infra: Vercel · Supabase · Twilio · AWS Tooling: lefthook · biome · SQLite · Obsidian



