Id like to comment explicitly on the effect of illness. I was able to work, although in a lot of pain, for about a month during this project. For a couple of weeks, I couldnt stand to sit in front of the computer for more than an hour a day. Yet I felt that I could design. My paper designs were, frankly, inadequate.
Im not sure whether to blame that on being ill or on the fact that paper designs, in the absence of feedback, are inherently risky. My philosophy would be to claim the latter, but both were probably part of the equation. In any case, my advice is to focus on getting concrete feedback about designs early and often. And dont assume that working through illness means being tough. It might well be a time to get more help, rather than a time to be brave and try to push through by force. Force isnt one of our best programming techniques, even in the best of times.