
What is it?
In Germany, almost every child in kindergarten or primary school has a Freundebuch – literally a “friends book”. It is a bound book with a pre-printed page for each friend. You pass it around, and every other kid fills in a page about themselves: phone number, address, and their favourite things. At the end you have a book full of your friends. The closest English-speaking equivalent is probably the slam book.
As grown-ups, we stop doing this. So I built a piece of software that lets me keep that book myself and helps me keep up the friendships I have. That is also where the name comes from: Freundebuch (say FROYN-deh-bookh) is a friends book for grown-ups. The difference is that this time, I write the pages myself. And I need it, because I am terrible at remembering birthdays, addresses and phone numbers. I still know my parents’ landline number from when I was a kid (it was disconnected a long time ago), but that’s about it.

Why bother?
For quite a while I used Monica, a piece of software that does more or less the same thing. Over time, though, new features arrived and bugs got fixed too slowly for my taste. There is a rewrite, but it focuses on journaling rather than on contacts. The last straw was a bug in the CardDAV interface: every sync duplicated the contacts on my iPhone.
So I grabbed Claude Code, an AI coding assistant. First I wrote user stories, then more user stories, and only then did I start building. I have been working on it for a little over a year now, and I am very happy with it. These days I use Freundebuch every day, and when I find a bug, I usually fix it quickly.
What isn’t it?
Freundebuch is deliberately not a CRM. I don’t manage customers, leads, quotes or invoices. It is about friends and the time I spend with them. That is why Freundebuch says “friend” and not “contact” – “contact” sounds like sales.
Freundebuch is not a social network or a messenger either. I don’t post anything there, and I don’t chat with anyone there. Nor does it replace actually talking to people: Freundebuch reminds me of a birthday, but I still have to pick up the phone myself.
And Freundebuch is not software that does everything. A feature only gets in if it helps me stay connected with my friends. My data stays with me: I can host Freundebuch myself, and it builds on open standards such as CardDAV and MCP. Whether I share my data with a language model is my decision. Freundebuch is not off-the-shelf software either: I build it myself, so it works exactly the way I need it to.
What can it do?
The heart of Freundebuch is a friend’s page. It holds everything I want to know about a person: their name and how to address them, where we met, addresses, phone numbers, email addresses and social media profiles. On top of that come important dates such as their birthday, and the stations of their career.
Hardly anyone stands alone. People belong to a family, are members of a club or work for a company. For groups like these, Freundebuch has collectives. A collective gathers its members and has data of its own, for example the shared address of a family. Circles are looser: with them, I record which group of friends someone belongs to.
But an address book with a memory knows not only who someone is, but also what we did together. So after we meet up, I log an encounter: who was there, when and where we met, and a few sentences about it. The next time we meet, I still know what we talked about last time.
This data doesn’t stay locked inside Freundebuch. Via CardDAV, my friends end up in my iPhone’s address book. Every day, Freundebuch reminds me of birthdays and other important dates in Element, Discord or Telegram. And through an MCP server, a language model can work with Freundebuch too: it logs new encounters or looks up what it needs to know about a friend to give a good answer.
That leaves the controls, and you can do all of it without a mouse. Almost every action has a keyboard shortcut: e edits, g f jumps to the friends list (“go to friends”), and ? shows all shortcuts. If you do reach for the mouse, Freundebuch shows you which shortcut would have done the job.
Try it
Have a look at the demo site, or host Freundebuch yourself. The self-hosting guide walks you through every step. Freundebuch needs relatively few resources and is easy to run with Docker Compose.
If you have questions, feel free to drop by my Matrix channel.