Shipped this project!
I built a tool to create and test board coverings, which is really useful for math olympiad problems. The trickiest part was getting the piece borders to render correctly, and I solved it by redrawing them on every change.
As an example: can you cover a 4×4 board using L-trominoes and one monomino? What about an 8×8 board? Can you generalize this for 2ⁿ×2ⁿ boards?