How to create a view grid that changes content type per row
sounds doable with Views Field View, I have done something a bit similar using Views Field View with Contextual filters. if it did't work the way you want, so you need to code it checkout this answer