Senior full-stack engineer based in Madison, Wisconsin. 10+ years building production Rails and Next.js applications for SaaS companies. Most recently maintaining SaaS applications as sole engineer at Levee Labs, and modernizing mission-critical APIs that serve 100,000+ users daily.
What I'm working on now: moving deeper into AI engineering. Bringing the same rigor I bring to backend infrastructure, evals, observability, cost tracking, the boring parts that make systems actually work, to LLM applications. Currently focused on RAG evaluation, agentic workflows, and multimodal systems.
You can see one of my AI systems running today: the chatbot at windsordevelopmentstudio.io lets you talk to either of my dogs, Gus or Mitch, each with a distinct personality powered by RAG and GPT-3.5-turbo.
- How I Built an Evaluation Harness for My RAG Chatbot — measuring retrieval, grounding, and persona consistency with before/after data
- Tollgate: Why I Built a Confirmation Layer to use with AI agents (and Wrote My First Go Project to Do It) — A way for me to feel more comfortable working with AI agents.
- AI Isn't a Tool. It's the New Lumber. — on treating LLMs as raw material rather than finished products
- Ruby Can Be Async Too (You're Just Not Using It) — async patterns Rubyists tend to skip
- Building a RAG Chatbot with Pinecone and OpenAI — how Gus and Mitch got their voices
📖 Agentic Architectural Patterns for Building Multi-Agent Systems by Dr. Ali Arsanjani and Juan Pablo Bustos (Packt, 2026) — directly relevant to the agentic workflow direction I'm moving into.
🌐 windsordevelopmentstudio.io · 📍 Madison, WI


