Streamlining Note-Taking My Personal Knowledge Management Journey

Four Reasons To Take Notes By Hand


I was searching long for a note-taking app on my Linux i3 window manager. I am a terminal guy. I like to be in the terminal as much as possible. That's why writing notes in the terminal felt natural, and I am deeply in love with Neovim; every cell in my fingers is programmed to write text in the Vim way. But there was a pain deep down in my heart. I wasn't able to write notes effectively. I am a software developer, and I learn new things constantly. As a learner, I manage notes so that whenever I revisit them, I quickly remember things, and my forgetting curve decreases.


So, at first, I created a folder and linked it to a git repository. I started typing out notes, and I would preview them in markdown-preview-nvim. It is a cool plugin to preview your markdown live, I mean as you type, you can see the changes without saving on the browser. But the problem was, I had to hit the keybinding to preview it in the browser, and it would spawn a new tab for each file. It didn't feel natural. And every time I had to write some notes, I would have to open the editor and then again a browser on the side.


So, I searched on the internet how I could manage it. I found out about Hugo, a static site generator off of markdown files. I tried that for a while. I wrote a script in which I could edit the existing files or I could create new files, and it would run the hugo new folder/file command to generate a new page and open that in my favorite editor Neovim. The thing about markdown is, while you are writing, it doesn't have to be well formatted. You would clearly understand the text, links, tables. Here is an example:



It's clearly readable. And with formatting and syntax highlighting, it would be even easier. But I had a problem. Rendering images in the terminal is a pain. There are some plugins like 3rd/image.nvim and dluffy/hologram.nvim. It is a great plugin. But I didn't quite like the experience. I prefer to read markdowns in the browser as they are supposed to be. That's why I had used Hugo in the first place. And whenever I needed to write something, I would just go press $mod+n, and it would pop up a dialog showing all folders I have and an option to create new files. It was great for a while. But as my notes grew in size, I felt it wasn't a good experience. I would easily forget notes that I had created. I would have to check if I had already created a note and all that. Basically, minor problems would bother me, and note-taking wasn't fun.


And later, I wanted a graphical editor. Forget the terminal. I wanted to use markdown as it was intended. I wanted to render it as GitHub would render. I was planning to build my own editor. Live markdown editing in Electron. Forgive me because I only know JavaScript and TypeScript. I knew that Obsidian and Notion were there for a better note-taking experience. I had never tried them. I thought they were premium, and I had to pay. But as I was building my app, I wanted to see their features. And I saw videos. I didn't like the idea of Notion of creating blocks and adding text to them.


But Obsidian was different. It was THE NOTE-TAKING APP I was searching for my whole life. The only premium feature is to sync notes. That I don't even need as I store them in GitHub. It had all the features I need. And on top of that, it had Neovim keybindings. Isn't that awesome? I could create notes with keyboards. I could read notes with the keyboard. I could see the formatted markdown live while I am editing. The UI is pretty slick. I forgot that I was building my own app. I migrated all my notes to Obsidian. The community is great, and I would get a lot of useful plugins (although I wouldn't use any of them).

And my current setup is in my i3; I auto start Obsidian and push it into the scratch pad. I can call it with $mod + minus, and I can then write whatever I think and push it back to the scratch pad with the same keybindings. I love this new experience.