@sydneyfalk custom keyboards is something I know a little about
you'll want all the keyswitches wired into a matrix and that matrix wired into the IO of your microcontroller of choice
for firmware you can do a custom keymap for qmk https://github.com/qmk/qmk_firmware
guides are available, for this the best places to look are reddit.com/r/mechanicalkeyboards and deskthority.net