Custom designs using PYNQ Z2 board?

Hi! Could someone please tell whether one can create custom designs using PYNQ Z2 board? Does it support PL and PS designs build using Vivado and Vitis? Can I build only a bare-metal application in C language and program processor? Does it have a debugger? Can I build only a hardware design in VHDL? Like implementing an SPI Master in VHDL, and testing it on PMODs. Any help is appreciated. Thank you.