At the heart of most custom keyboards is a PCB, or printed circuit board. The PCB determines how you program a board and what switch layouts it supports. The Zeal60 from ZealPC is one of the most popular PCBs for a compact custom keyboard project right now. It does not come cheap, and that's not just because of the pretty purple color. It runs powerful firmware with one of the most advanced lighting setups available in a DIY keyboard.
A keyboard's PCB is roughly analogous to the motherboard in your PC—it's where everything connects to make your keyboard work. In a high-end custom board, the PCB includes a microcontroller with user-programmable features. In the case of the Zeal60, it's an ATmega32U4 chip. Unlike many PCBs, this one is not part of a full kit (case, plate, switches, etc.). If you buy a Zeal60, that's just the start of your keyboard adventure. However, it's compatible with a wide variety of parts.
You'll need to work some magic with function layers if you build with the Zeal60. It only supports 60% layouts similar to the popular Poker 3 and HHKB2 boards. That means you don't have arrows, an F-row, or a number pad. All those actions still exist, but they're in function layers. For example, the arrows are accessed via Fn1+WASD in the default configuration. Many people prefer 60% boards because they're compact and require less hand movement.