I built a mechanical keyboard from a kit this week, and the part everyone frets about, the soldering, turned out to be the relaxing bit. Eighty-odd switches, two pins each, a steady evening with a podcast on and the iron warming up. It's repetitive in a way that's almost meditative, and modern kits are forgiving: through-hole, generous pads, nothing surface-mount to make your hands shake. By the end I had a tidy board and a smug little glow.
Then I plugged it in and nothing happened, which is where the actual project starts. The firmware is QMK, which is genuinely brilliant and also the place I lost an evening. You define your layout as a C file, a grid of keycodes, compile it, and flash it to the microcontroller. My problem was simpler than the firmware deserved: I'd wired the rows and columns in a different order than my keymap assumed, so half the keys typed the wrong thing and a couple typed nothing at all.
The fix was fiddling with the keymap matrix until the layout in the file matched the layout under my fingers, recompiling, and reflashing. QMK has a handy mode that prints which matrix position each keypress hits, which is how I finally mapped reality onto the file rather than guessing. Twenty minutes once I stopped trying to reason about it and just let the board tell me what it was actually wired as.
So: the soldering is the easy, calming part you can do half-asleep. The firmware is where you'll actually spend your frustration. Worth knowing before you start, because I went in braced for burns and got tripped up by a C array instead.