My first real challenge. This was the project that took me the most to finish. The documentation, the complexity, the setIntervals, the slight OOP nature of the project, all these gave me a couple of sleepless nights. The ideas kept coming but the implementation always felt short, so I started studying actual code on rosettacode.org to get a hang of the general approach. If I remember correctly the thing that I did wrong is that the generation calculations for each cell was done in a loop, so a cell with a lower index would behave as a new generation cell for a neighbouring cell with a higher index, so it would screw up my calculations. What I have learned from this is that looking at other people's code is way more productive than trying to reinvent the wheel, as long as you actually try to implement something, and not just mindless copy-pasting. The thing that I am most proud is the fact that you can add live cells as the game runs, no need to pause. This project also opened the door for SVG.
You can find more about the project on: