An interesting concept that could use some more polish, for instance it takes a long time to check if a solution is valid, which takes up a lot of time when using trial and error to avoid self-intersections.