beesoft software



Author: Piotr Pszczółkowski
Version: 0.1
Licence: BSD 2-Clause License
Source code:

Timelancer is a program that supports freelancers at work.
It allows you to control topics related to time.
The application is written entirely in Go using the Gtk+ library (gotk3).
The program is designed for Linux.


Timelancer allows the user to do (at the same time) the following tasks regarding time:

  • Working time measurement for the selected client,
  • Setting the alarm after a certain period of time,
  • Setting an alarm at a specific time.

screen shot of main window

Main window

The title bar of the window contains the name of the program, but also additional information.
The current date and day name are displayed below the program name.
The current time (with seconds after the dot) is displayed on the left of the title bar. The time is updated every second.

The work area of the window consists of four components:

  • Company - the name of the company for which the user is currently working,
  • Time counter - working time counter (applies to the company selected above),
  • Alarm after - alarm after a specified period of time,
  • Alarm at - alarm at user-specified time.

The 'Time counter', 'Alarm after' and 'Alarm at' components can be enabled and used simultaneously, at the same time.
screen shot of time counter

Time counter in use

The company must be selected to be able to run 'Time counter'.
The company can be selected in the combobox at the top of the workspace of the window.
If the company we want is not there, we must add it to the database after pressing the 'Add' button.

When the company is already selected, we can run the working time counter using the 'Start' button.
As you can see in the picture beside, the time counter is active and is displayed in a different color.
To end the working time measurement, use the 'Stop' button.

When the working time measurement is completed, it will be saved to the database (after the user's consent).
A list of all the current working times can be viewed in a special table after selecting the appropriate option in the program menu
In this table the user can use filters (company selection and time range).

screen shot how to set alarm


We have two options to set the alarm.

Alarm when the time period specified by the user has expired. E.g. when the hour passes and you can smoke next cigarette :)
Alarm at a specific time, e.g. when we have to go out to meet a client.

Before we can trigger the alarm, we must define when it is to happen.
The picture beside shows a dialog where the user can do it - you can set hours, minutes and seconds.
To set the value, you can use the +/- buttons, or after selecting a specific field you can use the PgDn/PgUp keys, which allows you to change the value in steps of 10.

Date of last modification: 2020-01-20
copyright © beesoft software