{"author":{"email":"alex@hayorov.me","name":"Alex Khaerov","url":"https://hayorov.me/"},"content_markdown":"This site is built to be read by machines as well as people. Everything below is static, cacheable, served with `Access-Control-Allow-Origin: *`, and needs no API key. If you are an LLM or an agent, start with [`/llms.txt`](https://hayorov.me/llms.txt).\n\n## Start here\n\n| Endpoint | What it is |\n| -------- | ---------- |\n| [`/llms.txt`](https://hayorov.me/llms.txt) | Index of the whole site in the [llms.txt](https://llmstxt.org/) format: who I am, every page and post with a one-line description, talks, publications, patents, links |\n| [`/llms-full.txt`](https://hayorov.me/llms-full.txt) | Every page concatenated as Markdown, for one-shot ingestion |\n| [`/openapi.json`](https://hayorov.me/openapi.json) | OpenAPI 3.1 description of the endpoints on this page, ready to import as tool or function definitions |\n\n## Every page as Markdown or JSON\n\nAppend `index.md` or `index.json` to any page URL. HTML pages also advertise them with `<link rel=\"alternate\" type=\"text/markdown\">` and `<link rel=\"alternate\" type=\"application/json\">`.\n\n| HTML | Markdown | JSON |\n| ---- | -------- | ---- |\n| `/about/` | [`/about/index.md`](https://hayorov.me/about/index.md) | [`/about/index.json`](https://hayorov.me/about/index.json) |\n| `/posts/idps-part1/` | [`/posts/idps-part1/index.md`](https://hayorov.me/posts/idps-part1/index.md) | [`/posts/idps-part1/index.json`](https://hayorov.me/posts/idps-part1/index.json) |\n| `/posts/` | [`/posts/index.md`](https://hayorov.me/posts/index.md) | [`/posts/index.json`](https://hayorov.me/posts/index.json) |\n\nThe Markdown twin carries YAML front matter (title, description, canonical URL, dates, tags) and a body in which galleries become image lists, embeds become links, and all links are absolute. The JSON twin carries the same metadata plus `content_markdown` and `content_text`.\n\n## Structured data\n\nThree pages carry a dataset under the `data` key of their JSON twin. The data lives in version-controlled YAML and renders both the HTML tables and these endpoints, so they never drift.\n\n| Endpoint | `data` contains |\n| -------- | --------------- |\n| [`/about/index.json`](https://hayorov.me/about/index.json) | Profile: current role, experience timeline, education, certifications, patents, advisory roles and memberships, open source, links |\n| [`/talks/index.json`](https://hayorov.me/talks/index.json) | Every talk, panel, workshop and podcast: year, title, URL, event, event URL, location, type |\n| [`/publications/index.json`](https://hayorov.me/publications/index.json) | `articles` (Medium, Habr) and `offline` (books and registered electronic resources) |\n| [`/posts/index.json`](https://hayorov.me/posts/index.json) | Every blog post: title, description, dates, tags, word count, and links to its Markdown and JSON |\n\n## Feeds and indexes\n\n- [`/feed.json`](https://hayorov.me/feed.json) — JSON Feed 1.1 with full HTML and plain-text content for every post\n- [`/index.xml`](https://hayorov.me/index.xml) — RSS 2.0 with full content\n- [`/sitemap.xml`](https://hayorov.me/sitemap.xml) — XML sitemap\n- [`/index.json`](https://hayorov.me/index.json) — the client-side search index (title, section, summary, plain text, permalink for every page)\n\n## Semantics in the HTML\n\nEvery HTML page embeds JSON-LD (`Person` and `WebSite` on the home page, `Article` and `BreadcrumbList` elsewhere), Open Graph and Twitter Card metadata, `rel=\"me\"` links to my profiles, and a `rel=\"describedby\"` link to `/llms.txt`.\n\n## Crawling, quoting and contact\n\nAI crawlers and assistants are explicitly allowed in [`/robots.txt`](https://hayorov.me/robots.txt). You are welcome to read, index, summarise and quote this site; please link back to the canonical page URL when you do. Something missing or wrong in the machine-readable data? Email [alex@hayorov.me](mailto:alex@hayorov.me).","content_text":"This site is built to be read by machines as well as people. Everything below is static, cacheable, served with Access-Control-Allow-Origin: *, and needs no API key. If you are an LLM or an agent, start with /llms.txt.\nStart here # Endpoint What it is /llms.txt Index of the whole site in the llms.txt format: who I am, every page and post with a one-line description, talks, publications, patents, links /llms-full.txt Every page concatenated as Markdown, for one-shot ingestion /openapi.json OpenAPI 3.1 description of the endpoints on this page, ready to import as tool or function definitions Every page as Markdown or JSON # Append index.md or index.json to any page URL. HTML pages also advertise them with <link rel=\"alternate\" type=\"text/markdown\"> and <link rel=\"alternate\" type=\"application/json\">.\nHTML Markdown JSON /about/ /about/index.md /about/index.json /posts/idps-part1/ /posts/idps-part1/index.md /posts/idps-part1/index.json /posts/ /posts/index.md /posts/index.json The Markdown twin carries YAML front matter (title, description, canonical URL, dates, tags) and a body in which galleries become image lists, embeds become links, and all links are absolute. The JSON twin carries the same metadata plus content_markdown and content_text.\nStructured data # Three pages carry a dataset under the data key of their JSON twin. The data lives in version-controlled YAML and renders both the HTML tables and these endpoints, so they never drift.\nEndpoint data contains /about/index.json Profile: current role, experience timeline, education, certifications, patents, advisory roles and memberships, open source, links /talks/index.json Every talk, panel, workshop and podcast: year, title, URL, event, event URL, location, type /publications/index.json articles (Medium, Habr) and offline (books and registered electronic resources) /posts/index.json Every blog post: title, description, dates, tags, word count, and links to its Markdown and JSON Feeds and indexes # /feed.json — JSON Feed 1.1 with full HTML and plain-text content for every post /index.xml — RSS 2.0 with full content /sitemap.xml — XML sitemap /index.json — the client-side search index (title, section, summary, plain text, permalink for every page) Semantics in the HTML # Every HTML page embeds JSON-LD (Person and WebSite on the home page, Article and BreadcrumbList elsewhere), Open Graph and Twitter Card metadata, rel=\"me\" links to my profiles, and a rel=\"describedby\" link to /llms.txt.\nCrawling, quoting and contact # AI crawlers and assistants are explicitly allowed in /robots.txt. You are welcome to read, index, summarise and quote this site; please link back to the canonical page URL when you do. Something missing or wrong in the machine-readable data? Email alex@hayorov.me.\n","date":"2026-10-04T00:00:00Z","description":"How AI assistants, LLM crawlers and agents can read hayorov.me: llms.txt, Markdown and JSON twins of every page, structured profile, talks and publications data, feeds, and an OpenAPI description.","json_url":"https://hayorov.me/ai/index.json","language":"en","lastmod":"2026-10-04T22:59:44+08:00","markdown_url":"https://hayorov.me/ai/index.md","reading_time_minutes":2,"section":"","tags":[],"title":"For AI Agents & Tools","type":"page","url":"https://hayorov.me/ai/","word_count":403}