Worklog: The tool to help you log your work
Did you know that the average employee is only productive for 2 hours and 53 minutes in an 8-hour workday?[2] If you’ve ever felt like your workday vanished into thin air, you’re not alone. But what if there was a way to reclaim those lost hours?
Inefficient time tracking can lead to missed deadlines, undervalued work, and unnecessary stress. Without a clear picture of how you spend your hours, it’s challenging to optimize your productivity and showcase your true value.
Enter Worklog: the game-changing tool designed to effortlessly track your work and revolutionize your productivity.
Today, I will introduce you to worklog! This is a project which I have built to help myself with tracking my work and tasks. To understand it’s usefulness and how it can help you, let’s dive into today’s post.
Important: We will be referencing
worklog
, the tool, and work log, the concept, throughout this post. To avoid confusion,worklog
, the tool, will always be referenced as one word, and work log, the concept, will always be referenced as two words.
What is a work log?
First and foremost, let’s establish what a work log is.
A work log is intended to provide a simple means to provide you with insights on your productivity. It is meant to help you evaluate your work habits, have a reference point of tasks, recognize patterns, and most importantly, show how much you have accomplished.[1]
A work log is meant to be personal and provide insight to you and your direct work. Think of it as your “work diary.”
Now that we have established what a work log is, let’s establish what a work log is not. It is not meant to be shared with others, or a “big brother” tool, and it is not meant to be a tool to track your every move. If you choose to share your work log with others, that is up to your discretion, but you should take some time to think about what you are sharing and why.
Why use a work log?
The use cases for work logs may vary from engineer to engineer, but here are a few reasons why you may want to use a work log:
- To track your work for the day: This is the most common, and obvious, reason to use a work log. You can track your work for the day, to have a record of reference for what you have done.
- Track your accomplishments: This is a great way to track your accomplishments and see how much you have done in a day, week, month, etc.
- Pattern recognition: By tracking your work, you may start to see patterns in your work habits.
- Time management: By tracking your work, you may start to see where you are spending most of your time and where you can optimize your time.
Features of worklog
Hopefully, by now, you have a good idea of what a work log is and are interested in using one. So now let’s talk about worklog. Worklog is very simple and is intended to have minimal features so that all features are targeted towards helping you build your work log. I have designed it around my own principles of a work log, which I will share with you later in this post.
Add entries
The most basic feature of worklog is to add entries. This is the core of the work log. You can add entries for the day, and log what you have done. In worklog, this is simply done by running: worklog add
. This is what the output looks like:
$ worklog add View the worklog blog post
[2025-01-23T15:14:23|INFO|add.go:44(command.go:989)]: Entry ID: 0123-12
You can see that each entry has an associated ID. This ID is simple to understand. It is split in to two sections:
The first section contains digits four digits:
- The month (I.e
01
for January) - The day (I.e
23
for the 23rd)
The second section contains two digits:
- The incremented ID for that day.
- For example, if you have 1 entry for the day and add a second entry, the ID will be
0123-02
for the second entry.
- For example, if you have 1 entry for the day and add a second entry, the ID will be
List entries
The next feature of worklog is to list entries. This is done by running: worklog list
. By default, it only shows entries for the current day. This is what the output looks like:
$ worklog list
Period: today
Worklog:
- [0123-7] Optimized database queries. Reduced response time from "grab a coffee" to "blink and you'll miss it".
- [0123-8] Conducted code review for PR #1337. Suggested renaming variables from "x" to something more descriptive, like "y".
- [0123-9] Researched microservices architecture. Concluded that "micro" is a relative term.
The worklog list
command is the most powerful command of worklog as it has two optional flags that allow you to have an enhanced output.
Tip: You can also run this command via the
worklog ls
alias.
Period (–period,-p)
The period flag allows you to specify a period of time to list entries for. The period flag can take the following values:
today
- Entries from current day (default)yesterday
- Entries from previous day3day
- Last 3 days including todayweek
- Last 7 days from todaycweek
- Current week (Start and end date defined in the configuration file)month
- Last 30 daysquarter
- Last 90 daysyear
- Last 365 days
This can be useful for pattern recognition and reflection.
Output (–output,-o)
The output flag allows you to specify the output format of the entries. The output flag can take the following values:
json
- Outputs the entries in JSON formatyaml
- Outputs the entries in YAML formattext
- Outputs the entries in text format (default)
This can be useful if you want to use the output in another tool or script.
Sync your work log
Worklog’s Git sync feature ensures your logs are always accessible and backed up. Whether you’re switching devices or safeguarding your data, this integration seamlessly keeps your work history in sync, allowing for a continuous workflow across multiple platforms. If you are interested in this feature, make sure to check out: Enabling sync with Git.
Planned Features
As mentioned previously, worklog is not intended to be feature-rich. However, there are some features which I have planned for worklog. Some features include:
- Entry deletion: This will allow you to delete entries from your work log. (Meant solely for correcting mistakes - Keep in mind the common principles of a work log)
- Time tracking: As of now, worklog does not track time. This is a feature that I am considering adding in the future for enhanced pattern recognition and time management.
- Workday restrictions: This feature would allow a user to set a restriction on work days to prevent entries from being added on week days and is meant to help enforce a work-life balance.
Note: These features are planned but the timeline for implementation is not set in stone. Some things that may affect the timeline include community feedback, my own availability, and the complexity of the feature.
Common Principles of a Work Log
This information is taken from the worklog principles but I wanted to include it here as well. These principles are my own and are meant to be a guide to help you with your work log.
Always forward, never back
When you are adding to a work log, always log what was done today. A work log is not meant to update the past, or the future, but to provide a snapshot of what was done in the present.
Log at your own pace
If you feel like you should be logging your work every hour, then do so. If you feel like you should be logging your at the end of the day, then do so. The work log is meant to be a tool to help you, not hinder you. In my case, I do a bit of both. Sometimes, I log in bulk at the end of the day, and sometimes I log as I go. The most important part of this principle is that you log in a way that you are not forgetting what you did.
Start the day off right
I always like to start my day off by reviewing what was done yesterday. The purpose of this is to allow me to see where I left off. Especially if I am working on a large and complex task that may take a few days to complete.
Log what you do, not what you plan to do
This sort of plays in to Always forward, never back. A work log is meant to be a record of what you have done, not what you plan to do. If you want to track what you plan to do, I would suggest using a task manager or a to-do list for that.
Be honest
This is a big one. Be honest with yourself and your work log. If you didn’t do something, don’t log it. If you did something, log it. It’s that simple. The only person you are hurting by not being honest is yourself.
Log it and forget it
The purpose of this principle isn’t to actually forget what you did, but to make sure that you are not dwelling on it. Once you log it, move on. Typos happen, mistakes happen, and that’s okay. Don’t spend too much time on a single log entry.
Summary
Work logs are an essential tool for every engineer, helping track work, accomplishments, and patterns. Finding the right approach that enhances rather than hinders your performance is crucial. After using Worklog for over a week, I’ve found it incredibly helpful in managing my tasks and productivity.
Ready to revolutionize your work tracking? Here’s how you can get started:
-
Try Worklog: Download it now from the Worklog repository and experience the benefits firsthand.
-
Share Your Feedback: Your input is valuable! If you have suggestions or encounter any issues, please open an issue on the repository.
-
Contribute: Want to help improve Worklog? We welcome pull requests from the community.
-
Join the Discussion: Are you already using a work log? Share your tips and experiences in the comments below. Your insights could help fellow engineers boost their productivity.
Let’s build a more productive future together with Worklog. Start your journey towards better work tracking today!
Sources
- This is actually taken from the README of the worklog principles.
- Date was taken from: https://www.inc.com/melanie-curtin/in-an-8-hour-day-the-average-worker-is-productive-for-this-many-hours.html
Share on
Facebook LinkedInBuy me a coffee


Leave a comment