It exists! Check out [yabai](https://github.com/koekeishiya/yabai), which is nicely paired with [skhd](https://github.com/koekeishiya/skhd).
Even on my personal machine I haven't done that; I really just need to manage my windows and move them around.
1. Go to Settings -> Accessibility -> Display, turn on Reduce Motion.
2. Use something like this in your skhd config:
ctrl - 1 : yabai -m query --spaces --space 1 | jq -r '.windows[0] // empty' | xargs yabai -m window --focus
Repeat this for however many virtual desktops you typically use.