from the notebook

The Notebook

Technical deep dives, building in public, and lessons from 12 years of shipping code.

March 15, 20268 min readBuilding

How I Built a Zero-Dependency npm Package from Scratch

The story behind auto-api-observe a zero-dependency Express/Fastify observability middleware. Architecture decisions, AsyncLocalStorage, and why I said no to every dependency.

Node.jsnpmOpen SourceAPILens
February 20, 202615 min readTechnical

How to Build an MCP Server for WordPress from Scratch

A step-by-step guide to building a Model Context Protocol server that lets Claude manage WordPress content. Zod schemas, tool definitions, and REST API integration.

MCPWordPressAITypeScriptCMS MCP Hub
February 10, 202610 min readCareer

From Database Admin to Tech Lead: A 12-Year Roadmap

My journey from writing SQL queries in 2011 to leading 10 developers in 2026. The skills that mattered, the ones that didn't, and what I wish I'd learned sooner.

CareerLeadershipGrowth
January 15, 202611 min readBuilding

589 MCP Tools in One Monorepo: How I Built CMS MCP Hub

Architecture decisions behind CMS MCP Hub a Turborepo monorepo of MCP servers for 12 CMS platforms. Zod validation, universal REST gateway, and tsup builds.

MCPOpen SourceTurborepoTypeScript
December 10, 20256 min readOpinion

You Don't Need 50 Dependencies Build Your Own Framework

Why I'm building a Node.js framework with zero external dependencies. The real cost of npm install, and what happens when you say no to everything.

Node.jsOpinionArchitectureZero Dependencies