Task / Habit tracking desktop app.
  • Rust 99%
  • CSS 0.9%
  • Shell 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anthony Mills 491720ca26
All checks were successful
CI / lint (push) Successful in 1m35s
CI / test (push) Successful in 1m51s
Release / release (push) Successful in 6m4s
Merge pull request '0_2_9_release' (#2) from 0_2_9_release into master
Reviewed-on: #2
2026-09-11 11:15:26 +10:00
.forgejo/workflows Releases fix. 2026-09-02 00:46:53 +08:00
.idea When clicked from the task statistics window, a window will now open showing a calendar and the days that the task has been marked complete. 2026-08-21 10:01:39 +08:00
resources Update of appliication screenshots to match v0.2.7. 2026-08-26 09:37:36 +08:00
src Updated the background colour used to denote paused days on the calendar. 2026-09-11 08:51:48 +08:00
tests Paused days shown as yellow dots in task calendar, excluded from completion rate. 2026-09-11 08:37:00 +08:00
.gitignore Added content to the README file, added a LICENCE and a gitignore file. 2026-03-18 21:13:19 +07:00
build.rs Ensure the application gets bundled with the application when bundled as a .deb package. 2026-03-26 15:37:44 +07:00
Cargo.lock Added fixes for how task completion is handled for tasks that have been in a paused state. 2026-09-11 08:19:41 +08:00
Cargo.toml Added fixes for how task completion is handled for tasks that have been in a paused state. 2026-09-11 08:19:41 +08:00
CHANGELOG.md Updated the changelog with changes for the 0.2.9 release. 2026-09-11 09:08:01 +08:00
LICENSE Fixed the LICENSE and the uncomplete button name in the app. 2026-03-30 09:43:03 +07:00
README.md Updated the build link in the README file. 2026-09-11 08:40:00 +08:00

Habit Helper

CI

The Dream:

For many years I have wanted a no-nonsense habit tracker. Something to keep me focused on the daily tasks that need to get done with the following aims:

  • It runs on my desktop, not a phone, not a website that I need to load; my computer, that's it. It also needs to be a GUI, I love the command line, but if I have to open a terminal and invoke a command to mark off a task completed, it just feels like extra friction to me.

  • My goals are stored locally in an accessible format. I don't need some adware-ridden app monitoring my progress, only I need to monitor that.

  • Straightforward to use, I just want to add a task that I want to track, then just monitor my progress at it over time. A little dopamine hit when marking something off or looking at an unbroken streak is fine. But I don't want to be slaying dragons or worrying about silly hats in some habit tracking game like Habitica.

  • The app should be open source and Linux first, I don't care about Windows (it seems like lately Microsoft doesn't either), also anything I build is likely to be deemed "not pretty" enough for Mac users. Although they are free to compile it if they like.

The Tech:

This app is written in Rust it uses the rs-gtk library for the GUI. There may be prettier ways to do things, but rs-gtk seems simple enough to use.

Important Files & Directories

habits.db - SQLite database file, created when the application is first run. Stores all the tasks and their completion status.

src/misc/quotes.json - When all due tasks are marked as complete, a "Well Done" dialog window pops up with a random motivational quote from this file, you can open this file in a text editor to add or remove quotes as you wish.

Screenshots

Adding a new task with a dark-coloured desktop theme enabled.

Dark Theme - New Task Creation

Application home window with a few sample tasks and a dark desktop theme enabled.

Dark Theme - Task Listing

Window showing the statistics of the active tasks.

Dark Theme - Task Statistics

All due tasks successfully marked as complete for the day.

Dark Theme - Task Completion

Completion information of a task in the list.

Dark Theme - Tasks Complete

Tag management with a light-coloured desktop theme enabled.

Light Theme - Tag Management

Task listing with a light-coloured theme enabled.

Light Theme - Task Listiing

Acknowledgments

  • gtk-rs for the excellent Rust GTK bindings.

Author

This project was created by Anthony Mills.

License

This project is licensed under the GNU General Public License v3.0 see the LICENSE file for more information.