I've been doing that myself recently. I have a 3d printer, so I took the dxf plate generated by builder.swillkb.com and just extruded it in OpenSCAD a bit for some thickness. 3D printed it, put it together with some screws (the generator even comes with screw hole options), hand wired the switches together, to a Arduino Pro Micro and programmed it with QMK.
http://www.keyboard-layout-editor.com/#/
https://kalerator.clueboard.co/
http://builder.swillkb.com/
https://config.qmk.fm/
A neat response to this article would be someone making a keyboard using only these tools.