My Second Brain in Markdown
Table of Contents
How I built a solid, efficient, and (almost) perfect note-taking workflow with Obsidian.
Introduction
Taking notes has always been part of my learning system. I believe the mind is destined to fail when it comes to memory, so I can’t rely on it.
Taking notes about everything worth remembering is essential for two main reasons:
- While you’re taking notes, you’re already memorizing part of what you’re learning.
- When you inevitably forget something, you can consult your notes—your personal knowledge database.
Because note-taking is such an integral part of my learning, over the years I’ve refined my technique by switching apps and experimenting with different workflows.
Just like in programming, note-taking workflows are in constant evolution, but I feel like I’ve reached an advanced stage where changes and improvements are now minimal.
Obsidian
Obsidian is a proprietary piece of software for editing markdown files.
I find it very convenient to write my notes in markdown because I can write and format text at the same time without using the mouse—it’s very efficient and works great. (Spoiler: I write all my blog posts in markdown and it’s all automated).
Obsidian isn’t open source, and lately I’ve been trying to adopt open source tools whenever I can, but I think Obsidian is irreplaceable.
I even considered replacing it with Neovim (after all, it’s just manipulating markdown files), and it would integrate perfectly with my software development workflow since I’d be using the same tool I code with—but Obsidian has features I find indispensable.
The Graph View
Each note in Obsidian can have tags, properties, and links to other notes.
That means you can connect related notes together, creating your own personal knowledge network.
The Graph View is a visual way of seeing your notes. It shows all of your notes as nodes in a graph.
I think it’s fascinating to see your knowledge grow visually and how all topics link to each other.
My Obsidian Vault contains all of my knowledge—all my notes from when I was in photography school until today. Each main topic has a tag, and each tag has a different color.
Each Obsidian Vault is a separate folder containing a set of notes. You can have as many as you want, but I prefer to keep a single Vault with everything I know.
I used to divide notes into folders and subfolders, but I stopped. Now all notes are in the root of the Vault because they don’t need further organizing. They’re structured by their links in the graph view, and I can quickly access any note with Ctrl + o
.
The Plugins I Use
I believe that the fewer plugins you use, the better. Every new plugin can slow the app down and add dependencies that may break in future versions. Each Obsidian update could potentially break a plugin that hasn’t been maintained.
- Vimrc Support
- Obsidian supports vim mode by default, but you can’t configure it. This plugin lets you use
VimScript
in a.obsidian.vimrc
file at the root of your Vault. (Here’s my small config file—it’s focused on centering the cursor during vertical movements.)
- Obsidian supports vim mode by default, but you can’t configure it. This plugin lets you use
nnoremap j jzz
nnoremap k kzz
nnoremap o zzo
nnoremap O zzO
nnoremap G Gzz
nnoremap n nzz
nnoremap N Nzz
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
- Relative Line Numbers
- A must-have if you use vim, since it enables relative line numbers so you can move more efficiently.
- Kanban
- This plugin lets me create notes that are displayed as Kanban boards (like Trello). I use these to track the progress of personal solo projects.
- Persistent Graph
- I’ve already talked about how important the graph view is to me. But as notes pile up, every time you open the Graph View, the nodes get tangled. This is because the graph renders dynamically on every open. This plugin lets you save the position of each node after you organize them manually—so the next time you open the Graph View, they’ll stay exactly where you left them.
Other Important Features
In Obsidian, you can split the view horizontally and vertically—just like in Neovim. That’s very useful when you want to edit one note while keeping another in sight.
I discovered this feature because I needed it. I already used it in Neovim and found out Obsidian could do it too. I then mapped my shortcuts to be as close as possible to Neovim so that using them would feel natural and consistent with my current workflow.
Another important feature is Canvas
. Canvas is a different file type—not markdown. It’s an infinite whiteboard where you can link various elements. These elements can be anything: images, notes, even websites!
I use this feature whenever I’m brainstorming for a project, like when I need to find the right design for a new website.
How I Sync My Vault Across Devices
At this point you might say, “Okay, Obsidian is great—but how’s the syncing?”
Well, that’s the weak point. Obsidian allows syncing via Obsidian Sync by creating an account—but it’s subscription-based.
If you don’t mind that and are willing to pay monthly, feel free to skip the rest of this section.
I need to sync my notes across three devices:
- My Linux desktop
- My MacBook
- My iPhone
I tried two methods to sync my Vault across them all.
I started with GitHub. There’s even a plugin that makes periodic auto-commits and pushes, but the setup is clunky and doesn’t work well on mobile.
I really don’t like the idea of using Git to sync my Vault.
It’s clunky, it often causes conflicts when switching between devices, and I don’t like pushing commits for something as small as changing a single character.
Syncthing
The second method I tested—and the one I still use today—is an open source project called Syncthing
.
Syncthing syncs a folder and its subfolders across multiple devices. Once installed and linked on both devices, Syncthing constantly watches for changes and propagates them to all other online devices.
I combine Syncthing with iCloud on my MacBook to sync changes across all my Apple devices. This also gives me an extra copy of my Vault in the cloud, in addition to my physical machines.
For extra security, I also installed Syncthing on my home server. That way, if I make edits while away and my Linux desktop is off, the home server still receives the changes. Then, when I return home and my MacBook is off, my Linux desktop gets the updated Vault from the server. This gives me 24/7 coverage!
Final Thoughts
After years of experimenting with apps, methods, and countless little tweaks, I’ve reached a point of maturity in my note-taking system. It integrates perfectly with my daily needs: learning, creativity, software development, and personal project management.
Here’s what makes this workflow so effective:
Simplicity & Speed
- Writing in Markdown is fast, minimal, and distraction-free.
- Vim support makes everything even more efficient.
Customization Without Bloat
- I only use plugins that are truly essential.
- The Graph View and Persistent Graph plugin help me visualize and organize my knowledge network.
Ecosystem Integration
- It works across Linux, Mac, and iPhone.
- Syncing with Syncthing + iCloud + home server gives me continuous, fast, and reliable control of my data—without recurring costs.
Flexibility & Focus
- I easily switch between quick note capture and deep writing.
- The Kanban boards help track personal project progress directly in Obsidian.
- The Canvas is perfect for brainstorming and exploratory design.
Personal Growth & Scalability
- My Vault isn’t just an archive—it’s a living system that grows with me.
- Avoiding rigid folder structures encourages free and meaningful connections between ideas.
Obsidian isn’t open source, but for now, it’s irreplaceable for me. I still remain open to switching to Neovim or a more ethical open-source alternative—if it can offer the same level of productivity and flexibility.
In the meantime, this workflow is my “second brain”—always growing, always available, always working for me.