Keeping Track of Sporadic Development Projects

I have been working on a personal project for about the last year, off and on.  It is written in Python using Django.  I started with Java and J2EE and JSF but I was spending a lot more time trying to figure out weird Java problems and not enough time getting things done, so I finally abandoned the Java code base and switched to Python.  The project itself is what I think is an interesting approach to knowledge management on the web, but that's a topic for another day.

The challenge I am running into is that I am the sole developer and it's something I pick up and work on furiously for a few weeks and then life gets busy and I don't look at the code for 2 months.  Unfortunately all the great ideas and state of mind that I had when I put the project down are long gone by the time I pick it up again.  So I needed to find a way to keep track of that state.

I started with a simple TODO.md file in my source tree, but that turned out not to be ideal.  I want to capture a lot more than just a simple TODO list.  I want to keep notes on things that I've tried, things that I want to try, technical approaches I'm thinking of, additional features I'd like to add, etc.  But I don't want an infinitely long text document that I have to parse every time I pick up the project.

Plus I want to keep track of temporality.  It's really useful to refer back to what I was thinking about six months ago, but I don't want that mixed in with the stuff from three months ago.  And I want to quickly look back at what I was thinking about the last time I picked up the project.  Which may be yesterday or a month ago.

So I have started a journal for the project in MacJournal.  I've been using MacJournal for some time for other purposes but I have not tried it as a "lab notebook".  So we'll see how that works out.  My initial thought was to use a blogging platform but I don't really want all my thoughts about this out in the ether (even if it were a private blog), since this is a personal project and not something I'm ready to share yet.  Hopefully a local MacJournal will give me the best of both worlds.  I've only written the inaugural entry so it's too soon to say if it is a good approach or not.  The one complaint I have so far is that MacJournal apparently does not support headings which is not something I've ever missed before but would be very handy for this usage.  For now I'm simply marking my headings bold, but it would be nice to actually have things stored semantically and with hierarchy.

If I find this to be wildly successful or a catastrophic failure I'll be sure to post a follow-up.