I'm a senior software engineer. For the last five years I've been building and shipping products across the whole stack, and these days nearly everything I make has AI at its core. I also write about AI and system design.

What I do

Right now I'm building real-time voice agents: software you can simply talk to, that listens, thinks and answers back in natural speech. I work with Gemini's live audio models and LiveKit for the real-time voice layer, and use LangChain and LangGraph to orchestrate the conversation and the tools the agent can reach.

On my own time I ship AI products end to end. Plumb is a native macOS app, written in Swift, that runs its writing and speech models entirely on the device, so nothing ever leaves your Mac. UnderlayX and ShowNumbers are web apps I designed, built and run myself.

Underneath it all is solid full-stack engineering. I build backends in Node.js and Express, design Postgres and MySQL schemas and tune slow queries until they're fast, and build front ends in React and Next.js. I also built a React Native mobile app on my own, from scratch.

Projects

UnderlayXAI image editor: text behind subjects, background swaps, inpainting. Used by 100,000+ people.PlumbA private English coach for Mac. Speak or type, it marks mistakes and explains why. On-device, open source.ShowNumbersAnimated numbers, charts and product mockups, rendered entirely in the browser.Code Time MachineA VS Code extension for stepping through a file's Git history, side by side.