by Jordan Fulghum, March 2026
My genealogy has always been spotty. Names passed down through word of mouth, half-remembered stories, a few dates. I've always wanted to fill in the blanks, but genealogy research is slow, manual detective work. You chase records, cross-check names, and hope you don't go down the wrong path.
A few days ago I came across autoresearch-genealogy by Matt Prusak. It's heavily inspired by Andrej Karpathy's "autoresearch" idea, which is simple: you give an agent a metric, you give it tools, and you let it run until it optimizes that metric. Autoresearch-genealogy is a lighter version of that pattern. It uses Claude Code and instructs it to hit a minimum number of iterations to optimize for a metric on a scoped basis. Same philosophy, just easier to get going.
The project itself is a set of prompts, guidelines, guardrails, and helpful resources that the agent can use, plus a templated Obsidian vault that gets filled in over time with everything from immigration records to DNA tests.
I wired it up and gave it a starting point: a family tree with fewer than 10 names.
After a few sessions, the agent expanded that into:
My oldest confirmed ancestor traces back to an early Jamestown settler, a man named Holt, mentioned in Adventurers of Purse and Person, the definitive record of Virginia's first colonists.
More interesting than the tree itself is what sits behind it: census records, death certificates, DAR applications, church records, newspaper clippings, and even conflicting accounts. Each person is a file and each claim is tied to a source. It's really more like a graph of evidence than a family tree.
Most of this is only interesting to me, but a few stood out:
Everything lands in a markdown vault: one file per person, links between people, embedded sources, explicit unknowns.
Claude also built a small Next.js app on top of it so it's actually usable: browse by family line, search across people and places, click through relationships, basic tree visualization.
I deployed it on a tiny Cassette instance so I could share it with family.
I had Claude try a few different genealogy tree JavaScript libraries, and I didn't like any of them. So I just said "forget it, make your own." And it did. It wrote the SVG from scratch that visualizes my entire family tree from the 16th century to now.
It's not perfect. Records get sparse fast the further back you go. Names shift, spelling changes, people disappear and reappear. Entire branches can look "correct" and still be wrong. The agent helps by flagging single-source claims, preserving conflicts instead of flattening them, and logging failed searches, but you still need judgment.
I want to push this further: add 23andMe data and see what aligns or breaks, pressure test weaker branches, and keep extending lines with stronger sourcing.
I found this genuinely addicting because there's always more. Every branch has a parent. Every dead end might just need a different search. You can always go higher up the tree. And you'll be surprised by what the agent finds. I keep being.
If you want to try it: autoresearch-genealogy, a markdown file, and some patience. That's enough to get started.
Follow me on Twitter for more.