Organizing my Life: Kitaab Edition

meta blog

published 2022-12-27 13:34

updated 2022-12-29 02:27

I've always had a very poor memory. My earliest memories start to kick in around 5 years old, I'm terrible at birthdays, or that thing you told me to do 5 minutes ago. Obviously this quickly became a problem, and I started writing things down. It started with a lil notepad I carried around in my pocket, scribbling notes as necessary. Around the same time, I shared a book with a friend, from which I learned to journal. Being a computer kid, I graduated to plain text files a few years later, and there was no looking back after that. I picked up many tools to help with remembering. Taskwarrior when I realized a bunch of my notes where just todo-lists of some sort, for encrypted plaintext journaling; moved to tiddly-wiki when I realized I wanted to take notes on my phone too, zotero for taking snippets of the interet into my private offline collection.

Eventually, slowly I found a system that worked for me. Rather, I cobbled together a way to help me remember things I'd often forget. It's now known as Kitaab, and serves as the cornerstone to keeping my life together. It houses my journal entries, people I know in person, their birthdays and things I think they'd like, snippets from the internet, it's even the raw material my website is built from. In a certain sense, I'm trying to capture as much of my digital footprint as I find valuable.

I struggle to explain the precise methodology through which I take notes, mostly because of a growing distaste for productivity porn, but also because Kitaab is ever changing. Being fairly interested in The Quantified Self, I keep pulling in more aspects of my life through Kitaab. I drew quite some inspiration from Karlicoss's own HPI system, and will attempt to break it down similarly.

I have found that merging work systems with personal systems leaves me drained of energy to work on the fun stuff I enjoy, so I do try not to mix the two. However being a system designed to help me do things, and work being a thing I must do, I have a sort of soft fork of this system exclusively for work that lives on my work laptop. It's still in experimental phase, but it could graduate to "contexts" in which the two don't mix.

Asides from data that is generated through use of services, there are 3 primary systems I currently create:

  • Tasks
  • Notes
  • Annotations

Across all of these systems I use a common tagging strategy. It's not the most robust or the cleanest system, but it's been working well for me. Almost every piece of data that goes through Kitaab has at least one tag associated with it. The important part of my tags is that they compose. No tag is exclusive, because there are no straight lines.


Fairly self explanatory, are things I wish to accomplish. From fixing broken parts of the infrastructure I run, to making sure to pick up groceries on the way home. All of this runs through Taskwarrior, almost all tasks have a project and tag(s). Projects can be both perenial, or come and go. Some examples include each of the rocks I maintain, chores, and specific projects like my website, or bots. Optionally tasks may also have an associated note for further information regarding the task. The notes get created through a script and placed in the same folder as Kitaab. Some specific projects or tags, also get dedicated index pages in Kitaab which get ingested through Taskwiki. To keep this in sync with my phone, I run a taskwarrior server on the computer in my basement.


Notes have a wider variety. Having started with journalling, gradutated to wiki, and now a zettelkasten, there is far less consistency amongst my notes. These days, I create a new note for pretty much anything I wish to write down through vim-zettel, which is an addon for vimwiki. Creating as low friction as possible to write something down, these notes do not necessitate a filename, title, or anything to get started with writing. Being someone with ADHD I find this to be very important, and as someone that exclusively uses nvim I enjoy text editing fast and through this interface. Though because my tagging system is quite broad, and these are the main raw materials for my website (which depends on tags to know what to filter out), I try to tag any new note with at least one useful category. This covers journal entries, tips & snippets, blog posts, and just generally writing down things to help me think about them or remember them for next time. Vimwiki uses CTags under the hood for their tagging system, and automatically keeps these in sync with notes that change their tags. In order to keep everything synced up, I have a systemd job that runs once an hour and adds all the changes and pushes them to my git repo that hosts the notes.


Finally, there are annotations or quotes. This is the most amorphous of the lot, and can come from anywhere. I use grasp for things straight from the internet, use wallabag's annotation feature a lot, and also grab annotations from my kobo. This is also the least integrated system of the lot, and is something I wish to improve upon.

Which brings me to why I'm writing this. Recoginizing the important Kitaab plays in my life (and also how ugly the inconsistency is making my website...), I saught to make sure my notes where all consistent. In doing so, I realized that perhaps this vast network of tools and addons isn't quite just how I would like it and perhaps I should re-write it myself. In that case, what is the way I would like to improve this process? I'm trying to figure that out still. I want contexts to split between work and home, or for specific moods I'm in to help narrow down the things I both can and want to work on. I want both indexes and zettels. I want auto-updating lists of tags, I want to see connections between these notes better, and the relationship tags have with each other.

But also, I wrote this because my friends were asking about my system, and I suppose it does help me to write down all that it does too 😁