The archive

All posts

7 essays and notes on engineering, tools, and the work of thinking clearly.

7 posts

Building a LangGraph-Based Multi-Agent System from Scratch with Claude Code

I recently used Claude Code to build a running coach agent system from scratch — it syncs Strava activity data and can answer questions about your training, backed by a Supervisor multi-agent architecture built on LangGraph. This isn't a tutorial; it's an engineering retrospective: how the methodology took shape, why the architecture is sliced the way it is, and what pitfalls I hit along the way.

10 min read#Agent#Claude#ClaudeCode#LangGraph#LangChain#MultiAgent#Superviser

Some Shifts in How I Think About AI in 2026

AI seems different from previous tech bubbles — it is genuinely changing the way we live.

9 min read#AI#Claude Code#Cursor#ChatGPT

The Painful Story of Migrating from TailwindCSS v3 to v4

How I upgraded TailwindCSS for the Red Hat ProdSec Compliance project

5 min read#frontend#TailwindCSS#CSS#migration#Bootstrap

Why I Recommend Astro

I used to be a framework-less evangelist — for frontend sites, I'd reach for plain React. But after years of bouncing around, I've come to think Astro is the better choice.

11 min read#Frontend#Next.js#Astro#SSR#React#Vue#Vite

Google ADK + vLLM: MCP Tools Are Recognized but Never Called

While building an Agent with Google ADK, I discovered that using vLLM as the model provider lets MCP tools be discovered — but they never actually get invoked.

5 min read#Google ADK#Agent#AI#MCP#vLLM

Six Honest Things I'd Tell Any Parent About to Start Their Kid on Piano

A few years into being a practice parent, some things look different than they did before we bought the piano.

5 min read#Essays#Parenting#Piano