Here's something I've been doing for the past 3 years ago since I've gone indie.<p>I have a text file which I keep open in vim, called "wip" which I have loose sections of content. Let's call them section 1, section 2 and section 3.<p>I list TODOs which I want to accomplish recently in section 3. When I start working on an item, I might expand on it and add additional sub-items, indented. I mark items I'm working on with a "@" and when they are finished, with a "<i>". Sometimes I'm on several items at the same time (too many is not a good sign), I will add a few @@@@ to the start of a line I'm </i>really* on, no biggie.<p>I mentally group my items into projects/types of activities like Project1, Project2. Each time I start working on Project1, I add a new line which says Project1 and the start time to section 2. When I stop working with Project1, I add the end time to that line.<p>Every morning, I run a little script which scans through section 2 in "wip" and extract out the time I spent on each project and inserts that at the bottom of section 2. I then copy section 2 and section 3 of "wip" into a new file giving yesterday's date as the filename. Then I go into "wip" and remove all the items marked with "<i>" as well as section 2 and then copy section 1 into section 3 as well. Section 3 contains things that I want to do daily, such as stretch myself in the morning or to manually check if a specific service is up (enough till I automate them or build a habit out of it).<p>A great side-effect — the files that are created everyday becomes my work log. I can run scripts to generate how much time I've spent on a specific project or how much time I've work in a given year.<p>My wip file looks like:<p>section 1 - template TODOs<p>section 2 - projects and their start-end time<p>section 3 - TODOs (each like might start with a @ or </i> and might be indented to various levels, seldom more than 2-3 levels). I don't keep the entire project here.