All posts

3 min read meta · growth · distribution

Your website is a product. Ship it a distribution layer.

Rebuilding my site was the easy half. The real work came after launch: analytics, structured data, an email identity, and a newsletter that ships itself — all on free tiers.

Most personal websites die the week they launch. Not because the design is bad, but because launch gets treated as the finish line. In product terms: you shipped v1 and never built a funnel. Nobody finds it, nothing measures it, and there is no reason for anyone to come back.

I rebuilt this site a few days ago. This week I gave it the part most personal sites never get — the distribution layer. Here is what that meant in practice, with the product manager hat on.

Acquisition: be findable by humans and machines

The basics first: every page got a branded Open Graph card, so a shared link looks intentional instead of generic, and JSON-LD structured data, so search engines understand who the page is about. The sitemap is submitted to Search Console, which tells me what queries actually surface the site.

The newer half of acquisition is AI search. A growing share of discovery now happens inside assistants, so the site ships an llms.txt — a compact, machine-readable summary of who I am and what lives where. It costs one static file and it makes the site easier to cite for the tools people increasingly ask instead of Google.

Measurement: you can’t improve a funnel you can’t see

Analytics on a personal site feels vain until you treat the site as a product. Then it is just instrumentation. I used Cloudflare Web Analytics — a single script tag, privacy-friendly, no cookie banner required. I want to know which posts travel and where readers come from. That is enough.

Identity: own your email, protect your domain

The contact address is now hello@ on my own domain, forwarded to my inbox through Cloudflare Email Routing. Which raised a question I would ask about any product: if nothing legitimate sends email as this domain, what stops someone else from doing it? DMARC does. One DNS record with a quarantine policy, and spoofed mail lands in spam with reports flowing to a dashboard. Five minutes of work for a permanent trust boundary.

Retention: email is still the only channel you own

Social reach is rented. RSS is wonderful and niche. Email is the one channel where the relationship belongs to you, so the site now has a newsletter, run on Buttondown.

The interesting part is the automation. The hosted RSS-to-email feature sits behind a paid plan — fair, but I wanted the free tier. Buttondown’s API, however, is open. So the repo has a small script and a scheduled GitHub Action: every few hours it reads the posts in the repo, checks which ones were already sent, and emails anything new to subscribers through the API. Idempotent, versioned next to the content it ships, and zero cost. The best growth stack is the one you actually control.

Conversion: lower the friction to talk

“DM me” is friction. The footer now has a booking link wired to my calendar, with conflicts checked automatically. If someone reads a post and wants to talk product, the distance between intent and a meeting is two clicks.

The point

None of this is glamorous. It is the boring layer — the plumbing between “I made a thing” and “the thing compounds”. But it maps exactly to how I think about any product: acquisition, activation, retention, trust. A personal site deserves the same funnel thinking, and the whole stack above runs on free tiers. The only thing it cost me is the domain.

And if you are reading this in your inbox: the pipeline works. This post is the first one shipped entirely by the automation described above.

Get the next essay

Product, growth, and AI-assisted engineering — straight to your inbox, once in a while. No spam, unsubscribe anytime.