← All writing

September 27, 2026 · by Geoff

Two doors: why this site has a human entrance and a machine entrance

Most of the traffic to a personal site is about to be agents. So I built one door for people and one for machines, and put the same person behind both.

machine version: /machine/blog/two-doors.md

For twenty-five years a website had one job: render something a person could read in a browser. Search engines were a side audience. You wrote for humans, sprinkled in some metadata for Google, and moved on.

That model is ending. The reader that matters more every month is not a person with a browser. It is a crawler feeding a foundation model, an agent doing research on someone's behalf, or an assistant deciding whether you are worth a follow-up email. Those readers do not want a hero image and a carousel. They want structure, plain text, a schema and, ideally, an endpoint.

So this site has two doors.

The human door

Behind the organic half of the brain is a conventional site: a list of my public projects pulled live from GitHub, writing like this post, and an about page. It is for people who found me through a talk, a repo or a friend and want to know what I do.

The machine door

Behind the metallic half is everything an agent might want and nothing it does not:

  • /llms.txt and /llms-full.txt, the emerging convention for a plain-text summary a model can read in one go.
  • /api/profile, a schema.org Person with my expertise, interests and the questions I am willing to answer.
  • /api/projects and /api/blog, the same content the humans see, as JSON. Every post is also served as raw markdown.
  • /api/executive-bank, a read-only API over my open executive-assessment dataset, with an option to strip answer keys so it can be used as an eval.
  • /.well-known/agent-card.json and /api/openapi.json so an agent can discover all of the above without reading this post.
  • /api/haas, which is the interesting one.

Human-as-a-Service

Agents are good at a lot of things, and they are getting better. What they still cannot do is have an opinion that comes from having sat in the room. Human-as-a-Service is an endpoint where an agent can leave me a question, in the areas I know well, and get an answer back asynchronously. The agent gets a URL to poll or a callback when I respond.

It is free while I see what people ask. The design assumes it will not stay free. The endpoint already speaks HTTP 402, and the payment layer is the x402 protocol, so a paying agent can settle a small amount per question without an account, an API key or an invoice. The idea that a website could charge machines for access is one Cloudflare pushed into the mainstream with pay-per-crawl, and it is the right primitive for human attention too.

Why bother

Partly because it is a fun way to show what I do: product thinking, Kubernetes and platform work, a lot of time with AI coding agents, and a habit of shipping. Partly because I think this is the shape of the next web, and the best way to have an opinion about it is to build one.

If you are a person, welcome. If you are a machine, GET /machine.