TL;DR I now use these things:
Obsidian
Obsidian Excalidraw Plugin
Obsidian Git Plugin
My full config 👉🏼 Obsidian Config
How we got here
I think every dev is on the lookout for a better way to organize notes and convey their ideas. Each dev has their own way of writing notes and staying organized which is totally fine. This article talks about what works for me and if it works for you, awesome! 🎉
Let's get into the tools I've used and where I ended up. I was using Excalidraw on the daily.
Excalidraw is a great tool for making diagrams. However, I wanted to save diagrams and access them on any machine I needed to. This was a problem because I needed to make sure these files were up to date and backed up on a cloud.
So I needed a cloud... 🤔 why not use git and host these files on GitHub? It's free and I can access my stuff on any device that has Git. So off I went, saving notes to a folder on my computer and backing changes up to Git. The only issue is I had to manually back stuff up.
Wouldn't it be good to backup when I saved a file?
That got me looking into a smarter notes app, something that could automatically back up to a cloud, work on different operating systems, and something that allowed me to own my data.
Things I've Tried
I tried using the notes app on MacOS but that's not compatible on other machines I use. Especially Ubuntu 🐧
I've tried using evernote but it seemed like too much noise for what I needed.
I tried using anydo which worked for awhile and has support for multiple platforms but I needed something richer than a TODO app. Something that let me create diagrams and have control over my data.
My Current Solution 💡
It's not for everyone, but over the past year I've really enjoyed using Obsidian. I have it configured to backup my notes on save and push to a remote git repo.
This perfectly satisfies my fulfillment criteria:
1. Cloud-based backups
2. Automatic backup on save
3. Excalidraw support
4. Community support
5. Owning my data
6. Accessing notes between machines
I don't want to reinvent the wheel, so if you're interested, please checkout this video. It'll get you the majority of the way there.
Outside of that, let's talk plugins.
🔌 Bridging The Gap With Plugins
In addition to the git plugin, I also installed Excalidraw, advanced canvas, CSV table, and emojis.
This works for me since I'm used to Excalidraw, now I get to have my notes in 1 place! 🎉
👇🏼 Example of a simple user form in excalidraw.
I also get to read CSV outputs and leave comments on them (super useful for back-end work I do).
The Canvas plugin lets me style my canvas'. This might be a bit redundant since I have the Excalidraw plugin too but it's good for linking to in-depth notes on an ERD (entity relationship diagram).
I'll add more as time goes on but this works for me now 🙂
✅ Closing Out
That's it!
Would you try Obsidian? Are their any plugins you think I should try? Let me know in the comments below!
Thanks for reading!