The physical build of a keyboard is genuinely the easy bit, which nobody tells you. A hot-swap PCB, a tray of tactile switches, lube if you're feeling keen, stabilisers that you will spend longer tuning than everything else combined. An hour of pressing switches into sockets and you've got a working keyboard. It even types.
Then comes QMK, and that's where the evening actually went.
The board takes standard QMK firmware, so the loop is: edit a keymap.c, build, flash, test, discover you put the layer-toggle somewhere your thumb can't reach, repeat. A 65% layout means there's no number row given over to function keys, so half the work is designing a sensible second layer. Arrows on hjkl under a hold, function keys across the top, media controls somewhere I'll actually remember.
[1] = LAYOUT_65(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /* ... */
KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
)
The bit that fought back was a stuck modifier after flashing, where the board behaved as if Shift was permanently held. The fix was unglamorous: clear the EEPROM with the bootmagic reset, reflash, and stop hot-reflashing while a key was bottomed out. Once it settled, it settled. Three days of typing on it now and the layout fits my hands. The firmware was the project. The keyboard was the excuse.