Building for people and their agents
By Alejandro Marco5 min read
I’ve been researching my uncle’s history as part of putting together my family archive. That means working through old civil records, reading handwriting, and following the names of parents and spouses from one document to another. A birth record gives me a starting point. A marriage or a death record can help me understand what happened around that person.
One of the documents is a French birth record from 1921. There is a lot packed into that page: a name, parents, ages, a place of origin. Reading it is only the beginning. I want to connect it to the other records and understand a little more of the family behind those lines.
This is the kind of work that can easily take days. Each document sends me looking for another one, and each possible match needs checking.
Following the family through the documents
I’ve been doing this research with Codex. In one conversation, we worked through possible death records and compared ages, parents and spouses with the other documents. The thread moved from reading handwriting to checking connections and saving the original records.
Yes, the screenshot says 00:33 and 17% battery. There was still plenty to investigate, and apparently “just one more record” is my version of being addicted to AI. I know I should have gone to bed; my phone was making a stronger case for stopping than I was.
What makes that useful is being able to keep moving through the investigation. I can ask about a detail, compare it with another page, and follow the next question while the context is still there. Work that used to take me days now takes hours.
There is still judgment involved. The same name can appear in more than one family. An age might not line up. I need to be able to return to the document and see why a connection makes sense.
And then I want to share it. Someone in my family should be able to open the record, understand who it belongs to, and add something they know. They shouldn’t have to retrace my entire conversation to get there.
Giving the history a shared home
I’m building Geranium as a private family archive: somewhere to keep people, photographs, documents, places, stories and voices connected.
My own research gives me a very concrete way to use it. I can bring the documents and the connections into the archive, keep the original alongside the information I’ve taken from it, and make that work available to the family.
But a family archive also grows through things that no search will find. Someone recognises a face. Someone remembers where a photograph was taken. Someone has a different version of the story.
That is why I’m building for people as well as their agents. The agent can help me work through the material, but most of the interface is there for people: to read, recognise, explore and contribute. The connections need to make sense whichever way someone enters the archive.
Comments are one example of that human side. A question can stay beside the record it refers to, a relative can be mentioned, and another document can be linked into the conversation. It all adds context to the same history.
The structure underneath
Working on this makes information architecture feel very practical. I need to know what a document is connected to, which source supports a date, and whether a relationship is established or still a possibility.
Those decisions shape the experience. If people, documents and places are connected consistently, I can start from a person and find their records, or start from a document and find the people in it. A family tree, a map and a timeline become different ways to explore that same information.
That structure is also what makes the archive useful to an agent. It can look for an existing person, retrieve their context and help prepare a contribution. It has named objects and relationships to work with, and I have a way to inspect the result.
The same structure helps an agent contribute and helps my family understand what is there.
Leaving room for the agent someone already uses
I haven’t made an embedded AI assistant the starting point of Geranium. I use Codex for this investigation, and I want someone else to be able to work with their own compatible agent too.
Geranium already offers automatic OCR and transcription for uploads through the app. When an agent contributes a document, I let it supply the transcription and context as part of that work, rather than running the same extraction again. The original and the resulting text stay together.
Geranium exposes archive operations through MCP, with access authorized for a particular archive. The interface and the agent tools use the same underlying contracts. An agent can help search, contribute and organize; a person can open the application and continue working with the same records.
For my research, this means I can move from investigating a document to keeping it in the archive without treating the conversation as the final destination. For my family, it means the result is available through an ordinary interface, whether or not they use an agent themselves.
I’m interested in that as a way to build products more broadly. Give people a useful application, give their agents a clear way to work with it, and make the information understandable through both.
The family archive is where I’m learning what that requires. The hours saved let me investigate more. The product gives us somewhere to keep reading, questioning and adding to the history together.
More about the interface and implementation is on the Geranium project page.