I Had 8,000 Conversations With AI. So I Built a Search Engine Over Them.
Three years of ChatGPT history is the densest personal dataset I own. Pointing a retrieval pipeline at it taught me more about memory infrastructure than about myself.
Jun 2026
My ChatGPT export is the densest dataset I own about how I actually think. 8,176 conversations. 84,057 messages. Three years. I pointed a retrieval pipeline at it — chunking, embeddings, semantic search, a classification pass — mostly to see if I could build a decent one. The pipeline worked. What it surfaced changed what I build.
The export is worse than you expect
The archive arrives as one enormous JSON file, and the first surprise is that conversations are not lists. They are trees. Every regenerated answer and every edited question forks a branch, and only one path through the tree is the conversation you actually had. Flatten it naively and you index text you never read, answers that were rejected, questions that were rewritten. Before any of the interesting work, you are resolving active paths through a structure the UI never showed you.
That set the tone for the whole project: the data model of your own history is not what you remember it being.
Labels lie
My classification pass tagged 82 conversations as emotional support. Reading the clusters showed at least 300 more that belonged there, filed under career advice, learning, brainstorming — because that is what I had believed each conversation was about when I started it. The declared topic of a conversation turns out to be unreliable metadata. What a person thinks they are asking and what they are actually asking diverge, and the divergence is itself the most informative signal in the corpus.
This generalizes. If you build retrieval over human conversations, do not trust the human's framing as ground truth. Classify from content, keep the human's label as one more feature, and pay attention where the two disagree.
Search finds threads, not documents
The behavior that surprised me most: semantic search kept connecting conversations my own filing had kept separate. Two conversations weeks apart — one filed as philosophy, one as career frustration — sitting next to each other in embedding space because they were the same underlying question wearing different vocabulary. No amount of rereading would have found that. The index did it instantly.
A conversation archive is not a pile of documents. It is a small number of long-running threads, chopped up and mislabeled by the person who lived them.
The rediscovery tax
The pattern that actually stung: the same questions, rediscovered every few months, each time as if new. The vocabulary sharpens between rounds. The underlying loop does not move. Watching a search engine stitch three years of that together makes the cost undeniable — you are paying for the same insight over and over, and each payment feels like progress because you forgot the previous receipt.
Reading three years of your own unfiltered thinking is uncomfortable in a way search results are not supposed to be. I will leave it at that.
What it changed
This experiment is a large part of why memory infrastructure became my main work. Three years of thinking sat in a folder and taught me nothing until I built an index over it — and by default, everything I produce keeps accumulating in exactly that shape. Un-indexed, mislabeled, disconnected. A person re-derives. Nothing compounds unless a system makes it compound.
So now the studio runs on the opposite assumption: every project writes back what it learned, the record is indexed as it grows, and the next project starts where the last one actually ended — not where I remember it ending.
The search engine did not make me wiser. It showed me how much I re-derive. That is not a self-improvement problem. It is an infrastructure problem, and infrastructure problems have solutions.