node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »


Build Status dependency stats Standard Version


A great time tracking tool.

Use natural language and simple text based interfaces to track time on projects.


Tickbin requires Node.js v4.2 or greater.

  1. npm install -g tickbin
  2. tick --help


tick commit

commits time entries

tick commit "8am-12pm fixed a bunch of bugs" # records time for today 
tick commit "yesterday 9pm-11pm late night code" # records time for yesterday 
tick commit "Jan 1 12am-1am partied!" # records time for Jan 1 
tick commit "12pm-1pm great #lunch at Mervo's" # add #tags anywhere 
tick commit "4 hours 15 minutes no specific time" # record durations without start/end 

tick log

display time entries

tick log # shows you all your time entries for the past week 
tick log -f "jan1-31" # entries for Jan 1-31 
tick log -f "jan - feb" # entries for Jan 1-Feb 28 
tick log -f "#lunch" # entries tagged with #lunch 
tick log -f "#dev and #bug" # entries tagged with #dev AND #bug 
tick log -f "#dev or #design" # entries tagged with #dev or #design 
tick log -f "#dev and not #nobill" # entries tagged with #dev but not #nobill 
tick log -f "#dev or #design May - June" # #dev or #design from May to June 

tick start

start a timer

tick start # starts a timer for the current time 
tick start "8am" # starts a timer for 8am 
tick start "8am squashing some bugs #dev" # starts a timer for 8am and provides a message 

tick stop

stop a timer and commit an entry

tick stop # stops a timer and creates an entry for the duration 
tick stop "10am" # stops a timer as of 10am 
tick stop "10am creating bugs :( #dev" # stops a timer as of 10 and provides a commit message 

tick cancel-timer

tick cancel-timer # cancels the current timer without creating an entry 

tick rm

remove a time entry

tick rm 4yKrumkjl # remove time entry with id 4yKrumkjl 

tick register

register for a account

tick register # asks you for username, email, password then creates an account with a couchdb for you 

tick login

login to tickbin, sets up syncing

tick login # asks you for username and password and sets remote in .tickbinrc 

tick sync

sync local db with the remote

tick sync # syncs your local db with the remote db 

tick upgrade

upgrades entries between releases

tick upgrade # upgrades your tickbin database when new tickbin is released 


tickbin is a simple time tracking application with an emphasis on minimizing disruption to the user. It accomplishes this by:

  • natural language input (no need to fill out forms or click buttons)
  • quick in and out interfaces (text based interfaces wherever users work: cli, slack, alfred)
  • offline priority (internet should not be a requirement)

tickbin emphasizes user data ownership:

  • open source client with local data storage
  • optional self hosted data replication (via couchdb)
  • premium integrations via hosted service for portability

Local database

Local database path will default to ~/.tickbin. If you would like to specify a custom location, add the following to ~/.tickbinrc:


If you're developing you can add a .tickbinrc file to your development directory.

Remote sync

To sync with a remote database, add the following to ~/.tickbinrc:


Run tick sync in order to sync your database with your remote server.

Copyright (©) 2017 Two Story Robot Labs Inc.

Lead Maintainer: Jonathan Bowers