I did a few games with Elm but used the SVG route myself. It's usually a lot easier to work with and you don't really have to deal with CSS and the DOM update is still lazy.<p>Finally, I think there are a few red flags in your code. For example you have a hardcoded list of cell locations but you use a method to compute the number of rows which has a sqrt in it... might as well hardcode the number of rows :)