Then I realized that the process of breaking down workload and personal life into small tasks does not fit well in a to-do list app context.
What worked for me was using something like BusyCal, which is a souped-up calendar. It was more aligned with the 'breaking down' process because I used the 'banner' feature to help me define my weekly goals then I proceed with tasks assigned with specific chunks of time.
I then track the planned vs actual time spent using letsfreckle.com, which is a time tracking tool.
For the more higher-level stuff (ie. monthly goals, yearly goals), I just keep them in Trello.
As for habits, I have a weekly review to check where I am vs monthly goals and I also use that review to allocate tasks into my calendar.