I haven't made a ESP32 design, but I recently learnt KiCad and PCB design enough to do a RP235x board with a non-reference design choice (1.8v VDDIO). I only used the official hardware guide + LLMs for questions, and had it work on the first try - it wasn't too hard!
One thing I learned the hard way is the antenna must not lie on your PCB! Even if it's just board without copper. I didn't see this stated anywhere, but once you look, every devkit is doing that, the antenna sticks over the PCB. When I had it on the PCB I had very bad connectivity and very high power usage.
I have built one PCB with esp32-s3-wroom-1. Usb line is working and I can program the mcu module. However I could not make the ip5306 auto start on battery yet. And I am still unable to get audio from pcm5102a + pam8403 pipeline.
What I have well learned is It's a hard, time consuming and relatively expensive hobby.