Where is my time? How I keep track of my workdays: pt1

TLDR; In this post, I share a spreadsheet to track the workdays, find it here.

Since I started spending my days at the PC, I tried to educate myself on tracking how I spend my time. I’ve used several tools, good and bad. various techniques, Pomodoro TODOs and so on.

One day, I saw a thread on Hacker News (original post) that explained how in a company they track their day using LEGO. I’m a huge fan of LEGO, but that’s another story. The idea is to have various categories mapped to a LEGO brick color and for each hour you add a block on your day. At the end of the day, you have a tower of lego that represent your day. The category, were, somehow:

  • Planned: what you have planned to work on that day
  • AdHoc: something that pops up during the day or that was not planned
  • Meeting: Meetings, that is not actual work.
  • Failed: When you fail at your work

The idea is nice, simple, effective to have a recap and understand the day and later the month. However, I did not have time to find all the LEGO and I did not want to use them for work. Plus, I wanted a system that could last for a while and not stolen by my nieces to build up some fancy house or the-talles-tower-that-does-not-fall.

Long story short, I created a Spreadsheet to track every hour of my workday.



You can copy it and personalize it. Make it yours, change the categories or whatever is needed to be changed.

The categories are different:

  • Planned: what you have planned to work on that day.
  • AdHoc: something that pops up during the day or that was not planned for that day.
  • Meeting: Meetings, that is not actual work. we all know that.
  • Useful: When you have meetings, ad-hoc, anything that indeed is useful for your work.
  • Other: since fail is not really meaningful, I changed to Other to categorize anything that does not fall in the previous one.

This is the monthly logging system, in the top part there are variables to select the month, start-end time of your day, and how much time you generally spend for lunch. This info is copied in the table below to set up the date and begin/end of the hours to log.

To fill in a day:

  • For each hour, categorize it and write in the corresponding hour-cell the category, just the first letter (e.g. P for Planned).
  • Write the description, in the description field, the one next to the date.
  • Set In and Out time (use a value that is different from the variable set on top so the spreadsheet calculates the difference, it subtract lunchtime as well). You see the result it in total

The charts and stats automatically update.

With this system I’m able to:

  • Recall any day of the past 1.5 years (yes, I have kept track of my days since 1.5 years ago with this system)
  • See how I spend my time and plan better in the future. I would like to keep Planned tasks at more than 50%.
  • Have an idea of how long I’m staying at work, how long thing last in the various months.

Note: if you do more than one thing in a single hour, just pick the category that covers most of the time in that hour.


since keeping track of all this info is sometimes not easy, I’ve built (in reality, I’m still building) an application to keep track of the time at the pc and log my tasks. So filling up the spreadsheet becomes a piece of cake.

NOTE: I’ve used for ages rescue time. It’s a great tool to make you aware of how you spend your day, it logs EVERYTHING.


Pomodoro + Super DND from Slack

I’m fund of pomodoro technique when I’ve to focus on some task, mainly coding or writing.

I’m a mac owner, and I found an handy app called Timer (that you can build for free from github) and has nice integrations with calendar and the possibility to run scripts (apple scripts)

Thus, since I don’t want to be disturbed I user the Script to:

  • Set the DND on slack
  • Set the status of slack to “working on a pomodoro”
  • (extra: stop spotify when the pomodoro is over)

This is good, the only problem is that Slack keeps showing red badges even if you are on DND. To avoid this you have to disable the badge icon app from notification menu. After a long time I found out how to do it (asking on AppleStackExchange)

The result of my script are

set appName to "Slack"
if running of application "System Preferences" then
   quit application "System Preferences"
   delay 1
end if
tell application "System Preferences"
   set the current pane to pane id "com.apple.preference.notifications"
   delay 1
   tell application "System Events"
     tell table 1 of scroll area 1 of window 1 of application process "System Preferences"
     repeat with i from 1 to (count rows)
       if value of static text 1 of group 1 of UI element 1 of row i is appName then
         select row i
         exit repeat
       end if
     end repeat
     end tell
     delay 0.2
       click checkbox "Badge app icon" of group 1 of window 1 of application process "System Preferences"
   end tell
end tell

do shell script "curl 'https://slack.com/api/dnd.setSnooze?token=THE_SLACK_TOKEN&num_minutes=$duration'"
do shell script "curl --data 'token=THE_SLACK_TOKEN&profile=%7B%22status_text%22%3A%22working%20on%20a%20pomodoro%20%22%2C%22status_emoji%22%3A%22%3Atomato%3A%22%7D' https://slack.com/api/users.profile.set"

and when ends I remove status, DND and stop spotify

if application "Spotify" is running then
tell application "Spotify"

end tell
end if
do shell script "curl https://slack.com/api/dnd.endSnooze?token=THE_SLACK_TOKEN"
do shell script "curl --data 'token=THE_SLACK_TOKEN&profile=%7B%0A%20%20%20%20%22status_text%22%3A%20%22%22%2C%0A%20%20%20%20%22status_emoji%22%3A%20%22%22%0A%7D' https://slack.com/api/users.profile.set"