Galactus
A problem that has yet to be universally solved is proper time management. Although there are myriad attempts, I will add my standard to the pile, which resolves the requirements for the goal condition to the point that I need. Please review these requirements here.
The problem statement: To track focused time spans where precise task(s) gets done, and to align those spans with broader personal goals.
My source code is generally available at github. It is a single go binary that anyone can run. All data is stored in a local sqlite3 file located at (~/.galactus/1.db). There is a config file (~/.galactus/config) moreso for future use.
The workflow functions as:- Generate an open span. Span here refers to one
row with an opened at time, and a closed at time, which will be
null if the span is still open. There can only be one open span
at a time. You are required to add a task, which is a
singular directive for that time. There is no set time for a span
(i.e no pomodoro timing), so you can enforce that yourself. You
can also add any number of space separated labels which function
as project labels, tags, priority, etc. These will be stored as a
composite key with the span id for aggregation.
galactus open -task "write galactus article" writing low
- Do work. There is no form of time control, so you enforce time blocks and
focus details (like not wandering phsyically or on the web).
For others this may seem opposite of a
time management
system, but I prefer this decoupled way as a form of discipline and ownership. Offboarding this critical skill to a software erodes your ability to focus over time. I require myself (and a physical timer I have on my desk) to care.
galactus status
-
Once you find a natural stopping point, close the span, with a
span comment detailing your progress on the directive. (You should
also close a span, when you are so unfocused that you need to wander/rest,
and track a new span with wasted / rest labels).
galactus close "wrote the article, need to do some polishing"
Repeat. Tasks, and labels are hashed, so you can (and should) have multiple spans
for any given task or set of labels. There are a few commands to visualise
your history as a log or gantt chart.
galactus history
galactus gantt
And that is pretty much it. It serves my usecase, and I will continue to polish and add features, but it is complete to my first set of requirements. galactus close.
Examples
I have aliased galactus
to gl
for simplicity.
➜ gl open -task "write article on galactus release" galactus perweb New span opened span: 1f002a2df4909c6ffd28e9f8152bc6186b843b09b8d488ff89f2c4d9e21de6c1 opened: 2025-09-21 18:24:52 +0000 UTC closed: comment: task: 0ffae7092109c3cbd340d53b4d7a82b4340ac6dfd41fbfe520502cead043ee72 task comment: write article on galactus release labels: galactus, perweb
➜ gl status Current span status span: 1f002a2df4909c6ffd28e9f8152bc6186b843b09b8d488ff89f2c4d9e21de6c1 opened: 2025-09-21 18:24:52 +0000 UTC closed: comment: task: 0ffae7092109c3cbd340d53b4d7a82b4340ac6dfd41fbfe520502cead043ee72 task comment: write article on galactus release
➜ gl close "finished v1 article, ready to publish, needs grammar check" Span closed span: 1f002a2df4909c6ffd28e9f8152bc6186b843b09b8d488ff89f2c4d9e21de6c1 opened: 2025-09-21 18:24:52 +0000 UTC closed: 2025-09-21 18:31:53 +0000 UTC comment: finished v1 article, ready to publish, needs grammar check task: 0ffae7092109c3cbd340d53b4d7a82b4340ac6dfd41fbfe520502cead043ee72 task comment: write article on galactus release
➜ gl history - span: 57b73ce12fa68d7c5173a34a15a692f9db5355abc2e4cc24d57fab3285b2468d opened: 2025-09-21 04:53:33 +0000 UTC closed: 2025-09-21 04:54:19 +0000 UTC comment: finished fix task: 57c96c0965bdb901acb069e3e0a5bf09b288800f3a4a213e104b5b8a54818b5c task comment: fix race condition in start func - span: 6690631ccf7feb68ae1d6e67b9c8ce372eeaac0df220660bc42e30f2f153b4f6 opened: 2025-09-21 05:34:11 +0000 UTC closed: 2025-09-21 06:34:56 +0000 UTC comment: started gantt, did a good amount task: 9c904ea8d926ebeccb3461e78ab79446db4a05d882364777c1307698a9edbc5a task comment: get gantt v1 working - span: 1f002a2df4909c6ffd28e9f8152bc6186b843b09b8d488ff89f2c4d9e21de6c1 opened: 2025-09-21 18:24:52 +0000 UTC closed: 2025-09-21 18:31:53 +0000 UTC comment: finished v1 article, ready to publish, needs grammar check task: 0ffae7092109c3cbd340d53b4d7a82b4340ac6dfd41fbfe520502cead043ee72 task comment: write article on galactus release