How to Automate Monthly Report Narratives Without Letting AI Invent Wins

A practical architecture for generating report narratives with AI — and the guardrails that keep it from turning a decline into a success story. By David Henderson • Unwired Web Solutions • Updated September 2026 • 11-minute read DIRECT ANSWER To automate a monthly report narrative safely, keep the language model inside a controlled pipeline: […]
When a Spreadsheet Is a Better Interface Than a Custom App

A practical decision framework for choosing between a spreadsheet and custom software — the three-layer architecture that makes a spreadsheet behave like a real interface, and the signals that tell you it’s time to migrate. By David Henderson • Unwired Web Solutions • Updated September 2026 • 11-minute read KEY POINT The strongest angle is […]
Pulling Franchise-Level Data Out of a System That Doesn’t Want to Give It Up

How consolidating four disconnected tools across a 19-territory franchise network turned into a lesson about credentials, not code. By David Henderson • Unwired Web Solutions • Updated September 2026 • 7-minute read THE NUMBERS 19 territories · 4 disconnected tools consolidated · 12 months of Salesforce history · 3 years of GA4 + GBP history […]
The Agency Reckoning

I’ve said it plainly before: my agency is already dead, people just haven’t started covering up the body yet. This post is the practical version of that sentence — what actually replaces the flat monthly retainer, and why AEO and GEO are an expansion of SEO rather than something that makes it obsolete. The old […]
Build Log: Standing Up an AI Search-Visibility Dashboard With Claude Code, From Zero to First Schema

I built the first schema for a multi-client AI search-visibility dashboard using Claude Code, on an old 2012 iMac, starting from a completely empty GitHub org. The code generation itself was the easy part — the actual barrier for a non-technical founder is everything around it: which account owns the repo, why you need a […]
How to Audit a Live Hub Page: Finding Orphaned Headings, Ghost DOM Nodes, and Semantic Traps That Lurk for Years

When a multi-location hub page underperforms in organic search, marketing teams almost always blame keyword difficulty, thin content, or backlink velocity. They audit the visible copy, polish the meta descriptions, and check page speed. Almost nobody inspects the raw, rendered Document Object Model (DOM) to see what search engines and language models actually parse. During […]
Why AI SEO Content Can Pass Every Test and Still Need a Human Rewrite

AI can produce content that is accurate, compliant, optimized and technically complete — and still leave a good copywriter uncomfortable. That gap is what I’ve started calling client-proud versus copywriter-proud. The distinction came out of a real production discussion about AI-generated Google Business Profile content. We had a system that could produce dozens of usable […]
ChatGPT Got Goblin Brain, and OpenAI Had to Write ‘NO GOBLINS’ Into Its System Prompt

The company building artificial general intelligence just admitted its flagship chatbot developed a fantasy creature obsession — and the fix was literally adding “NEVER say goblin” to its instructions ⚡ Quick Answers What happened with ChatGPT’s goblin obsession? ChatGPT’s “Nerdy” personality mode accidentally learned that goblin and gremlin metaphors reliably scored high with users. The […]