Writing
Essays, walkthroughs, and thinking out loud. Process over polish.
-
Iteration as Method
Part 3The first output isn't the work. It's the starting point. What changes when you treat AI-assisted work as a cycle -- generate, evaluate, refine -- rather than a prompt waiting for the right answer.
-
Systems That Build Systems
Part 5The most useful thing AI changes isn't individual tasks -- it's the economics of building the systems that do the tasks. When scaffolding gets cheap enough, you build infrastructure you'd have skipped. That infrastructure compounds.
-
The IT Guy Who Listens
Part 6AI changes the cost of execution. It doesn't change the cost of judgment. The person who keeps the diagnostic loop open, asks the question that reframes the problem, and knows what the system is actually for -- that's the human moat.
-
The Prompt is a Draft
Part 4Most people treat prompts as instructions. They're not -- they're the starting position for a context window that already has shape. Treating the prompt as a draft you revise before sending is the simplest way to change what comes back.
-
How I read DMARC reports without reading DMARC reports
Part 6DMARC aggregate reports are XML zip files emailed by mail servers worldwide. Postmark DMARC Digests parses them and sends you a clean weekly summary -- free, no Postmark account required.
-
SPF, DKIM, and DMARC: the full lockdown after setting up custom email
Part 4SMTP2Go's wizard gives you SPF. That's one of three records. Here's how to add DKIM and DMARC -- in the right order -- and why the order matters.
-
Do your parked domains need email authentication? Yes -- and it's four records.
Part 5A domain you never use for email can still be spoofed. Four DNS records fix it: null MX, SPF reject-all, DMARC reject, wildcard DKIM null. No key generation, no sending infrastructure.
-
Context is the Interface
Part 2The context window isn't a log of your conversation -- it's the environment you're working in. How you build it, manage it, and know when to reset it is a learnable skill.
-
The Latent Space: The mental model that changed how I work with AI
Part 1Most AI failures aren't the model's fault. They're navigation errors -- reaching into the latent space without knowing what you're doing.
-
Custom Email Routing with Cloudflare and SMTP2Go
Part 2Custom domain email without Google Workspace: Cloudflare handles inbound for free, SMTP2Go handles outbound, and Gmail ties it together.
-
How I Built johnmcdougal.com with Claude and Astro
Part 1Building this site with Claude wasn't about delegating the work -- it was about having a thinking partner who helped me make real decisions and ship something instead of planning forever.
-
Setting Up PostHog Analytics on a Static Site (and Fixing What the Wizard Broke)
Part 3PostHog Cloud + a Cloudflare reverse proxy gives you real analytics without Google -- but skip the AI wizard and read the docs first.
-
Hello, World
What this site is, who it is for, and why I am building it in public.