One of the things I’ve struggled with for a long time is note-taking. I’ve tried different tools and setups, but I never found one that really worked for me.
I Was Doing It Wrong
After many failed attempts, I sat down with myself about a year ago and decided to stop everything I was doing and ask: why hasn’t anything worked so far? Here are some takeaways from this reflection:
- Note-taking is not a science: I used to think there was one perfect method for everyone. I just needed to find it. This is not true.
- One tool to rule them all: I believed all types of notes, journals, work notes, personal thoughts, to-dos … should live in a single app. This is also not true.
- The tool is everything: Similarly, I assumed I just had to find the perfect app, and note-taking would magically work. You know already that this not true
- It’s okay to use multiple systems: I love Notion and Obsidian, but they’re overkill for someone like me. Notion is great for team collaboration, but for personal use, it is too heavy for me.
- Proximity is key: I don’t need 24/7 access to my notes! But they need to when and where I need them.
- Keep it simple: I’m lazy and don’t really enjoy taking notes. The simpler the system, the more likely I’ll actually use it. I’ve tried fancy templates and workflows in Notion, but I always gave up after a week or two.
- Less is more: I don’t need tons of notes, and I definitely don’t need tool-related clutter.
My Requirements: What?
Now that I have a rough idea of how I want to take notes, here’s what I’m actually taking notes on:
- Work notes and documentation: Notes related to tasks I’m working on, progress, dependencies, future plans, designs.
- Work logs: While working I like to log activities, ideas, links, and resources. Basically, a timeline of what I’m doing.
- Work to-dos: Self-explanatory.
- Knowledge: Writings, ideas, code snippets, TILs, bookmarks, watchlists, etc.
- Personal journal: I don’t journal often, but I do when I travel or during special moments.
- Free notes: Quick notes, ideas, bookmarks, summaries. Basically, anything I need to capture while on my personal machine or working on side projects.
The new system
The first step was letting go of the idea that I need one tool for everything. Instead, I started using multiple tools where they make sense.
Keep Work Where It Is
I used to use Obsidian or Logseq for work notes, progress tracking, ideas, links, etc. But over time I started realizing that this was overkill for me.
So I started to shift away: I began using the tools already integrated into my company’s internal workflow to track everything related to work.
- I document everything work-related directly inside the issue tracker itself. I put everything into Jira tickets, whether it’s brainstorming, planning, or linking important information. It’s all there, either in the ticket description, comments, or Jira custom fields.
- For work logs, thoughts, and ideas, I use Slack. I created a private channel with just me having a conversation (a lot of slack thread) with myself. This approach works very good for things I don’t want to share publicly, and the work logs make good drafts for future documentation.
- For the to-dos I use the Kanban boards in the issue tracker itself.
Side projects
When it comes to side projects, I use a similar approach. Whether I’m working on GitLab or GitHub (even for private projects), I document everything inside the issue tracker. All tasks, notes, ideas, blockers, and links go into issues and their comments.
This includes coding projects as well as learning projects. For instance I have a dedicated GitLab project called “M’Goun” where I track my learning journeys. Everything I learn,discoveries, roadblocks, resources … are documented as a running conversation with myself in issue comments.
Structure it and share it
Managing personal knowledge was another challenge for me.
Previously, my data was scattered: bookmarks in browsers, writings in Google Docs, learning notes across random files.
Today, I moved everything into Hugo-powered websites hosted for free on Netlify. This gave me a structured and searchable way to store and share knowledge in simple Markdown files, all versioned with Git.
Here are some of the things I am sharing publicly:
- iduoad.com/posts: blog where I share though and ideas and posts like this one.
- iduoad.com/til: Byte sized “Today I Learned” posts.
- iduoad.com/apps: List of apps I tried or I want to try.
- iduoad.com/guides: guides about things I want to remember.
- iduoad.com/snippets: Code snippets I want to save.
- iduoad.com/movies: Movie reviews, list of watched movies and watchlist…
- iduoad.com/newsletters: newsletters.
- links.iduoad.com: bookmarked links.
- slides.iduoad.com: Slides.
- …
I also have multiple private pages (drafts), where I put data I want to keep for myself. The drafts are not built and they are never published by Netlify.
Signal for my journal
For journaling, I realized that paper wasn’t working for me, especially in situations where writing by hand isn’t convenient (like when I am in the middle of the forest 😜).
I tried tools like Notion, but none stuck.
Eventually, I understood that I was considering journaling as a conversation with myself, so I started using Signal (a chat app).
Now, I journal by sending messages, or more often, voice notes to myself. Sometimes I just write short titles to make the chat searchable. It’s simple, flexible, and works wherever I am, even where I am in the mountains.
Free notes are free from Notion
Now that each kind of note has its place, it’s time for free notes.
Before, I tried Obsidian and then Logseq. I liked Logseq because it’s simple: each note is a plain Markdown file indexed by date. But the Electron app felt too heavy and I didn’t want to switch apps every time I had a thought.
Eventually, I ditched Logseq and used plain Markdown files. Then I found this Gotbletu video with a simple idea I liked. Then I wrote a simpler bash script inspired by it.
Here’s how it works:
- When I run the script, it checks if a note file exists for the current month (e.g.,
2025-06.md
). - If it does, it appends a timestamped heading (e.g.,
#### 2025-01-24 07:43:02 PM
). - If not, it creates the file and starts the note with that heading.
All the notes are written in Markdown and hosted in Git. I use emojis and tags for context and easy searching with grep.
This system integrates easily with tmux
and neovim
. For example:
- When I press a tmux keybind, it pops up with the current month’s notes, and a prompt to add new note.
- Same for Neovim, I set a keybind to list all my to-dos or ideas (lines starting with a 💡).
- I have shell aliases to grep for specific types of entries.
One last thing
If you’ve made it this far, you may have noticed I haven’t mentioned a proper to-do list app. That’s because I don’t use none.
I’ve tried apps like Todoist and TickTick, but always quit halfway.
For everyday tasks (like groceries), I use the default Android notes app. For work, I start each day by writing my tasks on paper and crossing them off as I go. If something’s really important, I add it to my calendar.
Conclusion
Note-taking is personal. There’s no one-size-fits-all solution.
I wasted a lot of time chasing the perfect setup and trying to follow methods that didn’t suit me. The truth is: There is no best way—only the way that works for you.