The biggest breakthrough for me was realizing that I was putting due dates on things that didn’t actually have due dates. For example, I’d put “Friday” as a due date on a task that I wanted to get done by the end of the week; but that task didn’t actually need to get done this week, it’s just a preference or a personal imperative. The result is that I’d end up with dozens of tasks that were “due” on a certain day but only a fraction of them actually were really due. This is demoralizing (when you see that badge notification with “72” on it) and, even worse, it distracts you from taking care of the things that really do have deadlines.
So I instituted a rule: Don’t put due dates on tasks that don’t have real, objective deadlines. And it made a world of difference because the only “overdue” tasks were things that actually were truly overdue, and since these are a small subset of all my tasks, that number never got very large.
What I do to indicate something like “urgency” instead is use priority levels. Each day I identify the 1–4 “most important things” (MITs) that I want to get done that day, and they get a priority of 1 (red, in Todoist). Stuff that I want to get done this week gets priority 2 (orange). Stuff that is not that urgent but on the radar screen gets priority 3 (yellow). Everything else gets priority 4. I have filters set up to help me visualize different sets of tasks for different situations (just MITs, anything that’s labeled @next and is either priority 1 or 2, etc.).
Also, for the love of God everyone, do your weekly review! I can’t fathom skipping a weekly review — it’s like not brushing your teeth for a week.