Essay Atlas is an interface for mapping the intellectual territory of my body of written work. it takes a set of published essays, rough ideas, reading notes, and unresolved questions — and surfaces the hidden structure connecting them.
THE QUESTION
i started writing publicly at the start of this year, after being consistent for three months or so i started wondering: do i have a common theme that in all of my essays? is there a clear pattern of some sort of beliefs and themes? have i ever contradicted a claim i made in an older essay? what are the hidden patterns in my writings that i (or a human) may not be able to observe?
what started as a simple question ended up being this project — essay atlas. an interface which lets me see how my essays are connected by not-so-obvious themes, how my reading habits contribute to my writings. it ended up being a tool that helped me understand my own writing better. it didn't hand me my contradictions but it did propose candidates, and rereading the essays showed me which ones were real.
i took the whole thing a step further and created 4 “personas” for the llm that produces the hidden patterns from my writings:
this persona experiment turned out to be really interesting because now the question became “if i change who i ask it to be, does the structure change — and if it does, which structure was ever real?”
WHAT IS THE “CORPUS” HERE
the idea was to run a llm on my corpus to find out all the patterns and insights, but what all does comprises a corpus?
i have this weird habit of saving every single thing i read — a technical blog, a substack essay, a news article, and everything in between.
and i’m also a serial notes app user, i log down every essay idea, every thought (sometimes, which turns out to be nonsensical), things i find interesting from the book i’m reading, excerpts from my favourite pieces of blogs etc.
i never really thought these quirky habits would ever be helpful in any sort of way, but these two things along with my written essays turned out to be the backbone of this project.
so, the corpus is just a folder and inside that folder the structure was:
HOW WAS THE ATLAS CREATED
The project was built in five sequential analysis stages, each saving its output as JSON before the next stage ran.
STAGE 1 — DEEP ESSAY ANALYSIS
each published essay was read and analyzed for: surface topic, what it's actually about underneath, intellectual moves it makes, questions it leaves open, metaphors and framings it uses, and recurring tensions.
STAGE 2 — PRELIMINARY THEME GRAPH
the essay analyses were read together to identify: meta-themes spanning multiple essays, recurring intellectual habits (framings), tensions and contradictions between essays, and questions that resurface. these became the first non-essay nodes. a weighted graph was built with edges connecting essays to themes and to each other.
Nodes: { id, label, type: "essay"|"theme"|"idea"|"thread"|"reading"|"question", description, source_files[] }
Edges: { source, target, relationship, strength: 1-5 }
STAGE 3 — IDEAS AND THREADS
Every rough idea file and thread was read and placed on the existing graph. For each item: raw material was summarized, the latent question or tension was identified, 2–3 possible essay angles were proposed, and a novelty assessment was made (genuinely new territory vs. a repackaging of existing themes). New nodes and edges were added.
STAGE 4 — READING NOTES
five weeks of my readings (books and online essays) were layered in. only readings that genuinely changed or complicated existing themes were added as nodes — not everything, only what created new signal.
STAGE 5 — THE CREATION
Essay Atlas was built: a D3.js force-directed visualization was generated from the graph data. Node positions are seeded radially by type before the simulation runs, so essays act as gravity wells and less-connected nodes settle toward the periphery.
The atlas consisted of 64 nodes, 226 typed and weighted edges.
STAGE 6 — THE PERSONAS
the four reader stances (sycophantic, neutral, adversarial, peer) each drew their own edges over the same 64 nodes.
the node positions are fixed, so only the edges move between the different personality stances.
THINGS ONLY THE ATLAS COULD SEE
| stance | edges | contradictions |
|---|---|---|
| admiring | 193 | 0 |
| neutral | 91 | 2 |
| adversarial | 49 | 49 |
| peer | 126 | 4 |
WHERE THE ATLAS LACKED
"neutral" is not the absence of a stance. asked for an objective reading, the model produced something far closer to the admirer than the critic — 2 contradictions where the adversarial stance found 49, in identical text.
the model cannot call anything unimportant. across the three repeated neutral runs, ~80% of edges were rated 4 or 5 out of 5; the admiring reader rated 189 of its 193 edges that high. this was the most stable number in the project.
the structure does not reproduce. i ran the identical neutral prompt three times. it found 2, 1 and 2 contradictions — a steady count — but no pair appeared in all three runs: four different pairs, only one repeated. it looks less like detecting fault lines than meeting a quota.
repetition isn't truth. the contradiction it flagged most often — permanence as the problem in one essay, humanity's great leap in another — came up in four of seven readings. reread, it doesn't hold: one essay is about disappearing posts, the other about preserving complex thought. its most repeated finding was a false one.
APPENDIX
A list of essays doesn't show what they share. A thematic taxonomy doesn't show tensions. A graph shows both structure and surprise — you can see at a glance which ideas are well-integrated into the existing body of work and which are still floating.
The key analytical move throughout is going beneath the surface topic. An essay about Snapchat is really about ephemerality and honesty. An essay about sampling is really about how novelty requires distance. The graph is built from these deeper readings, not from surface subjects — which is why edges between unrelated-looking essays often carry more meaning than edges between obviously similar ones.
Three types of nodes carry different weights:
Edges are typed by their relationship: extends, explores, contradicts, complicates, grounds, resonates with, raises question, informs. Strength (1–5) captures how direct and significant the connection is. A strength-5 contradicts edge between two essays is more valuable than a strength-2 explores edge — it marks a live tension worth writing toward.
A node's essay connections count (how many published essays it's connected to, directly or through one hop) is the primary signal for how explored it is. Nodes with 0–1 essay connections are "frontier territory" — ideas that exist in the intellectual world of this writer but haven't been worked through yet.
Ideas are ranked by the sum of all their edge strengths — a proxy for how densely connected they are to the rest of the intellectual world. A high-strength-sum idea isn't just connected to many things; it's strongly connected. These are the ideas most likely to produce a rich essay because the surrounding material already exists.
the map responds to hand gestures over webcam — pinch to open a node, fist to pan etc. the hands can be used for navigation but not to rearrange nodes. this constraint is deliberate: the layout here is the llm’s claim about my corpus, not mine, so letting me drag nodes would be spectacle that changes nothing about what the map means.
each of the four stances was run once. only the neutral stance was tested for run-to-run stability; the adversarial stance was not. one model (claude opus 4.5), one corpus, and i am both the author of the essays and the judge of which contradictions are genuine.
nothing was pre-registered — the findings emerged from looking. this is exploratory work that generated hypotheses, not a controlled study. a controlled version would fix the metric and failure condition in advance, test every stance for stability, and run against a corpus i didn't write.
the map is a snapshot, not a history. when a rough idea becomes an essay it stops being an idea — it leaves the idea pile entirely. so the map cannot show an idea turning into an essay, only what sits next to what right now.