In my previous post, I wrote about self-hosting some applications. In this, I wanted to write about my notes-taking architecture. Like any other note-taking enthusiast I’ve been on a journey where I want to try all the apps and am even ready to pay for special features etc but the applications just don’t feel right. And also if you end up paying for a note-taking service then it isn’t actually self-hosting(?)

My first note-taking app was Google Keep. I would make different tags for different categories and then just create a note and tag it with the right category. The big issue with google keep is that it doesn’t support markdown. And I find myself working with RST or markdown, mostly in markdown format. So I started looking for an alternative to google keep. At that time I think Evernote was still considered among the “good” note-taking apps so I gave it a try only to learn later that it doesn’t support markdown. I know I should have gone through the features list before actually installing the app but I didn’t 😕. Anyways, then in the span of 6-8 months, I went through the cycle where I was using Joplin, notion, and obsidian.

Now before I go any further I just wanna say that all of those (Joplin, notion, obsidian) apps are just amazing. Even though Notion is a proprietary app(like Keep, Evernotes) it does the job really well. But the way they are moving I just have a feeling that it will become THE app of its time just like Evernote and then from there, its downfall will begin. Obviously, I am not an expert on how organizations work so I don’t have any solid logic behind the thinking but I just have that feeling.

Talking about Joplin and obsidian, the former was just a “meh” for me but the latter was just amazing. Now before Joplin lover loses their mind, I just wanna say that there is nothing wrong with Joplin(or at least I haven’t found any big issue with it) but I think it is just about personal preference. Some people might just love the UI and the way it works and some won’t feel the kick, I am in the latter group. Obsidian from the very beginning felt just the app you’d wanna use, the UI was amazing and all the community themes/plugins were also awesome. I loved obsidian so much that I used it while preparing for OSCP not only that I even used it for writing my final report as well(then converted MD to PDF). Now you might be thinking that if I loved obsidian so much that is what the issue was. Well to be honest the issue I had isn’t something any note-taking application could fix it.

The issue was, I didn’t wanna open a new application. Now I know this might sound dumb but opening a different app, waiting for it to open, opening the right note, and then jotting the thing down felt like a big process and wasn’t something I felt like doing every time I had any erratic thoughts. Also, I don’t like keeping my desktop cluttered with loads of open applications. I freak out when there are more than 6 applications in my Alt+tab, so that is probably just me. What I wanted was a way to write stuff down within the editor I use i.e VS Code. That is because 99% of the time VS Code is the application that stays open because of work. So I decided to use foambubble in a separate VS Code workspace. But using this would restrict my note-taking to only when I am on my desktop. So I also wanted a way to be able to edit/add notes via mobile and sync them with all of the devices I use.

For some time I did consider writing my own mobile app and a VS code extension just for my own sake but then after searching and using my small brain I was able to think of a simple and good way to achieve what I wanted.

Architecture

As you can see from the above image I am not doing anything big. The whole thing is:

  • I already had syncthing running on raspi for other stuff so I created another folder called notes.

    • I installed the mobile app for syncthing and authenticated with the server I hosted.
  • On a mobile device, I installed the Obsidian app because it works really well with just random files/folders with markdown files in them.

  • In VS Code I installed foambubble plugin and already had the SSH Plugin.

    • I also installed some of the plugins suggested on foambubble website.
  • Then I created a new “project” for foam bubble on my raspi, inside the notes directory I had created in the first step. That’s all

Now for writing all I have to do is change a workspace that opens the notes folder on my raspi. Since my PC and raspi are on the same network it doesn’t take even a full second to open the workspace. And those notes get synced with a folder present on my mobile, which obsidian consider its own workspace. So on my mobile device, all I have to do is open the obsidian app and all my erratic records are just there.

This is not the only thing. I also have a gitwatch running on raspi and keep an eye on the notes folder. This way all those notes also get pushed to a remote repository which can act as a backup in case something happens to the notes directory on both raspi and mobile phones.

Issue

The issue I have with this setup is something that I mentioned in my last post about self-hosting i.e

Even though for personal notes I have a great setup now but sometimes if I have to share a simple list of things or some kind of note/info in which input from both parties might be required, I still find myself using Google keep.

There is no way for another person to just receive a note from me and then have the ability to edit or a way where we both could edit it together. If any of the readers have any suggestions on how to achieve this then please let me know.