I have many memories of experimenting with TesselMania! years ago in elementary school. I set out to create my own version of it using modern graphics APIs.
In design mode, the user can create the shape by clicking and dragging points.
In tessellation mode, the program visualizes the full tessellation. The user can adjust the shape while visualizing its tessellation in real time.
More examples.
I implemented fill support.
The program can handle arbitrarily complex polygons.