Notes from the workbench.
Essays on Vue, Nuxt, Shopware, performance, and the parts of web development that aren't in the docs.
9 articles

Upgrading pg-boss 10 → 12 When There Is No Migration Path
pg-boss 12 cannot migrate a v10 schema - v11 moved job storage to partitioned tables and the migration chain starts after that cliff. Here's how I upgraded a production job queue anyway - drop the schema, rebuild queue state from my own tables, and the job-ownership guard the rollout taught me to add.

I Built My Own SEO Crawler - Architecture Notes from seo-pulse
Instead of paying for Screaming Frog or Ahrefs, I built my own SEO audit tool - a Bun monorepo with a Nuxt 4 UI, a pg-boss worker that crawls and scores sites, and an MCP server so AI agents can trigger crawls and read findings. Here's the real architecture, and the parts that hurt - deploys killing workers mid-crawl, queue schema upgrades, and Docker builds dying without an error.

Claude Code in Real Client Work — Workflows, MCP, and Where It Breaks
A year of running Claude Code on actual freelance and agency projects — the workflows that hold up, why MCP is the real game changer for client work, the failure modes nobody puts in demos, and what I promise clients about AI-assisted development.

Shopware 6 Meets AI Agents - What an MCP Server for Your Shop Could Do
MCP gives AI agents a standard way to talk to real systems. Here's what an MCP server over Shopware's Admin API could look like - the tool surface, the architecture, and the honest risks of letting an agent near a live shop.

1Password for Claude - AI Agents That Log In Without Ever Seeing Your Password
1Password and Anthropic shipped a zero-exposure integration that lets Claude log into websites and finish real tasks without the model ever touching a credential. Here's how it works, what it's good for, and where the limits are.

Nuxt 4.5 - Vite 8, Rspack 2, SSR Streaming, and the Road to Nuxt 5
Nuxt 4.5 is the biggest release in a while - Vite 8, an Rsbuild-powered Rspack 2 builder, experimental SSR streaming, stable error codes, and a pile of groundwork for Nuxt 5. Here's what actually matters, what to test before upgrading, and why the Nuxt 3 clock is about to run out.

The Real Variable in AI Coding Isn't the Model — It's the Harness
Benchmarks show that switching edit formats improved Grok Code Fast by 10x — zero training compute required. As a developer who relies on AI agents daily, the harness deserves far more scrutiny than we give it.

Oh My Pi — The Open-Source Coding Agent I Actually Use Every Day
Oh My Pi is a fork of Mario Zechner's Pi coding agent with ~1,300 commits of incremental improvements. Here's what makes it different, why harness quality shapes agent reliability more than model choice, and why I run it instead of Claude Code.

The Supply Chain Is the New Attack Surface - npm Worms and Slopsquatting in 2026
A self-replicating npm worm and AI-hallucinated packages are the supply-chain threats hitting JavaScript developers right now. Here's how they work and how I lock my projects down.