---
title: "Something on productivity and tasks in my life"
description: "A practical framework for managing side-projects and mundane tasks"
published: 2026-01-23
tags: ["life"]
---

## Why do we do things?

It may seem silly to you to ask this question in this blog; how is it related? Well, consider the following. Does watering plants have the same urgency as paying your bills? How about going to the post office to get approval on some government document versus meeting your friend you haven't seen for a long time? I bet you have your clear choices. Usually, we can pay bills within a certain time period; the same goes for watering plants, going to the post office, and meeting an old friend. Maybe the urgency differs a bit, but you have this graceful period when you can choose what you will do when. Also, different tasks will be more mundane than others. Meeting an old friend is probably more fun than going to the post office. Only you can decide:

- what is urgent or less urgent
- what is more fun or less fun to do.

After years, I have learned that I sometimes like to procrastinate on the less fun tasks and then do them in a bulk for one week or a few days. In the past, I tried to force myself to do the boring tasks equally frequently at all costs, but it is nice to have a period of peace when you can enjoy the more fun tasks only.

## What is a task?
It's easy, right? It is just something that has to be done, and you can write it down. Right? Whoah, not so fast. If the task actually contains two activities that could be separated, is it a good task? No, I think of tasks as something **atomic** that has a clear meaning and a clear output. Having a task like "clean house" will save you a lot of space, but it is hard for you to put some time estimate on that, and you can't just stop in the middle of doing the task. Also, how do you know that the task is done if the scope is too large? What does it mean to have a clean house? Well, it is better to define smaller tasks, where it is clear when they are done and when they are not done.

**Atomic Tasks** are the key. A task should be teh smallest clear action with one clear outcome.

Here's a concrete example:

```
Bad Task:
"Build user authentication"

Good Atomic Tasks:
1. Create user registration API endpoint
2. Add password hashing with bcrypt
3. Implement JWT token generation
4. Create login endpoint with token validation
5. Add protected route middleware
6. Write unit tests for auth endpoints
```

The bad task could take days and has unclear completion criteria. The atomic tasks each take hours, have clear outputs, and can be done independently.

I think my approach changed in this respect; I used to define tasks more as what I should be doing at that time and less as what should be done in that time. When I studied at university, I would define tasks such as "prepare for this exam." I would now definitely define it as "work on those questions," "prepare summary notes from lectures," "recap the lectures 1-4," and so on. This is something I got from working in large companies, where the work is split between people. Here, you split the work into smaller time intervals, but only for yourself. The meaning behind defining tasks in such a manner is so that you can plan better and have a clearer image of where you are now and where you will be tomorrow, in a week, etc. In the end, it is to help you navigate what you did and what you have to do.

## The way to store tasks
This is something that works for me at the moment; the details of the framework I use change every year. I came up with this after years of iteration and constant improvements. I have multiple lists for tasks, grouped by expected time when the tasks have to be finished, type of tasks, or relation to some projects. Basically, every time I have tasks on some list, and they feel like they could be further grouped together, I usually prefer to do that. That helps me to keep the mental model of the tasks. I want to stress this: the whole point of defining tasks and writing them on some lists is for you to improve your mental model of the tasks and understand better the scopes and what is left to do. For 10 tasks, it is probably easy to keep them on your mind, but can you do that with 100 tasks, or how about 1000, some of them taking a year to finish?

Here is my current flow of tasks:
- **short-term tasks**: something that is easy to do, should be done in the near future, and you need to do it only once. An example could be picking a package from AlzaBox or writing notes from a meeting. I write them on sticker notes or into Vivaldi notes (I recommend this as a fan of Vivaldi).
- **long-term tasks**: something that you have a lot of time to finish, could be weeks or months - I have multiple Trello lists for that; the main is called "Weekly tasks" with "Backlog," "This week," "In progress," and "Done" columns. I try to plan every weekend what I should do the next week. It usually contains low-priority mundane stuff that has to be done.
- **planned tasks**: I put them directly into the calendar; these could be events such as visiting the dentist or scheduled meetings. I check my calendar weekly, and even if I have a plan to go to the gym or meet with friends, I still try to put everything there so I know how much time I have left in the week for other stuff.
recurring tasks: The best way is to keep Trello for that. For example, I have a Trello board for cleaning the apartment I live in with columns: "Backlog," "Will do," "Doing," "Done."
- **project tasks**: Could be a web project you are working on or getting a permanent residency approval from the government (took me several months). Sometimes I use Jira for that, sometimes Trello, and sometimes I just write them into TASKS.md in the repository. Keep in mind that a Jira free subscription will be deleted with all your tasks after several months of inactivity.

## The mental and physical effort
Some tasks require 100% focus, others you can do even after having a few beers. Some tasks will require physical effort, leaving you tired and some you can do even when you are slightly sick or tired. I found out it is best to plan the high-focus tasks in a way so that you don't work longer than several hours in complete flow. This will preserve your energy more, and you can devote your time to something that requires lower mental focus. Also, exerting high mental focus late at night is possible, but I am less efficient at night for such tasks. Ideally, you want to leave the fun things for late at night, when you can afford to make slight mistakes and not be super time-efficient.

**I separate the tasks by energy level**, but I don't label them explicitly, it is however something I consider:

```
High Energy
- Architecting new features
- Debugging complex race conditions
- Cleaning bathroom

Medium Energy
- Writing unit tests
- Replying to emails

Low Energy
- Updating dependencies
- Organizing Trello boards
- Going to post office
```

For example, Friday afternoon at 4pm? I'm not touching that gnarly authentication bug. Instead, I will be starting some fun project, hacking stuff or go to bouldering gym. 

The trick is being honest about your energy patterns. I'm useless for deep work after 8pm, but I can still knock out low-energy tasks while watching movie on background.

## The discipline
That is the key component to all of this. There is no point in keeping a log of tasks if you can't write them down consistently. It is okay to create tasks and then decide to drop the whole project. It is not okay to create tasks and then be completely inconsistent in when you look at the task list or be completely inconsistent in doing the tasks that you consider as important. The higher your discipline is in this regard, the more consistent you will be; the higher faith you will have in your framework, and you will see productivity increase.

---

Hope this helps, if you have any other suggestions that also work for you, feel free to email me, I will appreciate more ideas.