A to-do list holds things that get finished. A habit tracker holds things that get repeated. Put a habit on a to-do list and it comes back tomorrow, which the list reads as failure; put a task in a habit tracker and it stays checked forever, which tells you nothing.
That's the whole distinction, and it's worth being strict about, because the symptom of getting it wrong, a to-do list you dread opening, looks like a discipline problem and isn't.
The two are measuring different things
| To-do list | Habit tracker | |
|---|---|---|
| Item is | A task with an end state | A behaviour with a frequency |
| Success is | The item leaves the list | The item comes back tomorrow |
| Useful view | What's due now | What you did over weeks |
| Overdue means | Do it late, then it's gone | Nothing — you missed one rep |
| The number that matters | Zero remaining | Completion rate over a window |
| Failure mode | Infinite backlog | Streak anxiety |
The row that does the most work is the fourth. "Overdue" is coherent for a task and incoherent for a habit. Yesterday's missed run cannot be done today; today's run is today's. A to-do list that rolls the miss forward gives you a permanent small debt, and a permanent small debt is exactly the thing that makes people stop opening the app.
The test
If you're not sure which one an item belongs in, ask: what does "done" look like?
- "Book the dentist": done is an appointment in the calendar. Task.
- "Floss": there is no done, only again tomorrow. Habit.
- "Write the report": done is a report. Task.
- "Write for 25 minutes each morning": the point is the recurrence. Habit.
- "Do the tax return": annual, has an end, has a deadline. Task, however regularly it recurs.
- "Weekly review, Friday afternoon": recurring behaviour with a schedule. Habit, even though each instance produces an output.
The two that fool people are the last pair. A yearly recurring task is still a task, because it's driven by a deadline. A weekly review is a habit, because it is driven by a rhythm and nothing bad happens on the day you miss it except that you missed one.
What a to-do list does badly with habits
Recurring tasks accumulate. Miss three days of a daily recurring item and most apps hand you three overdue copies. Nothing about that helps: you can't do Monday's meditation on Thursday.
It hides the pattern. The useful question about a habit is "how often, over the last month, and which days do I miss", and a list that deletes completed items has thrown away exactly the data that answers it.
It flattens priority. A habit and a deadline in the same list means the deadline always wins, every day, which is correct in the moment and corrosive over a quarter. Habits lose every individual comparison against something urgent and still matter more in aggregate.
What a habit tracker does badly with tasks
No deadlines. Habit trackers deal in schedules, not due dates. A tax return in one is invisible until it's late.
No dependencies or projects. Tasks come in sequences with blockers. Habits don't.
A checkbox that means nothing. Ticking "Launch the site" once in a habit grid gives you a 1/30 completion rate and a streak of one, which is a nonsense reading of a completed project.
The two-system setup that works
Not two apps for the sake of it. Two, because the reviews happen at different times and on different cadences.
The to-do list is checked daily, in the morning. It answers "what's due". It empties.
The habit tracker is glanced at all day and reviewed weekly. During the day you want a surface that shows state without demanding anything. A home screen widget is the standard answer, and one tap to check in. The weekly review is where the actual information is: completion rate, which weekday you keep missing, whether a habit has quietly died.
The seam between them is one rule: when a habit needs setup, the setup is a task. "Go to the gym three times a week" is a habit. "Buy running shoes", "find a gym near the office" are tasks, and they belong in the list where they can be finished and forgotten. Habits that never start are usually habits with an unfinished task in front of them.
A 30-day grid per habit rather than a list that only grows, streaks that respect a schedule, and a widget for the glance during the day. Check-ins export as CSV, so a quarterly look at what actually happened is a five-minute job.
What it doesCan one app do both?
Some try. Most end up being a to-do list with a streak counter bolted on, and they inherit the list's model, which means a missed habit still becomes an overdue task, and the pattern view is still missing.
Worth checking three things before you commit to a combined app:
- Does a missed habit produce an overdue item? If yes, it's a to-do list.
- Can you see a month of a single habit at once? If not, there's no pattern view, which is the entire reason to track habits.
- Do habits and tasks appear in the same daily list? If they do, the deadline wins every day and the habits will fade.
One app passing all three is fine. Two apps is not a failure of tooling. It's two different questions being asked at two different times.
The one-line version
Tasks are debt: you want the number to reach zero. Habits are a rhythm: you want the number to keep happening. Any system that treats a missed rep as debt will eventually make you stop looking at it, and a tracker you don't look at tracks nothing.