Blog
A blog about AI, software, and web development.
The Hidden Cost of Trusting AI Without Checking Its Work
AI is good at sounding right. That is exactly why it can be dangerous.
I use AI constantly in development work. It helps me move faster, sketch ideas sooner, and get through routine tasks with less friction. But I do not treat AI output as fact, and I do not think anyone else should either.
There is a big difference between using AI as a starting point and using it as a source of truth. That gap is where the real risk lives.
Your AI Meeting Notes Are Losing Context
AI meeting summaries compress conversations into bullet points, but downstream agents need the full transcript to produce useful output.
Using FFmpeg to Let Claude Code See a Client's Bug
How to convert a client's screen recording into sequential image frames so Claude Code can visually analyze the bug being demonstrated.
How I Wrote a Python Script to Parse Google Timeline Data Instead of Just Installing a Mileage App
How I reverse-engineered Google Maps Timeline JSON data with a Python script to extract months of business mileage instead of installing a tracking app.
AI Web Research Has a Fact-Checking Problem
Web fetch tools can return confidently wrong prices, features, and specs alongside accurate content. Here's the verification step that caught it.
Trello Planner Doesn't Mark You as Busy in Google Calendar. Here's How to Fix It.
Trello Planner creates Focus Time events that don't mark you as busy in Google Calendar. A free Google Apps Script fixes it in five minutes.
The Subscriptions Behind Every Client Project
The paid services that make client work sustainable, and why free alternatives don't cut it.
Meilisearch for WordPress: A Developer's Honest Take
Meilisearch as a WordPress search backend compared to ElasticSearch, Algolia, Relevanssi, and SearchWP. What works, what doesn't, and when it makes sense.
Claude Opus 4.6: What Actually Matters for Developers
A practical breakdown of Claude Opus 4.6 for developers: coding improvements, 1M token context window, adaptive thinking, and what early adopters are reporting.
WordPress.com Now Has a Claude Connector
WordPress.com shipped an official Claude connector built on MCP and OAuth 2.1. What it does, why the hosted vs. self-hosted distinction matters, and what it signals for the broader WordPress ecosystem.
Building a High-Performance Directory with Headless WordPress and Hugo
How to combine WordPress as a headless CMS with Hugo for static frontend generation, featuring magic link authentication, Cloudflare image uploads, and Meilisearch.
AI Won't Replace Developers. But It Might Break the Pipeline That Creates Them.
The real concern isn't AI taking developer jobs. It's what happens when the entry-level work that teaches fundamentals gets automated away.
There's a WordPress Plugin for That (But Should You Use It?)
How to evaluate WordPress plugins when the wrong choice costs months of work.
The WordPress Plugins I Actually Use
Eight plugins that solve real problems in client work, from email reliability to search performance.
When Claude Code Crashes: Using Claude.ai as a Fallback for Codebase Analysis
How to work around Claude Code memory limits by offloading large codebase analysis to Claude.ai and generating execution prompts for Claude Code.
Finding Broken Links in WordPress: A WP-CLI Approach
A database-first approach to link checking that skips the crawler overhead and firewall conflicts.
Building a Personal Workflow in 10 Minutes with Claude
How a morning voice dump into Google Calendar became a reusable AI-powered task management workflow.
Never Update "Years of Experience" Again: Dynamic Shortcodes in WordPress
How to replace hardcoded year references with shortcodes that calculate automatically, so your content stays current without manual updates.
AI-Assisted Content Migration: From Discovery to Deployment
How Claude Code handled a WordPress content update from database analysis through safe deployment, with minimal human intervention.
Optimizing Since 1995
Performance optimization lessons from three decades of web development, starting with dial-up modems and static HTML.
Backfilling Git Release History: Adding Tags and a Changelog to an Existing Repo
How to use AI to retroactively add semantic version tags and a proper changelog to a project that shipped without them.
Automating Client Documentation with AI: A Practical Workflow
Turn documentation from a dreaded chore into a 30-minute task using AI-assisted workflows.
4 Magic Words for AI: Play the Devil's Advocate
Stop using AI to confirm what you already think. Ask it to argue against you instead.
From MVP to Production: Iterating with Claude Code
How a 7-minute MVP evolved into a full-featured UptimeRobot management tool through iterative AI-assisted development
Debugging Production Errors Without Leaving the Terminal
Using Claude Code with the Sentry MCP to investigate site errors without logging into dashboards
Claude Code Plan Mode: From Idea to MVP in 7 Minutes
How I used Claude Code's Plan Mode to expand a legacy script with edit and delete functionality
Let's Talk
Free Consultation
New project or existing challenge — tell us what you need. We'll listen, diagnose, and recommend next steps.
Trusted By



