You can run a passable GUI over SPI using displays with an integrated frame buffer. LVGL in particular is a GUI lib optimized to render strips of updated data rather than full frames and it performs well with such devices.
Yes, I've been doing that. LVGL is amazing. Still, I'm waiting for the time when we have a GUI-based OS available. The possibility of running scripts that work as apps from a memory card and so on.