You can configure Hammerspoon so a hot key combination puts a window in a defined section of the screen. For example, I use Ctrl+Alt+H to put the current window in the left half of the screen, Ctrl+Alt+L for the right half, Ctrl+Alt+Enter for full screen, etc. This makes arranging your windows very fast.
I have an alpha guide I wrote on scripting macOS with Hammerspoon if anyone's interested! There's probably some editing issues and I've been meaning to move it to the actual domain/clean it up to release, but it's got good info in it now:
Integrating hammerspoon as the keybinding manager for yabai is a perfect match. You can treat yabai as an api for window management, and script some pretty cool things, like sending the current window to a new space, and either keeping focus or not, swapping windows, all kinds of fun stuff.
Full config: https://github.com/twpayne/dotfiles/blob/21d0edcebaeebf0d90e...