DeepSeek Flash with kicad + autorouting churned out a couple of working PCBs with minimal prompting, and customized ZMK itself for some custom input devices. At least for casual stuff this is a solved problem