Code and Mind » 🐢 Productivity Archive · About

My productivity system

I've been reflecting a lot about the personal productivity systems. It turns out I actually have one. If writing things down or keeping a journal works for you, then you might also find the story interesting.

The reflection was triggered by a couple of tweets. The first one was from Matthias Verraes:

Bloggers: "I'll demonstrate DDD by building a Todo app" Actual DDD: "We looked at how people are using Todo lists, and we figured that our model was wrong. Besides TODO and DONE, we needed to afford for POSTPONE, WON'T DO ANYWAY, and TOO LATE. A quick experiment showed that..."

It evolved into a healthy discussion about personal systems, handling weekly TODO lists and aligning them with big aspirations. There is even a mention of a Life OS built with Notion and Miro.

I tried multiple similar approaches in the past but always got stuck. I always end up with a TODO list that never gets completed. It makes me feel guilty, so I just back off from the system to never come back.

In retrospect, most of these productivity systems need regular reviews to keep working. Reviews need time. Up to one hour for the weeklies.

We have two little kids and a pug. Life with little kids is a challenge on its own, but you can also throw in COVID and relocation to Austria for extra fun. Things are better now, but I still remember weeks and months with no spare time and motivation at all.

Without time and motivation, tasks and pending reviews start piling up. To get back on track, I would have to deal not only with low motivation but with even more cleaning up to do. That would be impossible. Guilt would grow, and I'd just pretend that the system never happened.

However, there were a few small things that kept on coming back to me throughout these years.

Healthy exchanges with Laura, Tamara and Beau helped me to recognize these surviving bits and the system behind them. It doesn't work always, but all my major work-related achievements in the past 6 years were supported by it.

In retrospect, the approach is simple:

  • the productivity system should adapt to good and bad times;
  • it should be based around writing because that is how I think.

The system is a small application. When the motivation is high, it works like a Journal. The system tracks my notes and tasks across various topics. The user experience is designed to present each topic as a story, encouraging me to keep it going.

Whenever I neglect the system, it backs off. It hides all the low-level details and incomplete backlogs, showing me a list of stories and an empty canvass. Every time is a fresh start that builds upon past aspirations and achievements.

When my motivation is high, it works like a simple Journal

I write down my actions and notes in the journal, putting them in one of the topics. Examples: Personal health, Robotic hand, DDD Katas, DSML Book, Wireguard, etc. If there is no matching topic, I create a new one.

I don't call them "projects" because that feels like an obligation to handle. There is too much "work" in that word for me.


After the note is added, the system extracts the headers and pushes them to the Week Outline and Topic Outline. Both are high-level. Week Outline tells a story of the things I've done that week. Topic Outline is like a table of contents for the entire topic, telling a story from a high level.

The list of Recent Topics also gets updated. These are my aspirations and interests that arise naturally.

I can do just a little thing like saving an interesting thought or a link, but this is immediately acknowledged by the system and the related story. The system updates all views and shows the latest topic outline.

This puts me back into the strategic view and encourages me to think about the next steps. How can I continue the story? If I have time, I could work just a little bit more.

If there is no time, I could write a note to myself for the next weekend: "take a look at this project!" This will be my TODO that will show up in the week and topic outlines. It will also become a part of the story.

When my motivation is so low, that I start neglecting the system, it turns into a storybook.

Daily notes and TODOs fade away from the Week Outline because they were bound to a specific date. They are still safely stored by the system. I could dig them up if needed.

Should I ever want to open the system after a period of neglect, there will be no guilt. Just an empty canvass and a list of stories from the past.


My interests and problems will never go away. Eventually, there will be a break and I'll do something worth remembering.

Journal notes are guaranteed to be safe. Immutability, redundant backups, and CAS for the binary data handle that. So if I have a bit of information to store, I would dump it into the Journal without thinking.

So I go back to the Journal to add a quick note. All user interactions start with a list of recent topics. This pulls me back to the big picture - these were the past interests and big challenges, at a high level.

As soon as I hit "Save", the journal would present me with the outline view that includes the last added topic. Last incomplete TODOs will be balanced with the weeks and months of small accomplishments before them.

No fluff or guilt, just the big picture. Telling me: "hey, we had some fun with that story 6 months ago. Do you want to continue it?"


Usually, the answer is yes, even if that is just to spend 10 minutes figuring out what to do next or cleaning up the code. But, hey, it gets me thinking and working on that story.

There is comfort in knowing that the system will continue chipping away at problems for years. Should there be a challenging period, it will eventually get me back on track. There will even be a story about all that afterward.

To summarize my system:

  • Capture notes and tasks in a journal.
  • When saving them to a topic, extract the headers and build an outline (table of contents).
  • Display outline in the weekly view, this will pull you back to the big picture.
  • Display current week by default, hiding past tasks as time goes on. This will allow guilt-free fresh start after a period of neglect.
  • Display topic as an outline by default - whenever you come back, this will tell a story from the high level.
  • Maintain a list of recent topics to surface aspirations and problems.
  • Use reliable system with backups. Reliability will make you come back to save things. The system will then show the big picture and nudge you to continue writing stories.

If you enjoy writing or leverage it to get through difficult times, then try building a personal productivity system around that. It could provide additional support and comfort on your journey.

Published: February 06, 2022.

Next post in 🐢 Productivity story: Write things down