I haven't managed to design a pcb without finding an issue in the first run.

Shoutout to OSHpark's prototype service. Something like 5 bucks an inch and you only have to toss out 3 if you find a fault.

Write a list of everything that you fuck up every time, check the next one against it and eventually you get a good one first hit. I had three in a row that worked out of the box in the end!

Printing the board outline and layers combined as well. And checking you used the correct footprints against actual parts helps.