Skip to main content

Subtasks

Lunatask handles subtasks through checklists embedded in task descriptions, offering full flexibility of Markdown documents to arrange them — nest items, organize them under different headings, or place them right into the middle of your project breakdown.

To add subtasks, use formatting toolbar and add a checklist. For an even smoother experience, just type [] or [ ], press Space, and continue typing — no need to take your hands off the keyboard.

Reordering subtasks is easy too — just handy Alt+Arrow Up or Alt+Arrow Down shortcuts, or select the option from the formatting toolbar.

Subtasks

Personal note from Mike

In general, there are two paths to implementing subtasks – either one implements proper (sometimes called “real”) subtasks, which are their own entities in the data model a have a relation/connection to their parent task, or one chooses the other approach, leveraging the power of Markdown documents. Each approach has its own benefits and downsides.

In the very beginning, when Lunatask was a side project I just started building for my own needs on weekends – a very simple, basic to-do app but with unique approach for managing the workload I needed to handle – given my needs and Lunatask's no other feature set at the time (no calendar, no time-blocking, no timers), I picked the approach of flexibility Markdown documents provide.

People sometimes ask for implementing or adding support for “real“ subtasks – the opposite approach to what we’ve been building upon for all these years – pointing out current limitations, like not being able to drag a subtask onto the calendar or start a timer on it.

I certainly somewhat understand – but it's not something we can just say “scratch that”, go the other way, and somehow slap “real“ subtasks onto Lunatask, this far down the road. It's too late for “real” subtasks in Lunatask, but that does not mean we can't iterate and improve on what we have – automatic progress tracking we have nowadays is a great example.

On the other hand, I have ADHD. I struggle with motivation, focus, overwhelm, starting on tasks, and everything that comes with that – whether it’s constant stress, anxiety, you name it. Yet strangely, I don't personally have this problem.

I'm working on features and tasks for Lunatask of all sizes. When building a new editor, replacing the old one we had for years, I had one big “in progress”, “New editor” task, which took almost two months to complete, with many, many subtasks, notes, and links in it (that's where Markdown comes in handy!) – it was a big project.

At the same time, dozens of other tasks and issues had to be done or addressed – whether internal, support, marketing-related, bug fixes, etc. So, I was either working on those – let’s say, some small marketing task – or I was working on the editor. If I were using time-blocking, I'd schedule the marketing task at some time on the calendar, and then schedule to continue working on the editor for three more hours afterward – makes sense, no problem at all.

This example makes me think and question whether not being able to drag a subtask onto the calendar is really such a big problem or limitation, and not just something people only think they need, or perhaps are just accustomed to from another app they used before.

I don’t know, but certainly food for thought 💡

Progress tracking

If there are subtasks, you’ll notice a subtle progress bar beside task's name in your task list.

There are two ways to track progress on multi-step tasks. By default, Lunatask calculates it automatically, keeping it always up to date. Alternatively, you can override it and maintain manually, depending on your exact needs for each specific task or project.