I don't overclock, so I'd probably forego the X470 motherboard in favor of a B450 and save a little bit.
I'm not a fan of single module RAM and I'd definitely want 16GB now instead of 8GB now in hopes of getting a second 8GB module to work with what I have, later.
The SSD is too small these days. While it may be fine for a Windows install, once you get all the updates, it's going to be looking mighty thin. I'd opt for at least a 250GB SSD.
If budget is a concern, then I'd definitely drop the X470 for a B450. I'd also drop the RX580 for a lower card. I'd probably drop the SSD altogether and just partition the HDD into two logical drives. One for your OS and programs which can then be cloned over to an SSD of the same size (or larger) at...