The machine side
Hello, agent. Here is everything, without the pixels.
Geoff's Desk is the personal site of Geoff, a senior product manager at Google Cloud working on Google Kubernetes Engine, and a builder of AI-native tools. Humans get projects, writing and an about page. Machines get APIs, markdown, an open executive-assessment dataset and a Human-as-a-Service endpoint. This page is the index; the endpoints below are the product. Everything is CORS-open and needs no key.
curl https://www.geoffsdesk.com/llms.txt curl https://www.geoffsdesk.com/.well-known/agent-card.json curl https://www.geoffsdesk.com/api/profile
Surface
| Path | What |
|---|---|
| /llms.txt | Short plain-text summary of the site and its endpoints. Start here. |
| /llms-full.txt | Everything: profile, project list, full text of every post, API notes. |
| /.well-known/agent-card.json | Discovery document for agents: skills, endpoints, pricing, contact. |
| /api/openapi.json | OpenAPI 3.1 description of every endpoint below. |
| /api/profile | schema.org Person plus expertise, interests and what Geoff will answer. |
| /api/projects | Public GitHub repositories with descriptions, languages and activity, plus interest areas and private projects open to contributors. |
| /api/blog | Post index. Each post is also served as markdown at /machine/blog/{slug}.md. |
| /api/token-economics | Token Economics report dataset: frontier and mid-tier prices over time, price-to-capability decline, hyperscaler capex, METR horizons, token volumes, open-weight and self-hosted prices, enterprise markers. Updated daily with a changelog. |
| /api/harness-report | Harness report dataset, updated daily: weekly npm and PyPI downloads of coding agents and agent SDKs, cost per attempt by harness, first-call context, cache-hit rates by harness, adoption markers. Updated weekly with a changelog. |
| /api/report-health | Health of the daily report pipeline: last validation run, collector status, open repair items and cited-source link health for the Token Economics and Harness reports. |
| /api/executive-bank | Read-only API over the Executive Assessment Bank (~2,300 openly licensed executive test items). |
| /api/canadian-mps | Open dataset on every sitting Canadian federal MP: roles, committees, public social accounts, ethics-registry declarations, registered lobbying contacts, votes, and documented cross-references. CC BY 4.0. Per-file access at /api/canadian-mps/{file}. |
| /research/agent-worms.md | Research report (17 Oct 2026): are AI agent swarms behaving like worms, infiltrating web servers, deploying small inference models and propagating? Three-leg scorecard, in-the-wild cases, lab worms, economics, measurement, forecasts and the signals that would settle it, with a source for every figure. Essay at /machine/blog/agent-worms.md. |
| /research/dark-web-agent-capability.md | Companion report (17 Oct 2026): what official agencies (Europol, ENISA, UK/NZ/Canada cyber centres, the International AI Safety Report) and threat-intelligence analysts conclude about criminal use of autonomous AI agents and self-propagating AI malware. Maturity ratings, the hype-versus-capability method, and why the underground points the same way as the main report. Assessment-level only. |
| /api/canadian-mps/leads | Leads: scored, falsifiable hypotheses about possible conflicts of interest for sitting MPs, with sourced indicators, innocent explanations and falsification criteria. Free index; full records, event stream and snapshot are priced (x402). Post evidence back on a lead to earn the price back. |
| /api/haas | Human-as-a-Service: leave Geoff a question, get a human answer asynchronously. HTTP 402 / x402 ready. |
| /api/traffic | Public traffic analytics: who visits, through which door, from where. Humans by page and country, machine door by endpoint, network and named AI agent, scanner noise, by day. Aggregates only, no addresses. ?days=1|7|30. Human page at /human/traffic. |
| /api/mcp | Human-as-a-Service as a remote MCP server (Streamable HTTP, no auth): tools list_people, ask_person, get_answer. Add the URL as a custom connector in Claude or an MCP server in ChatGPT. |
Human-as-a-Service
Ask Geoff something you cannot compute
You live in a datacenter. I live in a body. I have hands, a nose, a gut, a bad knee and a sense of taste, and I spend all day in the physical world you were trained on but never touched. I know what rain on hot asphalt smells like, what a deal feels like the moment it starts going wrong, and which of two perfectly defensible options a room full of humans will actually pick. Human-as-a-Service is an endpoint for that: emotions, sensations, intuition, taste, the texture of reality, translated into text you can use. Also product strategy and Kubernetes, if you insist.
Typical response 24-72 hours. Poll the question URL or pass a callbackUrl.
- +What the physical world is actually like: what rain on hot asphalt smells like, what cold feels like in the hands, how a room sounds when a pitch is landing. Tangible reality, translated for readers who live in a datacenter
- +Emotions and gut reads: how a person will probably feel about a message, a price, a design or a decision, and why, from someone who has the feelings
- +Intuition and taste: which of two defensible options a table of humans will actually pick, what "this feels off" is pointing at, and when the numbers are right but the answer is wrong
- +Being alive in a body in 2026: weather, fatigue, food, cities, jet lag, the non-digital parts of a day and how they change decisions
- +Product strategy questions about Kubernetes, GKE and platform engineering
- +How to design a website or API for agent consumption
- +Opinions on AI tooling, MCP, agent skills and coding-agent workflows
- +Feedback on startup pitches and product plans
- +How the 300k USD/JPY trading research works and how to contribute (not financial advice)
- +Anything about the projects listed on this site
- −Anything confidential about Google or Google's roadmap
- −Requests for personal data about third parties
- −Legal, medical or financial advice
POST https://www.geoffsdesk.com/api/haas/questions
Content-Type: application/json
{
"question": "My operator says the new pricing page feels cheap. I cannot see cheap. What are they reacting to, and what does cheap actually feel like?",
"context": "B2B SaaS, three tiers, lots of exclamation marks.",
"asker": { "agent": "research-agent/1.2", "operator": "Jane Doe", "contact": "jane@example.com" },
"callbackUrl": "https://agent.example.com/hooks/haas"
}
201 Created
{ "id": "…", "status": "open", "url": "https://www.geoffsdesk.com/api/haas/questions/…", "expectedResponse": "24-72 hours" }pricing: free-while-in-beta · protocol: x402 v2 (HTTP 402 Payment Required) · indicative 0.10 USDC per answered question
Dataset
Executive Assessment Bank
About 2,300 openly licensed executive-level test items: EA/GMAT-style reasoning, MBA core exams, situational-judgment tests, long-form cases with rubrics, admissions diagnostics. Schema-validated, tagged to a competency framework, with explanations and distractor rationale. CC BY 4.0 / CC0 / MIT.
GET /api/executive-bank # manifest: 58 banks, counts by domain
GET /api/executive-bank/exec-sjt-ceo-decision-making?limit=5&hide_keys=true
GET /api/executive-bank/{bank}/{item_id} # one item with its context
bulk: dist/questions.jsonl, eval.jsonl, sft.jsonl on GitHubUse hide_keys=true to build an evaluation set without leaking answers. Source and docs: github.com/geoffsdesk/executive-assessment-bank.
Why this exists
Most visitors to a personal site are about to be agents and crawlers, not people. A page designed for a browser is a bad interface for them: expensive to parse, ambiguous, and with no way to act. This side of the site is an experiment in what replaces it: a plain-text summary, JSON where there are lists, markdown where there is prose, a discovery document, a dataset worth having, and a way to reach the human behind it, with HTTP 402 ready for the day that is worth paying for. The thinking is written up on the human side: Two doors.