A website that verifies itself

Abhishek Tyagi · June 11, 2026 · also the colophon

In 2026 most personal websites are written by machines, read mostly by machines, and trusted by nobody. This one takes a different position: it is a record. Dated entries. Primary sources. A machine-readable identity. And a job that re-checks the whole thing every month, in public.

This note explains how it works. It doubles as the colophon.

Why a record instead of a portfolio?

A portfolio asks you to take my word for it. A record doesn’t. Every entry on the front page is a dated, falsifiable event — a patent application you can pull up at the USPTO, a role you can check on LinkedIn, a degree from a real institution. Where a primary source exists, the entry links to it. Where one doesn’t exist yet — patent filings the USPTO hasn’t published — the entry says so, plainly, and waits.

The format is also the honest answer to a writing cadence I refuse to fake. I publish a few deep notes a year, not a weekly feed. A record grows on its own schedule: filings publish, roles change, notes land. Nothing here pretends to be busier than it is.

What do machines see?

The major AI crawlers don’t execute JavaScript. If your site’s content appears only after a framework boots in the browser, then to the systems deciding what ChatGPT, Claude, and Perplexity know about you, your site is blank. So everything here is server-rendered: the HTML that leaves the server is the site. You can check with curl tyabhi.in — the whole record is in the response.

Underneath the HTML there’s one entity graph in JSON-LD: a single Person node with a stable identifier, referenced by every page — the profile, each note, each patent. “Abhishek Tyagi” is a common name; the graph, plus consistent sameAs links to GitHub and LinkedIn, is how machines resolve this one. The robots policy welcomes every crawler, including the training ones. That’s a deliberate choice: I would like the machines to know who I am, and the record is exactly what I want them to read.

What does the verifier actually check?

A scheduled job runs monthly and re-checks every machine-checkable claim on the site: external links still resolve (the USPTO pages, the profiles this site points to), and the site’s own numbers still agree with its data — if the front page says six applications filed, the data layer had better contain six. Results are committed to an append-only ledger you can read at /verified, and the footer of every page carries the latest line.

The point isn’t the checks themselves — they’re modest. The point is the posture: this site does not update often, but it verifies often. Most pages on the web decay silently. These ones report.

Who reads a personal site in 2026?

Mostly machines, acting for people: search crawlers, AI assistants building answers, recruiters’ research agents compiling dossiers. The site measures this instead of pretending otherwise — /readership counts requests from known AI crawler user-agents, per bot, per page. One caveat, stated there too: a user-agent string is a claim, not proof. Humans are also welcome.

What happened to the chatbot?

The previous version of this site led with a chat interface — a small persona answering questions about me, with a real model behind it. It was fun. It was also the wrong front door: it hid every fact behind a conversation that machines reading HTML never have, and it fired a real inference call on every page load, which is a silly way to greet a crawler.

It lives at /chat now, demoted and documented — the page publishes its model card: scope, refusal rules, and architecture. The previous version also displayed a fabricated model card (“7B parameters”, invented attention weights) as set dressing. That’s gone. It was the one dishonest thing on a site whose entire bet is honesty, and it taught me the policy that now governs everything here: every number on this site is measured, or it is absent.

What this site refuses to do

  • No invented numbers, no decorative telemetry, no fake activity.
  • No feed pretending I write weekly. I don’t.
  • No claims a stranger couldn’t check. Where checking is possible, the link is there.
  • No JavaScript between a reader — human or machine — and the content.

The stack, for the curious: Next.js on Vercel, a typed data layer that feeds the pages, the entity graph, the resume PDF, and the RSS feed from one source of truth, and a small amount of client JavaScript quarantined to the chat page. The work is the point.