I recently read an article from Inkdrop by Takuya Matsuyama, where he explains his issue-driven note-taking method. If you’re not in the mood to read, you can watch his video:
This video significantly improved my workflow, my development/issue solving process, and even how I approach non-coding tasks in my life.
Before - The common Programmer’s Behavior #
I was (and sometimes still am) the kind of programmer who rushes to the keyboard to start coding a solution or feature as soon the idea hits. I’ve worked this way for so long that it became second nature, like an artist sketching the moment inspiration strikes. However, unlike art, code needs to function correctly first; only then can it be optimized and made more readable for collaborators.
The problem with this behavior #
The issue arise when your process turns into a loop:
Write -> Test -> Delete -> Rewrite -> Test -> Delete …
You get the idea. While trying to understand the problem, your brain is also applying partial (and likely incorrect) solutions without fully evaluating whether they’ll work. It’s like playing chess without planning ahead—you’re bound to lose!
The Beauty of Taking Notes #
I’ve watched numerous YouTube videos about the benefits of taking notes in physical notebooks. Inspired, I started writing things down. Initially, I overthought what I should write in a bullet journal, especially after trying Ryder Carroll’s Bullet Journal Method. I loved the dotted pages but soon fell into the common trap of overthinking. Many creators advise against this, emphasizing the importance of simply offloading thoughts because:
Your brain is designed to create ideas, not to store them!
Eventually, I settled on using three notebooks:
- A pocket notebook for jotting down ideas on the go.
- A commonplace book to develop initial ideas and write about various topics.
- A reference notebook for storing key, unchanging information.
I began using my commonplace book to document bugs and issues in my projects. Writing and crossing out items brought clarity, enabling me to craft better solutions. Later, I extended this practice to personal problems—for example, evaluating whether an iPad would improve my workflow (spoiler: it wouldn’t justify its price for me).
While paper notes are beautiful, they’re impractical for referencing code and links, so I knew I needed a digital solution.
Using Digital Notes for Work #
After experimenting with several note-taking apps, I used Apple Notes for nearly two years. It worked well within the Apple ecosystem (I have an iPhone and MacBook), but accessing notes on my Lenovo laptop via iCloud was a poor experience.
I needed something cross-platform with Markdown support. After trying Obsidian (and encountering sync issues with iCloud), I switched to Inkdrop.
Inkdrop and my current workflow #
I won’t spoil Takuya’s issue-driven tech note-taking method; you can check out check the benefits of Inkdrop. Instead, I’ll share how Inkdrop has improved my productivity and reshaped my thinking.
I mentioned before that I use my commonplace book to write down and work the ideas I initially wrote down on my pocket notebook (or ideas I had on my mind at the moment I was using my commonplace book) and told you that it is not practical for technical notes. After trying Inkdrop and the Issue-driven tech note-taking process, I started to organize my work much better and started thinking different. I will tell you some use cases:
Tasks and Kanban #
I’ve always loved Kanban boards. Previously, I used Apple Reminders to manage projects, but while it offered a Kanban-like view, it wasn’t as powerful as dedicated tools like Asana. So, after trying Inkdrop for a while, I transformed my workflow:
1. Master Note #
For each project, I create a master note (e.g., [Amazing Project] Home) within the project’s notebook. I list all issues and tasks as references in this note. Inkdrop’s ability to display a referenced note’s status and tags is fantastic—it provides a clear, centralized view.
2. Write and work on the issue/task note #
I then focus on individual issue/task notes, following the issue-driven method. This involves analyzing the code, exploring solutions, and documenting everything. It feels like a journey within a single note.
3. Code #
This is self-explanatory. With a clear understanding from the previous step, coding becomes more efficient and purposeful.
Other benefits #
I’ve expanded my use of Inkdrop beyond coding. For example:
- Blogging: I maintain a notebook for this blog and documented the process of setting it up with Hugo and Firebase Hosting.
- Journaling: On days when I don’t feel like using paper, I journal in an Inkdrop notebook called “Journal”.
I hope you find this note helpful and enjoyable. I’m on a journey of self-discovery, striving to improve for myself and my loved ones.
Cheers!