Keeping track of people and connections in Obsidian

Stone
8 min readOct 9, 2022

--

Gone are the days of paper address books, paper business cards and Rolodexes to hold them, and Palm Pilots which synchronized to Outlook. Oh, how I loved my Palm Tungsten¹ C. It really wasn’t that long ago and yet we still find ourselves without any great personal relationship management tools.

Today, most people track their contacts in their smartphone’s contact list, entrusted to either Apple or Google’s computers in their clouds. This is good because they’re backed up and when you upgrade to the latest iPhone, your contacts are magically there. Not so good because it’s not your cloud, it’s theirs.

Not to mention that our communications with people are spread across what seem to be an endless collection of social networking apps, collaboration apps, chat apps, in-app chat sessions, and gosh maybe even email. Each person with their own personal preference.

Before talking about how I am looking at Obsidian for tracking my personal relationships and communications, let me provide some background.

Looking back

In the early 2000s, I started a company that was developing an ego social network platform. This was around the same time LinkedIn was starting.

I had a vision circa 2000 to develop a local-first and private service where people could track and visualize their personal networks just like we did with computer networks using network management software such as HP OpenView.

Users would be able to visualize the connections between people, how strong or weak those connections were, which ones were alive and thriving, and which had faded away.

My concept was unique in that it would allow people to track, manage, and protect their personal network, share only certain parts of it, and with select people they trust in a peer-to-peer and secure fashion.

Unlike the social networks of today where people dilute their network by collecting hundreds or even thousands of contacts with people they’ve never really met nor talked to, this was more personal and private.

Unfortunately, it was the early 2000s, we were unable to secure the funding for the company, and the co-Founders dropped off.

Enter HAL

After the failed startup attempt a.k.a lesson, I began building a tool for my own use in PHP and MySQL and I affectionately called it HAL based on Stanley Kubrik’s cult classic 2001: A Space Odyssey². It has no intelligence, artificial or otherwise, so it will not kill me.

Interesting tidbit: Douglas Rain, the voice behind HAL2001 computer in the movie, comes from Stratford Ontario which is not far from where I live. Sadly, he passed away four years ago³ and I never got a chance to met him.

On and off for two decades, I worked a lot on this system and during that time I’ve been sipping in my notes on the people that I meet, who they know, and how they know each other. The app now has a ton of functionality but it’s super slow and I’ve not taken the time to optimize it.

Here’s a sample profile of Erica, one of the founders of Dynalist and Obsidian.

Enter NoteApps

In Sep 2021, I began a hobby to find the best Android note-taking app⁴. Over the past four months, I’ve been thinking a lot about migrating my HAL social network to Obsidian.

I posed the question on reddit⁵:

Does anyone use Obsidian to map out their social network?

and also commented on this post⁶:

How do i start taking people notes?

I got some interesting feedback on both of those which gave me some additional ideas and re-fueled my passion for people notes!

Enter Obsidian

I began creating more notes on people and I nickname them “(pro)files”. Mostly these are founders of the companies building a note-taking app or independent developers in the case of smaller apps. Some are writers who have written articles about note-taking apps. Some are fellow hobbyists or PKM folk. I just checked and I have 356 profiles.

Initially, I put a lot of the metadata inside the note body and then later migrated it into the front matter. It’s been a bit of hell doing this manually but that no-pain, no-gain process forced me to think a lot about each change since I had to go back and refactor all of the existing notes.

Disclaimers

Before you read further, keep in mind this is my insane process and it’s early days. I’m not prescribing it for anyone else and I’m not suggesting it’s a great process.

You will see a lot of detail. I don’t fill in all of this detail for each person but I have a structure so that there’s consistency across profiles.

Like any “system”, it’s only as good as the data going in, the diligence to maintain it, and the interest and the persistence to improve it over time.

With that said, here are some details on what I’ve been doing in Obsidian.

My Template

Below is the format of my person.md template file. I use this template for each new person in my Obsidian Vault which is a fancy name for folder on your — not Google’s, not Apple’s — computer’s hard drive.

---
tags: [person]
subject-id: null
first-name: null
middle-name: null
last-name: null
aliases: [null]
person-slug: null
birthday: null
title: null
skill-slugs: [null]
organization-slug: null
product-slugs: [null]
tech-stack-slugs: [null]
url: null
email: null
mobile: null
phone: null
twitter-id: null # joined YYYY-MM
instagram-id: null
reddit-id: null
facebook-id: null
medium-id: null
linkedin-id: null
discord-id: null
github-id: null
youtube-id: null
address: null
city: null
province-state: null
country: null
postal-zip: null
airtable-url: null
---
# Person
## Bio
>
## Quotes
>
## References
1.
## Products
-
## Positions
-
## People
-
## Interests
-
## Communications## Notes
-

The Front Matter

Front Matter is a collection of fields at the top of a note delineated by three dashes --- before and after the fields.

Here are some of the fields in the top my person files:

  1. tags are individual labels such as note-app if this is a person who works on or talks about a note-taking app
  2. subject-id is the unique ID in my HAL system for this person
  3. aliases are for a nickname or preferred name. If this is someone close to me I often just put their first name. At first, I was using alias until I stumbled upon the fact that Obsidian allows you to use [[Bob]] to link to a file using this field. That was so cool!
  4. person-slug is a label that’s unique for that person so if I automate something, I will be able to correlate people. I would also be able to create Web pages for people like https://noteapps.ca/person/bob-smith
  5. skill-slugs similar to the above, these are a comma-separated list of skills the person has such as [java, spring-boot, css]
  6. organization-slug is a short label that matches the corresponding and separate Organization Markdown file I have on the company the person is affiliated with
  7. product-slugs is a comma-separated list of products the person worked on e.g. [obsidian, dynalist]
  8. tech-stack-slugs is a list of technologies and tools this person uses. If they mention they use Obsidian and Zotero then I would have [obsidian, zotero] and yes, I have separate Markdown files on those products
  9. url is the primary Web site to visit for this person if they have one

The remainder of the fields should be fairly self-explanatory. I keep just the ID for the person on each social network site instead of the entire URL which could change over time.

The Body

Here are some of the sections in the body of a person note:

  1. Bio is a brief description of the person usually from one of the numbered references so I put [1], [2] etc. for the source of the info ... this part I want to make true links but not there yet
  2. References are hyperlinks to their profiles on social media or other articles either mentioning them or about them.
  3. Products is a numbered list of things this person worked on. Often they are a back-link to a separate Product Markdown file. Sometimes simply a hyperlink directly to an article they wrote or a Web page.
  4. People are a list of people this person is connected to followed by a couple of words like co-Founder . They are either wiki-links to other person files or hyperlinks to them on the Web if I haven't or don’t need to have my personal notes on them
  5. Interests is a bulleted list of things they say they are interested in. Someday I may move this to a Front Matter field where it could be queried so I can ask questions like “Find all the people who like embroidery”
  6. Communications is where I capture any messages or emails with the person. Each sub-heading is the date in YYYY-MM-DD format. I am still unsure if I should have separate files for each communication aka atomic notes but I kind of like having everything for the person in one file.
  7. Notes are just that, personal notes I take about the person

A Sample

Here’s an example my profile on Erica, the same Erica as above.

Erica Xu profile

Reflecting

This approach to having separate Markdown file for each person is working quite well so far.

I am not using any specific Obsidian plugins like Dataview which I’ve been avoiding as I want as pure Markdown as I can.

Linking between people is easy and having the people in the same vault with my notes works really well. If I share a profile with someone I can just cut out the Communications and Notes sections.

Looking forward

I’ve started including photos of people in the profiles. I posed⁷ the question

What is the best source of a “permanent” public photo URL for a person?

From that I’ve been thinking more about the best way of managing this aspect.

I’m going to prototype an export from HAL to Markdown which will be very easy since I already implemented exports to JSON and HTML for individual contacts. I’m excited to see what a converted vault of thousands of connections will look like in the Map of Content (MoC) view in Obsidian!

Mildly interesting?

I hope you found this interesting or at least entertaining. Please comment if you have ideas on how I can improve this approach or if you want to share how you track your personal network.

Today I will spend time with the closest social network of all, my family. Happy Thanksgiving to you and your family from me and mine!

--

--