Blog
Thoughts on product engineering, MCP servers, AI tools, and developer experience.
MCP Tool Design for AI Agents, Not API Endpoints
How to design Model Context Protocol servers for AI agents without wasting LLM context on endpoint-shaped tool schemas: one execute tool, one describe tool.
Stop Using Claude Code on Defaults
Five Claude Code settings I changed in ~/.claude/settings.json to save tokens, kill hallucinations, and stop approving ls for the 400th time.
Agentic UX Primitives: The Frontend Patterns Nobody Taught You
Streaming, HITL gates, reasoning traces, confidence indicators — the actual frontend patterns behind products like Cursor and Claude.
Context Engineering Ate Prompt Engineering
Prompt engineering hit a ceiling. The skill replacing it — context engineering — is what separates AI-augmented developers from AI-dependent ones.
The Vibe Coding Reckoning
AI coding tools changed the pace of software work, but production engineering still comes down to understanding, review, and ownership.
Why I Switched to Astro for My Portfolio
Comparing build times, DX, and performance after migrating from a heavier framework to Astro.