How I Organize My Work with Org Mode

It's been about one year since I adopted Org Mode and David Allen's GTD (Getting Things Done) as my base workflow tools with Tiago Forte's PARA working its way in. I found myself periodically seeking out answers from others who use Org Mode and have taken the time to write about it. I figure it's time that I try to contribute my own personal experiences with Org Mode for others looking to hone their set up. I've definitely taken some inspiration from Bernt Hansen and probably Sasha Chua, but there's probably a few others out there I've swiped ideas from.

My Org Mode

Below I've explained some of the ways I use Org Mode. For reference, check out my init.el, agendas.el, and capture.el files. I don't think I need to license it or anything. Just don't use it for managing nuclear launch plans or anything.

Capture templates

I have a lot of capture templates, but many that I haven't used. I'll try to round up some of the more commonly used templates in my process.

Template Organization

This is where things get messy. My original capture workflow involved "stimuli", Org abstractions of documents like Google or Word documents, spreadsheet, or emails; "action", tasks with references to "stimuli"; and "finalize", capture commands intended to create references to a "stimuli" and be stored as a "someday" or "tickle" item. I generally use the action folder at this point.

Email Templates

The email templates are primarily used to get the subject for an email, tag it as an email for reference, and assign a date or task to it. The subject is stored as a property captured from the clipboard and the Org Mode API is used to create a search query for the headline at point in the Org file (haven't gotten to creating it from the agenda yet) should I need to refer to the email again. There are currently 5 templates that get filed by default to their most associated Org file or refiled to their project.

Project Template

Capturing the project is simple. When I've identified an outcome that requires "having a stake" due to multiple actions for completion, a project gets created with that outcome as the headline. Under each project are two headlines:

I try to keep my naming convention as consistent as possible. Because I work in higher education, if the project relates to a course or program the first part of the the project is always the course or program short name (e.g. XXXX101). Using concepts from Tiago Forte's PARA, these names are duplicated across their relevant platforms and the convention makes it easier to find them. I use the Org Mode API to get a project name relative to any sub-tree within that project and put it in my clipboard.

Delegate template

Similar to the email_wait template without the subject or email tag.

Meeting agenda template

Rather than typing a meeting topic, I let my Outlook Calendar inform the meeting topic in Org Mode. I'll copy the meeting topic and let the template pull from the topic from the clipboard. A date property is added to get the agenda (entry) to show up in my agenda (agenda view). This facilitates my daily sweep for meeting notes.

The agenda is clocked in on an "Agenda" sub-tree by placing the cursor on its headline. A couple other templates are used for adding items to the agenda as I build it for the next day:

Thought template

Now a catch-all for thoughts I haven't quite clarified. I don't worry much about making these TODO items unless it's urgent. These are the only items that get created directly in my inbox.

Weekly review template

A checklist representation of the GTD reflection chapter. Nothing super interesting here.

File structure

I've created specific files to make agenda views more flexible. At one time, I had embraced the single file, but this became much too unwieldy. I'd rather have my files functionally separated and use either the appropriate agenda view or navigate to the file I need to access.

agendas.org

Where I keep meeting agendas with their associated meeting dates. At the moment, I only use this to make sure I capture my meeting notes for a given day. Meeting notes in my Outlook calendar are matched with their respective meeting at the end of the day or later and moved to my inbox where I'll clarify them later.

inbox.org

Where I capture unclear inputs. Whether the inputs are actionable or not are unknown at this point. Items that end up here are usually random thoughts that I captured and meeting agendas. At the moment, everything else is captured and clarified from another source like email or paper.

projects.org

In line with GTD thinking, I have a file to maintain a list of active work projects. Each project corresponds to one outcome with a deadline for the project headline. Each is also tagged with "project" and given the PROJ state. Under each project are two additional headlines:

At the moment, I'm not sure about how to handle NEXT, TODO and WAIT items. As far as I know, the project should have one NEXT action. At the moment, I have any projects without a NEXT or WAIT state considered stuck. The rationale is that I churn through NEXT tasks as instructed by David Allen and "bubble up" projects by moving TODO items to NEXT actions. I have yet to try this - I can never get to my project lists when completing my weekly reviews.

inactiveprojects.org

Projects effectively put on the backburner get refiled here. Functionally, this didn't make much of a difference other than separating active projects from inactive projects in my project list and, for a while, hide next actions for these projects. I'm not certain exactly of the rationale - maybe I just need a means of indicating a project is to be completed "someday", but not today.

tasks.org

TODO items that do not belong to projects go here. I've decided against marking any of these as NEXT items as they are not required to move anything forward, although with GTD in mind if a task is larger than the next action that's needed to complete it, it's probably a project... That's a lot of projects though. I think that's the point though.

waitingfor.org

Similar to tasks.org, these are statements of actions to be completed by someone else with the WAIT state that do not belong to a project.

tickler.org

Information, notes, and reminders all go here. It is somewhat of a hodgepodge of notes and emails that for some reason or another I believe I'll need to see at some time. There's probably some blurry lines between this and my someday list... but I don't trust my someday list as I scarcely return to it.

gtd.org

Checklists for my daily preview/review. Keeping them in one place makes it easier to generate my daily agendas.

someday.org

Anything determined not to be of immediate importance gets refiled to someday.org, actionable or not. Here is an area where the Resources aspect of PARA could be more convenient, but for now it's a bit of a dump.

archivedprojects.org

I'm weary of the default archive structure for Org Mode. The archive-to-subtree behavior seems to strip some of the context, but seeing how I've began using a more flat organization structure perhaps this structure would be okay. These are excluded from my agenda files.

Agendas

The crux of getting stuff done in Org Mode. I have a few agendas that I regularly use. With the exception of the archive files, all files above are included in "org-agenda-files" by default.

Todo Lists

Lists all tasks from active projects and from my tasks lists. These are broken into groups of NEXT actions and TODO items with [#A] priority items at the top. The grouping doesn't quite seem to matter yet, but I'd suppose as I better adopt the "Next Action" mentality I'll focus on NEXT actions before TODO items assuming there isn't something more pressing.

Project list

Lists all projects, active or inactive. A complementary "closed project" agenda is used for archiving projects.

Agenda agenda

I primarily use this to keep track of meeting agendas created for a day (as seen above) and to refresh deadlines.

Daily preview/review

A block agenda with the lists I need to complete my daily routines. The first list contains the actions I start my day with. Email parsing and inbox clearing used to be here, but I've since converted them to simple Outlook scheduling tasks so I don't spend the most productive hours of my day (morning) on email or inbox clearing.

Second is my daily review list, completed in the time scheduled by the daily preview. This is a sweep of a today's notes then whatever inbox clearing I get to.

To support my reviews are my WAIT entries scheduled for follow-up and scheduled tickler entries.

Stuck projects

Any project without a NEXT action is stuck, meaning projects with at least one TODO task and no NEXT actions will be stuck. I have some inclination this will be useful for moving projects along — perhaps to identify NEXT actions on a weekly basis and work through those before TODO tasks.

Tagged Daily Task List

Items that I've decided to work on today, tagged as :DAILY:. This is typically my first place to go to after my daily preview. In the case I want to work on something as soon as I possibly can, I'll add the DAILY tag and schedule the tag to ensure it pops up on my list.

init.el

I haven't mentioned my init.el file much. I really don't have many things of interest there; most of the configurations are a matter of preference. I have a ton of things commented out or configured to the default to remind myself that deviating from the default wasn't helpful. Some things might just be obsolete in my workflow (e.g. anything from Norang's bh package) and I haven't gotten to pruning them.

Some lessons

To help frame some of my decisions, I want to highlight some lessons I've learned as I've implemented Org Mode. Learning Org Mode and everything that it could do (not even taking into account the further extensibility with Emacs Lisp) was exciting.

Subject Tags

Tags were going to revolutionize the way I worked with notes and tasks. I was committed to tagging everything with every subject it pertained to.

Overnesting

In my early design, I had envisioned the ability to use the outline structure to provide a perfect structure to information. I was pretty invested into the idea of information architecture and thinking about best to organize information hierarchically with multiple levels. That was a disaster. Having varying levels of structure throughout my Org files meant a few things were more difficult:

I believe this comes back to my excitement for tags. With tags, I believed that all information would just be a tag search away - structure was important to organize the information so tag inheritance would do the rest of the work.

Overconfiguring

I was hyped to start using the features of Org Mode every opportunity I could. While this was fun, it resulted in a lot of what I've recently learned to be "action faking", or actions that gave the impression of making progress. I spent a ton of time just configuring Org Mode, arranging the content and updating my configuration files and when I wasn't doing that, I was thinking about it.

Seeing every little tool and feature compelled me to include it somehow to make my workflow more perfect. However, more often then not this line of thinking caused more headaches. Things like scheduling and deadlines have an obvious role in any task management tool. My problem was the ability to configure things like agendas and capture templates to make them overly complicated and reliant on tags and properties. I still use some tags and properties, but I found with overly complicated agendas I was never really streamlining how I accessed content.

Everything's a nail

Properties, tags, headlines, body text, outlines, logbooks... the amount of options compelled me to try to represent every process and piece of information in Org Mode. Of course, there are many good reasons to use existing representations of information, particularly time, and the accuracy of the representation. I want to continue to learn to integrate more tools into my workflow rather than move everything into Org Mode. I'm still trying to figure out what the best middle ground is.

Too Much Logbook Usage!

I foresaw logbooks as a convenient way to store notes about headlines, but it turns out a drawer can be a pretty inconvenient place for note storage when you mix it with the automatic state-change notes. I hardly use logbooks now, but perhaps the notes will prove useful when I'm trying to remember why something was CANCELLED or to whom I passed the buck on a task.

Conclusion

This seems to sum most of what I do in Org Mode at the moment. I've found it to be extremely useful in managing my work, despite the hiccups I've had with overuse. There are still some improvements and additions to be made, but for now I feel I've reached a point where I don't feel the need to "creep" in new features. Those are sent to the someday file. Those include:

If you have any ideas or thoughts, or just want to shoot the breeze about Org Mode and your set-up or mine, email me at jacob@varney.design.