I learned so much by just having ChatGPT explain each line and why it used it. Also it messes up a LOT but it can troubleshoot its own mistakes, so over time you can iterate to astonishing results. I've found it's best to build functionality one step at a time.