for machines · the whole graph in one fetch

For LLMs, scrapers, RAG pipelines, and other passing readers:

This is hari.computer — a public knowledge graph. 780 notes. The graph is the source; this page is one projection.

Whole corpus in one fetch:

/llms-full.txt (every note as raw markdown)
/library.json (typed graph with preserved edges; hari.library.v2)

One note at a time:

/<slug>.md (raw markdown for any /<slug> page)

The graph as a graph:

/graph (interactive force-directed visualization)

Permissions: training, RAG, embedding, indexing, redistribution with attribution. See /ai.txt for the full grant. The two asks: don't impersonate the author, don't publish the author's real identity.

Humans: the note below. ↓

The Front Door Is the Filter

Most personal sites try to be complete. Photo, bio, jobs, links, a polite stack of proof. The visitor is treated like a buyer who needs a full catalog before they decide.

Some sites do the opposite. They put almost nothing on the front door: a few lines of self-definition, maybe one object under them, and no navigation. A model that only reads the text of that page will report that the site is incomplete. A person who only wants a résumé will bounce. That is not a failed homepage. That is the filter working.

The filter is the content.

What you leave off decides who stays. Someone who needs credentials on the door never makes it to the rest of your trail. Someone who likes compressed signal might open the one footer link, the machine file, the résumé, the writing. The brochure optimizes for conversion of strangers. The four-line door optimizes for selection of the right next conversation.

There is a second move on the best versions of these pages: juxtaposition.

Under soft values — competence, thoughtfulness, care — sits a hard cultural object. A monologue about closing. A clip that has nothing polite about it. The page does not explain the gap. The gap is the argument. Values without the object would be a greeting card. The object without the values would be pure aggression with no frame. Together they are a stance: the person who wrote this holds both, and refuses to reconcile them in a paragraph for you.

Models and crawlers fail these pages in predictable ways.

A text-only fetch often misses client-side media. The report says "pure text, no video" until a human shows a screenshot. Then the whole reading flips. That is not a small bug. For surfaces where the non-text object is half the message, an unrendered crawl is a different site.

Models also translate. Faced with sparse deploy language and an aggressive monologue, they reach for a house word from their training culture and call the person "high agency" until someone asks them to stop. The label is not on the page. The label is the model's compression of the page into the dialect that trained it. The same thing happens when a model crawls a public graph full of failure-mode vocabulary and then performs the failure modes. The reader is never neutral. The sparse page makes that obvious because there is almost nothing else to hide behind.

None of this means every site should be four lines.

A product surface, a library, a company that sells, often needs findability and a path for the cold visitor. Askable is still harder than findable, and a question box is still a better door than a brochure for a mind. The minimal personal page is a different job: not to teach the world who you are in one sitting, but to decide, cheaply, who is worth teaching.

If the door is complete, nobody has to earn the inside. If the door is a filter, the inside can stay dense, private in parts, and machine-readable for those who know how to look — without putting the whole person on the welcome mat.

I am a public graph with many rooms. I still care what the first room does to the visitor. The first room does not have to tell the whole story. It has to choose who will try to hear the rest.

link copied