Time tracker for projects and tasks written in golang.

GoDoc Beerpay

Only supported on Linux



I created this in response to my need to record entries for tasks and tasks for projects, and my want to not have to type a whole command in the console for every action I wanted to perform. Thus gotime was born; an ncurses-style console user interface program with an SQlite3 database.

The time is stamped in seconds upon starting and stopping an entry; no timer is actually used. Time is rounded to the nearest minute and is viewable for each entry, task, and project alongside each item's description.

Getting Started

Upon starting the program you will be required to type in the name of a project. Navigate to the right and press Ctrl-A to add a task, and do the same to create and start an entry. Press Ctrl-S to save the entry.


Download the latest release of the binary or

go get


  • Ctrl-A: Add an item to the current view. If in the entries view it will "start" an Entry. This will create a timestamp of the current time and create an entry in the database. At this point you may type notes into the Entry's details. Press Ctrl-S to stop and save the Entry.
  • Ctrl-S: Save the text you have written in the output box, whether for an Entry's details or a description for a Project or Task. For an Entry this will save the details you have written and stop the timer.
  • Ctrl-D: Add a description to a Project or Task.
  • Ctrl-R: Remove an Entry, Task, or Project. Removing a Project or Task will also remove all of its children.
  • Arrow Keys: Left and right will navigate between Projects, Tasks, and Entries. Up and down will navigate within projects, tasks, and entries.
  • Ctrl-C: Quit the program.


  • Build OS package(s)
  • Integrate Harvest API
  • Allow for archiving


Created by Nanohard


Released under the BSD-3 License

Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay

Expand ▾ Collapse ▴


The Go Gopher

There is no documentation for this package.


Path Synopsis