Image by Gino Crescoli from Pixabay

Using Timeular with Pomodoro Timing

Bruce Parr
2 min readApr 11, 2021

I was recently in a Zoom meeting and noticed a popup on a teammate’s computer while he was presenting. I asked him what he was using, and he told me it was an app called Timeular (https://timeular.com). Curious, I went to their site and poked around. More curious, I started looking into the Pomodoro Timing technique to see if I could somehow get myself to be more productive in less time.

After doing some research, I decided to test-drive Timeular. Generally speaking, it works fine for what I need, but after two days of test driving, I found I wanted a bit more out of the product. Not content to wait for the Timeular team to make updates, I went ahead and coded a workaround using Python and Docker.

My problems:

Timeular has a single setting for long tasks that applies to all activities. If any activity gets to this setting’s length of time, it will prompt you to take a break. What if I want different lengths for different activities? I tried creating a Dev Work activity and a Break activity, with a long tasks setting of 25 minutes. Since a break is only 5 minutes according to Pomodoro Timing, I would never get the prompt to change, and so I forget that the app is set on break. This meant a ton of editing since I wasn’t getting reminders to end breaks.

My solution:

I wrote a Python script that allows me to set a length for any Timeular activity I have defined, and it uses the Timeular API to check the current running activity, comparing the activity start time to the desired activity run length. When there are no minutes left for the current tracking activity, the script sends an API request to Timeular to to stop the activity and I get a notification on my screen.

While it’s not perfect, as it ends the task as opposed to popping a prompt asking what I want to do, at least I am getting a notification at the time I want.

You can see the code at the link below, along with instructions on how to run it in the background in a Linux Docker container.

--

--