Work
Systems, and the decisions behind them
Each of these is written twice over — what it does and what it changed up top, then the architecture and the tradeoffs underneath. Every decision here cost something; the tradeoff is marked so you can find it without reading the prose around it.
All work
03 projects- seo agent system600 pages · ~20 minproduct
pagesFetchGuardAuditRewriteScraped page text is quarantined as data, never read as instructions. Output is scored against explicit rules before it counts as done.
Node.jsClaude APIBullMQ · Redis01Lakes Area Graphix & Signworx · Banners.com · Decals.com · Stickers.com · 2026Auditing 600 product pages in twenty minutes
Six hundred product pages audited and rewritten in about twenty minutes, with scraped pages treated as untrusted input before they ever reach the model.
Node.js · Claude API · BullMQ · Redis · Cheerio · SerpAPI
Read the case study
02Workout 24/7 · Wells & Osakis, MN · 2026A gym site the owner can actually run
A 24-hour keycard gym in two Minnesota towns, rebuilt from WordPress to Next.js and Sanity so hours, pricing, and offers change in seconds without a developer.
Next.js 16 · React 19 · TypeScript · Tailwind CSS · Sanity · Upstash Redis · Resend · Vercel
Read the case study
03Omnia Physical Therapy · Superior, WI · 2025Where the lead pipeline is the product
A clinic site built so an ad click becomes a tracked lead sitting in the right stage of the CRM — not just a form submission in an inbox.
Next.js 16 · React 19 · TypeScript · Tailwind CSS · Sanity · GoHighLevel · GA4 · Google Ads · Vercel
Read the case study