It does sound like there was no proper contract between the coder and client, which means there were probably no NDA or IP contingencies, which also explains why the coder was able to work for 200+ hours without seeing a dime. I believe the coder is in the right here. I just wonder if what he did was best for his career. It looks like most of HN agrees that it was.
Considering he release something that he created on his own from SCRATCH, he can release it all he wants since all the code belongs to him. In this case, he is doing something within his rights.
If his work is derived from the "client" codebase, then its an entirely different case.