You can do magical things if you combine code and wood. I design puzzles using two different algorithms: reaction-diffusion for the Entropy series of puzzles and differential growth for the Chaos series of puzzles.
The reaction-diffusion algorithm creates a style of puzzles characterized by pieces with a very strong organic vibe. They can look like coral or brain tissue.. The pieces have a large variation in size.
These are by far my favorite puzzles form an aesthetic point-of-view. Designing them is fun, the webgl shader makes a design rather quick. But it requires a lot of manual finessing to get a puzzle with pieces that interlock everywhere.
The chaos puzzles are created using a completely different algorithm. Written in P5.js, it uses a differential growth algorithm: a shape is filled with a number of cells, voronoi-style and the lines separating the cells are elongated. The puzzles are very different in style from the Entropy puzzles: the pieces are much more compact and more similar in size. Tweaking the algorithm allows for pieces with different shapes. Such as the Oak tree, of which the pieces slightly resemble oak leaves:
The starfish, instead, has pieces that might resemble small ocean creatures.