Notes and tasks belong together

I’ve written before about my fondness for the simplicity of Apple Notes and the seemingly infinite flexibility of OmniFocus. I’m still partial to both apps but haven’t used either for some time. The reason is that I’ve concluded that notes and tasks belong together, and neither app could be stretched to do both well enough. As a result, I ended up switching to Obsidian, which, with the help of some plugins, just manages to pull it off. It’s not perfect, though, and I’ll cover the trade-offs at the end.

Being a GTD adept, the way I set things up is that for every project (any task that takes more than a single action to complete), I have a dedicated note where I dump all relevant information—web links, random thoughts, file attachments—which may or may not develop more structure as I progress. More often than not, it’s a mess of URLs and half-finished sentences. Other times, it reads like a blog post or an outline of one.

The way I had this set up with Notes and OmniFocus never felt great. Constantly switching windows, wondering whether I should leave a short note on the OmniFocus task or put it in the project note, and all those times when I made a note that something should be done but forgot to add a corresponding task. I was also envious of the bi-directional links popularized by Roam Research and quickly adopted by every other note-taking app (except Apple Notes).

Despite all that, I tried my best to stretch my existing tools to fit this workflow:

  • I hacked together a solution for linking to notes via AppleScript and Shortcuts, allowing me to establish a bidirectional link between OmniFocus and the project note in Apple Notes.
  • I built a system-wide fuzzy search for notes via AppleScript and Alfred (later replaced with Sean Ballinger’s excellent Alfred workflow) to quickly pull up the relevant project note.
  • I developed Anykey and used it to add various missing navigation shortcuts (Next note, Previous note, Move note to…) to work around some deficiencies in the Notes UI.
  • I even had a pretty elaborate setup where, if I typed [[ anywhere (in any Mac app, not just Notes), an Alfred-powered fuzzy search of all notes would pop up and allow me to insert a bi-directional link between whatever was currently focused and the target note using Hookmark.

Needless to say, doing all this was FUN. Unfortunately, the resulting solution was still quirky and difficult to maintain, with both Apple and OmniGroup constantly fiddling with their apps and causing regressions for me. Thus, after long consideration and an adventurous migration, I ended up storing my notes and tasks in Markdown files on iCloud and using Obsidian to organize them. The task management workflow described below is what I arrived at after about two years of various experiments and another year of using this particular configuration. That is to say, I understand the trade-offs pretty well.

A screenshot of my project note in Obsidian containing multiple tasks.
A project log interspersed with tasks

Capture

Unless a task belongs to an existing project, it goes into a new file under the Task directory. The file names are timestamped and contain the task description (e.g., 2025-03-05 - Renew vehicle registration.md). The created file starts with a single Markdown checklist item that duplicates the file name.

This simple setup has the following benefits:

  • Each task is a separate note, so I can brain-dump everything—links, code snippets, attachments—then close the file with peace of mind, knowing it won’t get lost.
  • I can easily link to tasks and projects from other notes by file name.
  • I don’t have to use Obsidian to create new tasks; any new file under the Task directory will get picked up by my system just the same.
  • Any task can easily be turned into a “project”—just add more tasks to the same file (nested tasks also supported). It feels very natural to add to-dos just as I’m fleshing out the project note (see the project log example above).

I use the QuickAdd plugin and have a keyboard shortcut that triggers a capture flow for new tasks within Obsidian on Mac. For iOS, I made a shortcut that does the same but outside of Obsidian, enabling me to add tasks through Siri. This kind of thing is “File Over App” philosophy at its best.

There are also caveats to naming files after the task: first, the file name may get out of sync with the actual task in the file, and second, file systems impose various restrictions on valid file names. I haven’t had any issues with the former, but I had to write a QuickAdd macro that scrubs restricted characters and converts Markdown to text. For example, an input like Buy tickets to [Captain America: Brave New World](https://example.org) results in a file named 2025-03-11 - Buy tickets to Captain America Brave New World.md.

Organization

I rely on the Tasks plugin for keeping track of my active projects and tasks. The most important features it provides beyond Obsidian’s built-in task management are deferred tasks (“ignore task until date X”), repeating tasks (e.g., “repeat every 2nd Sunday”), and a highly flexible query language for searching available tasks. Those are non-negotiables for any serious GTD practitioner.

My main task view is called “Priority”—an actual note named GTD/Priority.md. I love the simplicity compared to custom perspectives in OmniFocus. This note queries tasks that are either due soon or marked as priority during review.

A screenshot of my GTD/Priority note in Obsidian listing due & overdue tasks as well as priorities picked for each of my life values.
Priority view

In addition, I insert an overview of created and completed tasks as part of my Daily Note template:

A screenshot of my daily note in Obsidian containing multiple completed tasks.
Completed tasks are highlighted in each daily note

I also maintain many additional views over my tasks: all unfinished tasks grouped by tags (or project), “orphaned” projects (without any pending tasks), priority tasks finished this week (for my weekly review note), etc. Given how easy it is to add these views, I’ll probably add even more in the future.

Final thoughts

Keeping tasks alongside notes has been incredibly freeing—add a new line after a to-do, jot down some thoughts, and move on. It feels natural. Back when I used paper notebooks, I always interspersed notes with tasks. In hindsight, it’s almost strange that I spent so much time trying to separate them in my digital workflows.