It sounds more like an abstraction problem than a documentation problem to me... good code should be self documenting. Of course documentation helps, but well abstracted code is much much more important than documentation for the size of project that one guy is working on.