I'm also trying to do everything from scratch. I.e. I came up with a way to combine Bezier curves to build solids, convert curves into points, etc.
I used Inkscape to draw the base and profiles. I then imported the Inkscape data as <svg>.
The next step was to build the solid (using custom mathematical functions) and render the output in WebGL.
I used Evan Wallace's CSG library for some parts.
Once I was happy with the result, I used the experimental "save to file" feature in Chrome to save the STL data.pawn | king | rook | bishop | queen | knight