← Back to blog

Notes without databases

∙ 7 min ∙ Deutsch

One of my son's drawings

Note-taking is really critical to how I work. It’s been important to me for a while to find a note-taking setup that I’m happy with. I’ve finally arrived there and would like to share it.

Here are a few principles I leaned on while searching for my ideal setup. I borrowed it from my previous post Photo management without databases.

  1. Portability - The entire setup below avoids platform lock-in as much as possible
  2. Flexibility - I want my photos notes to work for me, not the other way around. I want the freedom to organize my photos notes as I see fit today and change that easily in the future if need be
  3. Automation - As much of the setup should be automated or semi-automated as possible. The point of the exercise is to enjoy your photos notes, not to create a new chore

Dedicated platforms

Evernote

I used to use Evernote’s free tier. Like many users, I only scratched the surface of its overwhelming feature set. One thing that always turned me off was the note sync bandwidth limit. Evernote actually limits how much bandwidth you can eat up by syncing your notes. This just added one more thing for me to try to remember and made an upgrade to Premium inevitable.

The pricing is a bit steep for the Premium subscription as well, at 7.99 USD/month. In a world where I’m conscience of death by a thousand subscriptions, that was a turn-off.

Evernote pricing tiers

I should note that I’m a regular user of Skitch (an Evernote app) to annotate screenshots and other images. I love Skitch (they have the best annotation arrows! 😀). Go check it out!

Skitch

Bear

Bear website

In late 2018 I switched over to Bear Notes by Shiny Frog, an Italian company who built an absolutely beautiful note-taking app for macOS. I was really impressed by their more purist take on a note-taking app and obvious focus on Markdown.

Markdown is a lightweight markup language with plain text formatting syntax. - Wikipedia

Bear is a minimalistic app that avoids the feature bloat that Evernote suffers. You can set Bear to respect and enforce Markdown in your note-taking, which for me was really important for interoperability in case I ever wanted to leave Bear. The migration from Evernote to Bear was messy for exactly that reason: Evernote doesn’t overtly operate in Markdown. Bear publishes an import workflow but I had to do some cleanup afterwards.

Bear leans on iCloud to sync your notes, so they actually never have possession of the notes, avoiding any concerns about the privacy of your notes when it comes to Shiny Frog. (Yes, Apple will technically have your notes) However, this whole setup is very macOS-centric and I know it’s something the team at Bear is working to bring to an OS-independent web app.

Bear’s pricing is also much more attractive at 14.99 USD/year plus whatever you need to pay Apple for iCloud. Bear’s free tier wouldn’t do it for me since I want cross-device sync. I found my notes would easily fit into iCloud’s free tier for years to come.

Others

I know there are lots of other note-taking apps out there but let me tell you why I shunned them all.

Markdown purism prevails

At some point I noticed I was using features in Bear that aren’t native to vanilla Markdown. An example is text marking (::This is text marking syntax in Bear::). It’s convenient to highlight text like this, but this feature isn’t supported by vanilla Markdown. That means that if I want to take my notes elsewhere one day, I’ll be stuck addressing all the Bear-specific syntax like this during the migration.

A test note in Bear

Bear inspired me to take a long, hard look at Markdown files (.md) as a note-taking storage structure. Similar to my image storage structure from Photo management without databases, I realized I would be able use any text editor and I could also use any cloud storage provider. If all my notes were just files, I could literally drag-and-drop them from one place to another without ugly export/import processes. And this would all be free.

Note: If you’d like to learn more about Markdown, check out markdownguide.org.

My toolset

Cloud storage

I use iCloud to sync my notes across my devices for a specific reason related to iOS. More on that later. Fundamentally though, you should be able to use any cloud storage backbone you like. My note file structure is just a bunch of .md files and some folders to organize them.

iCloud 📁
└───iA Writer 📁
  └───Hobbies 📁
  │   │ swimming.md 🗒
  │   │ sports.md 🗒
  └───Work 📁
  │   │ 2019-10-29-team-meeting.md 🗒
  │   │ 2019-11-04-team-meeting.md 🗒
  └───Travel 📁
  │   │ barcelona.md 🗒
  │   │ new-york.md 🗒

macOS

As a desktop-based note-taking app, I use Typora, but there are lots of other text editors that support Markdown. Another great app is iA Writer. Typora just looks at my iCloud Drive folder most of the time. This gives me a live view into that file structure and lets me just create and save .md files on my local drive and have them synced to iCloud.

Fun fact: I wrote this blog post in Typora and it synced live into my Hugo directory. More on my website setup here.

Screenshot of Typora

iOS

I purchased iA Writer for my iPhone and iPad (9.99 USD). It works wonderfully on both devices. My only complaint about this part of my setup is that I’d like to use any cloud storage provider, but iA Writer really only works with iCloud. There’s an explanation of how to use iA Writer for iOS with Dropbox here, but I wasn’t happy with this functionality, so I stuck with iCloud.

Images and other media

Often notes need images and other assets to enrich them. I don’t save assets in my note file structure. Instead, I offload them to Cloudinary, no matter if they images or something else. Cloudinary is an image- and video-centric CDN (content delivery network) provider. I just upload the images there, grab the URL and embed them in my notes. Admittedly, this isn’t as frictionless as just dragging and dropping them into a note like with a dedicated platform, but I avoid clutter and bloat of my file system and my notes literally render the same everywhere as long as you have an internet connection. You can read more about other setups at Typora’s support site.

One drawback to this setup is security - the URLs Cloudinary produces are accessible by anyone who knows them, but they’re obfuscated URLs and non-indexed, so I felt like I struck the right balance of convenience and security for my needs. For sensitive materials, I’d probably save the images right in the iCloud directory though.

The other drawback is offline access to non-text assets like images. In a plane, for example, my notes show a broken link where the image should be.

Closing thoughts

I’m really happy with this setup despite these few drawbacks:

In short, my setup (sort of) avoids cloud storage lock-in, lets you quickly write notes in a platform-independent syntax (Markdown) and works with free or low-cost tools like Typora and iA Writer.

It’s quite liberating to know that your stuff is well-organized and that it belongs to you, not locked away one some app that’s subject to price changes, UI changes and clumsy export workflow when/if you’re ever fed up with it.

← Back to blog

Discussion

X →

LinkedIn →