Writing
Build notes, mostly. What worked, what did not, and the numbers underneath.
13 August 2026
How this site is built
A short colophon. Static HTML, self-hosted type, real screenshots, and a build step that refuses to lie about numbers.
2 min read
4 August 2026
Twelve sites and an afternoon of screenshots
Building a portfolio that cannot quietly go out of date.
2 min read
28 July 2026
Your website is not for you
The person you are designing for already knows what you do.
1 min read
14 July 2026
I deleted the automation that was working
It posted every day for months. That was the problem.
1 min read
23 June 2026
Small town local search is not hard, it is just unglamorous
Nobody else is bothering. That is the entire opportunity.
1 min read
9 June 2026
What a handover should actually contain
The document nobody asks for until they need it, and then desperately.
1 min read
26 May 2026
Stop calling it a refresh
If the words are the same, it is a paint job.
1 min read
12 May 2026
The two a.m. tree call
Storm work does not arrive during business hours, which is the whole argument.
1 min read
28 April 2026
The client who wanted a carousel
How to say no to a bad request without losing the room.
2 min read
14 April 2026
Why I still write HTML
Not nostalgia. It is the only layer that has not broken compatibility in thirty years.
1 min read
24 March 2026
Your plumbing company does not need a social media strategy
A rant, with an exception at the end that matters.
1 min read
10 March 2026
Geocoding a county for nothing
Commercial geocoders bill per lookup. The Census does it free, and for US addresses it is authoritative.
2 min read
24 February 2026
Your contact form goes nowhere
Test it. Right now. I will wait.
1 min read
10 February 2026
Brutalism is a reaction, not a style
Raw type and hard edges are having a moment. There is a reason, and it is not aesthetics.
1 min read
27 January 2026
A voice agent is not a chatbot
They are sold as the same product. They fail in completely different places.
1 min read
13 January 2026
Every AI website looks the same
Same font. Same gradient. Same three cards. A field guide to the house style of the machines.
1 min read
23 December 2025
Never deploy on Christmas Eve
A short seasonal rant with one genuinely useful rule in it.
1 min read
9 December 2025
AI took your click. Now what.
The informational click is going away. That is bad for publishers and mostly irrelevant for a plumber.
2 min read
25 November 2025
Your site is slow and it is probably the fonts
Four megabytes of typography for six hundred words of text.
1 min read
11 November 2025
What I shipped in 2025
An honest inventory, including the parts that did not work.
1 min read
28 October 2025
Every developer has shipped a noindex to production
A short one about the most common self-inflicted SEO wound.
1 min read
14 October 2025
The canonical tag that hid a whole site
No error. No warning. Just silence, for months.
1 min read
23 September 2025
Nobody cares about your about page. Except when they do.
It is the second most visited page on most small business sites and it is always the worst written.
1 min read
9 September 2025
Build it so they can leave
The handover is the product.
1 min read
26 August 2025
The SEO audit that is just a PDF
Two hundred pages, generated in nine seconds, sold for nine hundred dollars.
1 min read
12 August 2025
Rank and rent, explained honestly
I run these. Here is how the model actually works, including the parts that are uncomfortable.
2 min read
22 July 2025
AI wrote your copy and it shows
Not because it is bad. Because it is the same.
1 min read
8 July 2025
What a website costs, and why nobody will tell you
The price ranges are real. The reason for the silence is not what you think.
1 min read
24 June 2025
The three numbers a small business should watch
Your analytics dashboard has four hundred metrics. You need three.
1 min read
10 June 2025
Generating two hundred pages from a spreadsheet
Programmatic pages are either the best SEO leverage available or the fastest way to build a junk site. The difference is the data.
1 min read
27 May 2025
Your testimonials are not working
Five stars, no name, no detail. Nobody believes it, including you.
1 min read
13 May 2025
Write the answer, not the article
How to write pages that get quoted rather than skimmed.
1 min read
22 April 2025
The page builder tax
What that monthly fee actually buys, and what it quietly costs.
1 min read
8 April 2025
I answered my own phone for a week
Before building anything that answers calls, I wanted to know what the calls were actually like.
1 min read
25 March 2025
Your web guy disappeared. Here is why.
It is almost never what the client thinks it is.
2 min read
11 March 2025
Ask who owns the API keys
The one question that tells you what kind of vendor you are dealing with.
1 min read
25 February 2025
Stop putting your phone number in an image
Four minutes of design decisions that cost real jobs.
1 min read
11 February 2025
The fastest site in town is a folder of files
Static HTML is not retro. It is the correct answer for most small business sites, and it is cheaper.
2 min read
28 January 2025
Nobody has ever used your hero slider
A short rant about the most persistent bad idea in web design.
1 min read
14 January 2025
What a local business actually needs from a website
Not a redesign. Six things, and most agencies sell you the seventh.
1 min read