Blog
Notes on building web & mobile products
Cost breakdowns, framework decisions, security checklists, and performance write-ups — pulled from real client work, not theory.

MCP Went Stateless: The 2026-07-28 Spec Change, Explained
MCP Went Stateless: The 2026-07-28 Spec Change, Explained
MCP's 2026-07-28 revision removed sessions and the initialize handshake. Here's what changed, why it matters on Workers, and what our own MCP server does about it.

Three Gotchas From Making a Worker Agent-Ready
Three Gotchas From Making a Worker Agent-Ready
A self-fetch that needs two different mechanisms depending on the URL, a JWS signature Node signs the wrong way by default, and zod schemas that quietly drift from real code.
Markdown vs HTML: What AI Actually Cites (Real Data)
We compared markdown mirrors against a comparable HTML-only site using real Cloudflare crawl data — here's the actual difference in AI citations, not a guess.
What It Actually Costs to Maintain a Client's AI Workflow
A concrete cost breakdown of running a scoped MCP server for client fixes — build time, review overhead, hosting — compared to a CMS and ticketing stack.

A Small MCP Server Skips the Ticket Queue
A Small MCP Server Skips the Ticket Queue
A small, narrowly scoped MCP server lets a client fix bugs, copy, and layout by chatting with their AI assistant — no tickets, no CMS, just a PR to review.
Have a product in mind? Let's scope it this week.
A 30-minute call gets you a rough timeline and cost — no obligation, no sales deck.
