Using AnyType to become a better friend

I ended up trying out AnyType in my quest to become a better friend.

As life progresses I find myself interacting with my friends less than I’d like to. What once was simply going down to the park and meeting all of my friends every day is now an active effort. Between tight schedules and always having something urgent to deal with, friends who are out of sight often fade out of mind. Worse yet, by the time we do get to catch up, I often find myself forgetting what they told me the last time we talked. What I would like is the ability to keep track of interactions with friends in a way that will solve both problems.

What I have in mind is writing a memo after each interaction (i.e., phone call/meeting a few friends in a bar). This time-stamped memo will then show on the “contact card” object for each friend it relates to, so that I will be able to have a full log of all interactions with a particular friend. (And if I met 3 friends in a bar, the same memo will show for all three.) That way before meeting with a friend I can quickly see what was important to note, and seem like a super-hero that remembers everything. But then, I also need to remember to schedule to meet. For that I need a directory page (“Friendship tracker”) that will display all contacts based on the last interaction date. If I haven’t interacted with a friend in a month they will be bumped to the top of the list with a visual cue indicating that I should give them a call. If I haven’t interacted with an acquaintance in a year, the same will happen. (And, of course, also a reminder on the directory page for birthdays.) Having this all sync with my Proton calendar would be terrific, but probably impossible in the foreseeable future.

I was about to work on such an implementation in Notion, and it seems that it could work, but I don’t like the idea of providing a SaaS company with personal, private data – let alone the concern that it’ll be gone in a couple of years for one reason or another. Obsidian was the next stop, but the learning curve for a non-coder is too steep (especially because everything regarding databases involves workarounds and plugins and code). I’m about to try to build such a database to make me a better friend using AnyType. I hope I’m in the right place.


I have that exact same goal for my use of Anytype (among other use cases like grocery lists).

I think you should be able to make something like a friendship tracker in Anytype. Disclaimer: I’m thinking this out “live”, so this might not be the best approach:

  • You can start by creating “Human” Objects for all people that you want to track.
  • Next, you can create some custom Relations that define the kind of, well, relation you have to these people. I can imagine you need to create quite a few of these relations like “partner”, “co-worker”, “friend”, “parent”, “child”, “neighbor”, “nephew”, etc… Note that you need to create both directions of the relation in the case it is not an “equal” relationship. For example, “co-worker” can be equal: if person A is a co-worker of person B, then person B is a co-worker of person A, while if person C is a parent of person D, then person D is a child of person C. These relations need to be added in both Objects. In the first example, Relation “co-worker” needs to be added in both Objects “person A” and “person B”. The upside of this elaborate approach is that you see the correct Relations in the Graph :slight_smile:

Once you have created and linked all people you want to track, you can create the building blocks for the tracker:

  • You create a custom Relation called something like “Appointment Date” to track when you met someone
  • You create a custom Relation called something like “Linked people” to track who you met
  • Feel free to suggest more Relations to be added to the Appointment Type like tags and other metrics you want to track
  • You create a custom Type called something like “Appointment” to hold all notes of the (planned or past) appointment with someone. Link the Relations you created to track appointments to the Type. Also create a Template to make sure you don’t have to start from scratch every time you want to create a new Appointment, but you can immediately start filling the metrics.

Now you can create the tracker itself.

  • Create a Set with Query for Objects of Type “Appointment”
  • Add the Appointment Date and Linked people Relations to the Set
  • Create a View called “Upcoming” with a filter on Appointments that have an Appointment date that is “on or after today”
  • Create a View called “Past” with a filter on Appointments that have an Appointment date that is “on or before today”

Now, the part that I am unsure about, is how to effectively prepare you for your next appointment.

  1. One way is to create a new View to the Appointments Set you already made for every person you want to track. If it’s about a handful of people, I think Views in the existing Set is doable, but if the list is long, then you end up with many Views. In this View you would filter on the relevant person (“Linked people is in [Human Object]”) and sort descending on Appointment Date to show all appointments with that person with the last notes at the top.
  2. Another way, in the case you want to track a larger number of people for which the VIew-option might not work great is to create an Inline Set inside the Human Object with a Query for Appointments just like the earlier mentioned Appointments Set. This would result into one Set for every person you want to track as a Set is created in the background when you create a new Inline Set. That is not necessarily bad, but just something to keep in mind. You can then just open the Human Object of the person you are meeting to see an Inline Set with all appointments (just sort on Appointment Date and filter on Linked People like in the other Set. You will need to adjust the filter of the Inline Set for every new Human Object you create.

Edit: you can combine the two options above! If you start out with a “main” tracker Set with the View “Upcoming” and “Past” you can then use that Set as a source for your Inline Set inside the Human Objects. Changes to Views you make inside the Inline Set are NOT synced back to the source Set, so you can then delete the Upcoming and Past Views and create a new View with a filter on the “Linked People” Relation and then sort descending on Appointment Date

Disclaimer: not everything I describe here is fully tested (it’s in development) and it is of course up for customization to your liking and needs! Looking forward to hear from you how you tackled this one.

PS: I know the team has ambitions to supercharge users by allowing these kinds of use cases to be bundled into a pre-made solution that can be shared with other users on a marketplace, so they get the Types, Template, Relations, etc. that they need in a ready-to-use format :smiley:

The “end” result

Note: I used slightly different names for Relations and Types here and there because I wanted to reuse those, even though I find the names in the topic above better fitting.

The “Appointments” Set

Upcoming appointments

Filters set for this View


Past appointments

Filter set for this View


Opening an appointment where you can write notes (maybe I need to split this into two sections: one as preparation with a summary/talking points, and one for notes of the appointment itself)

Opening the Human linked to the appointment where you can see the relationship we have (we are co-workers) and the appointments we have/had

Filters for this View



You made many great points, and I’m sure others here can think of more details to make such a setup even more productive and efficient. I’m not sure I understood all of it, and I’m worried that’s a sign AnyType at this stage is a bit like Obsidian: a great potential, which can be fulfilled if you’re also coder and have enough free time to wrestle with it.

One minor practical note though: creating an advance note for an appointment might be relevant for a super-important business meeting that requires extensive preparation. The only possible prep I need before meeting a friend is just seeing what we talked about in the past.


@sambouwer This is great!

Please share it in the show-cases once you’ve dialed it in.


@sambouwer and of course, if you need anybody to help you QA/test a prototype as you develop, I’m readily available. I’m afraid that I’m not capable of actually building this, only dreaming it.


There is a piece of software called Monica that attempts to solve this use-case. Their solution regarding reminders/tracking is to have a reminder for each contact. Presumably that is another approach: each time an interaction object/memo is created it creates a reminder that will show X days later.

I’m not venturing into Monica for two reasons. The first is that I hope AnyType will be useful also for other things, and I’d rather minimize the amount of different software I use. The second is that I worry that ten years from now it risks becoming obsolete once the developers move on; I need software that will be built in such a way that even when it becomes obsolete my data can be migrated.


The addition of the calendar was a great step forward to achieve this.

Backlink display is already in the works, which is also very promising. I’m already writing meeting summaries assuming this will work as I imagine it. (There’s an aunt I meet every 4-8 months, it makes me feel like I have a superpower when I bring up in the conversation something she mentioned the last time we had coffee.)

The one element missing is formulas/functions (so I can have a relation change after X days), and I hope to find it due for Q1/Q2 of 2024 once the roadmap is out.


Those and notifications. All coming in the foreseeable future :raised_hands:

I’ve been thinking about this lately, as to how it could be fleshed out into a full blown use-case for our Experience Gallery.

For many, this isn’t just about becoming a better friend; it’s about finally becoming the friend our friends truly deserve.

While most people have good intentions, they often get so caught up in their own concerns that they forget to be thoughtful and considerate in the most basic of ways, and never develop these traits. They simply have no faculty for it.

This use-case could provide an opportunity to gradually embody the “paragon of virtue” through small, actionable steps. By consistently incorporating thoughtful gestures into our interactions, we can cultivate a positive and virtuous presence in our circles.

The accumulation of these small acts will shape and transform us, as water smooths the stone floor of the riverbed. This is how we ought to leverage technology, not just to be better at our jobs, but to become better more well-rounded people.


You’ve said it better than I could myself. Thank you

1 Like

So great to hear that Anytype is already helping you improve conversations with folks you don’t meet with often. Hoping to achieve similar goals, as my brain is quite full these days and I do feel a bit silly when I don’t remember small things that can be quite meaningful when someone remembers them.


I didn’t think I would be getting weepy over an app, just thought I’d be making pretty collections. But here are all these wonderful consequences of using Anytype. :sob: Thanks @Angelo for your lovely insights!

1 Like