todo-tracker
Go terminal app powered by tview for managing a limited list of active TODO items.

Motivation
Inspired by a suggestion from 4,000 Weeks by Oliver Burkeman, this simple todo list app limits the number of items on a closed list from which all work must be done. The idea is to force intentional prioritization rather than maintaining overly long todo lists and thinking that if only I worked harder or were more efficient, I could get everything done. Life is short (on average around 4,000 weeks ~= 80 years), so we have to choose what is worth our precious time and effort.
Getting started
To build and launch the app, install go and checkout the code:
$ make
$ tt
The default location for the backing sqlite db is ~/.todo_tracker.sqlite
, which may be overridden by setting the TT_DB_FILENAME
environment variable. Note that the app will initialize a db in the given location if it doesn't exist.
The default location for the debug log is ~/.todo_tracker.log
, which may be overridden by setting the TT_LOG_FILENAME
environment variable.
$ export TT_DB_FILENAME='/path/to/db.sqlite'
$ export TT_LOG_FILENAME='/path/to/logfile.log'
While the app is running, available actions should be apparent - keyboard shortcuts are visible in the header.
For navigating tables and forms, I don't override tview defaults - for forms, that means tab/Shift+tab to move back and forth between form items, enter to select a button, etc; for tables, that means j/k to move up and down, G to jump to the end, and gg to jump to the top.