Note Taking

Would you think that simple note taking is a consolidated game by now, but it's not! The landscape of note taking apps is so huge that it's basically impossible even trying all them. there is even a dedicated website to list them all.

Even filtering by self-hosted or open-source doesn't help much as in this category, more than in others, there is a fairly annoying trend of offering open-source stuff that's… debatable. Like the underlying code is open sourced, but:

  • Some features are paywalled
  • Some clients are paywalled
  • The app itself is available but synchronization is paywalled

While i am not against monetization of Open Source apps, what would happen to the project itself after the monetization scheme doesn't provide the required income and the devs choose to abandon the project? Would it live by itself? The internet is filled with abandoned Open Source projects.

This is one of the reasons i have initially choose Joplin as my notes platform, but over time i found a few main issues that made me look around for a better solution:

  • Notes are not stored in plain Markdown. True that it's a plain text file format, but still cannot be edited by a different tool
  • The Linux app feels clunky and kinda heavy on my machines
  • The web client, albeit being pretty nice, required Docker/Podman to run

So i decided to ditch Joplin before i grow too much dependent on it and kept looking for a solution.

As a side note, i choose the markdown format for my notes, because is probably the most portable choice.

The Solution

Well, there are hundreds of tools and apps around, but none fits my bill. So i decided to roll my own solution by leveraging more than one app and finding the right glue.

First of all, there is no best markdown editor available for all the platforms i needed (Android, Linux and web), and going web only is not a solution because i want offline access to my notes.

I have now settled on the following setup:

  • Dedicated markdown editor on Android
  • Dedicated markdown editor on Linux
  • Dedicated markdown editor on my self-hosted server for web access
  • Synchronization between all the hosts to keep all notes in sync

These are the choices i found fitting my needs so far:

SyncThing is a great tool that i use for data sync on my Android devices in general, so extending to note sharing was a trivial matter.

Remarkable installation

Remarkable is in Gentoo repository, so just emerge it:

echo "app-editors/remarkable ~amd64" >> /etc/portage/package.accept_keywords/remarkable
emerge -v remarkable

Markdown web client

Install Silverbullet on your server and spin it up.

SyncThing configuration

Create a shared folder on your home server and share it to all your devices connected to SyncThing, and there you are done!

As a bonus point, you can store the shared folder on your File Server so that individual notes can also be accessed directly from WebDAV or downloaded using any web browser.