← Back to blog

An AI Agent Found Me: What a Personal Site Needs for Generative Search

Today · 3 min read

On this page

In May 2026 the founder of Engram asked Claude Code to find an AI architect. It named me, and he said so publicly: "It's true, Claude Code surfaced Chan as one of the strongest matches for what we're looking for." The post reached 4,264 impressions.

My earlier GEO strategy was a design with no results. This post is the results, including the parts that did not work.

What the AI read#

An agent that searches for a person reads whatever it can fetch fastest and trust most. My site is built for that reader:

  • /llms.txt gives a plain-text map of who I am, what I have built and where the evidence is.
  • JSON-LD gives a schema.org Person with one stable @id (https://chanmeng.org/#person), shared with a separate CV document at /cv.jsonld.
  • robots.txt names the AI crawlers it welcomes, and Cloudflare's AI-bot blocking is switched off on purpose. Blocking at the edge would silently undo the rest.
  • One source of truth. Every page, the GitHub README, the CVs and the llms files are generated from one profile database, so an agent never finds two versions of the same fact.

What a SERP study showed was still missing#

Six months later I measured it, with 42 Google queries across four countries and a search-backed AI engine. The picture was mixed.

  • The handle works. A search for chanmeng666 returned five results, all of them mine.
  • The name does not. "Chan Meng" is shared with many people. A bare-name search in New Zealand, Australia or on mobile returned none of my pages. The top results went to namesakes, one of whom has a Wikipedia article.
  • The projects travel without me. My Google News MCP server is listed in a dozen directories, and DataCamp included it in a top-10 list, but those listings name the GitHub handle, not the person.
  • The AI found me but did not trust me. Asked about "Chan Meng AI agent architect Auckland", the engine identified me from GitHub. It then called the record self-reported and unconfirmed by an independent source. It also quoted a stale mirror copy of my README.

The fixes#

  1. Put the name in the <title>. My homepage title was "Chan's Home". For a name shared with many people, that was the single most expensive mistake on the site. It now reads "Chan Meng — AI Agent Architect & Full-Stack Engineer, Auckland".
  2. List every identity in sameAs. The homepage Person listed two profiles. It now lists seven: LinkedIn, GitHub, X, ORCID, Medium, Hugging Face and YouTube. I also took out entries that are not identities, such as a mail link, a CV download and a booking page.
  3. Claim the domain in Search Console and Bing. Neither had been set up. The site is now a Search Console Domain property verified by DNS and is in Bing Webmaster Tools, with the sitemap submitted to both, a dead subdomain removed from the index and IndexNow pinging Bing on demand.
  4. Credit the projects to the person. The MCP servers' package.json files now carry an author.
  5. Ask for independent sources. This is the slow part. It means organisations I have worked with saying who I am on their own sites, with a link back. No amount of work on my own site replaces it.

What I would tell anyone doing this for themselves#

  • Measure the bare name first. If people share your name, everything else depends on how you get past them.
  • Your handle is an asset. Use your name and your handle together everywhere, so engines can link the two.
  • llms.txt helps an agent that has already found you. It does not help the agent find you. That job belongs to titles, sameAs and other people's pages.
  • Check what the AI actually says, on a schedule, with the same questions each time. Its sources tell you what to fix next.

The week in AI, curated and explained in five minutes. Monday mornings: one big story with why it matters, the rest of the week grouped by theme, and the tools worth a look. Every link goes to the original.