Hustle

Source Code

Download

Latest version:
1.1
Your version:

We live in a fantasy world, a world of illusion. The great task in life is to find reality.
- Iris Murdoch

image of the application

Hustle is a simple desktop application for keeping tasks. It runs on Windows and Linux.

Tasks can be organized as a flat list, or in a hierarchy to reflect relationships between tasks. Use a simple drag-and-drop metaphor to organize your tasks.

Features

  • Store tasks in a local SQLite file database.
  • Write notes using the popular markdown syntax.
  • Customize note styles with CSS - the app comes bundled with 7 styles to choose from.
  • Set task due dates to plan your work, and completion dates to track your progress.

Use Cases

If you need some random ideas of what task lists can do for you:

  • Track the progress of a hobby or craft project
  • Plan a home renovation or DIY project
  • Create a reading list and write book reviews
  • Keep a recipe book
  • Keep a journal

Change log

The fact that our task is exactly commensurate with our life gives it the appearance of being infinite.
- Franz Kafka

version 1.1

15 January 2025, 44 days since the previous version.

New Features

  • The Hustle homepage is now live!
    • Using the Help > homepage menu in the app will open the homepage with a JavaScript version check that tells you if a new version is available
  • Created a new app icon
  • Wrote the user documentation
    • HTML files that are theme-aware, light/dark follows your system
    • If running from source you need to build them first, see docs/README.md
  • Insert task links into notes using a completion list
    • ctrl-space in the note editor to show it
  • New Edit > Heading shortcuts in task notes
  • New settings
    • Always show note editor on task open (hide/show depending if notes are empty)
    • Notes accept tabs (tab key indents / focus next control)
    • Insert tasks at (insert new tasks at top / bottom of list)
  • Attach files to tasks
    • Show files as links in your notes, clicking the links opens the document
    • Show image attachments in notes
    • Combine the two to create a linked image to a web address or file attachment
  • Trashing tasks
    • Send tasks to the trash when they are no longer wanted
    • Take them out the trash if you regret it later
    • Delete trash manually or on application exit (OFF by default)

Changes

  • Implement proper dark theme support using DarkMetaStyle
    • (this is a new requirement if building from source)
  • Show the created date on tasks
  • Added more on-boarding tasks
    • Create a new database to see them in action
  • Windows: Inno setup installer now available.

Under the hood

  • Refactored the data layer that simplifies how query parameters are used
  • Ran Jedi code tidy on all units, code and comments normalized to be consistent
  • Checked for memory leaks (all plugged)
  • Created a test suite to catch future regressions:
    • applying database migrations when upgrading to a new version
    • saving tasks and their notes
    • computing relationships between tasks (when moving tasks to new parents)
    • sending tasks to trash, and emptying it out
    • attachments

Version 1.0

2 December 2024

  • Create tasks and sub-tasks to any depth
  • Drag-and-drop tasks to rehome or reorder them
  • Set Due and Completed dates
  • Filter the task tree by entering a search term, and optionally hide tasks that have been completed
  • Write task notes in markdown format
  • A variety of note styles to choose from