~ loginctl list-seats
To show assigned hardware for a specific seat: ~ loginctl seat-status seat0
Initially there will one seat. To create a new seat just attach some hardware to it. ~ sudo loginctl attach seat-1 /sys/devices/pci0000:00/0000:00:1c.4/0000:05:00.0/usb3
Lets reassign a sound card to seat 1 instead: ~ sudo loginctl attach seat-1 /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.1/sound/card2
You will typically do this for a screen card, sound card and some USB ports and then you will have another seat available. ~ sudo loginctl flush-devices
Some gotchas:
Agile is stronger than ever, spending time on every small detail in a waterfall approach makes you burn human time on work that most probably could have been perfectly fine with a default approach.
Context matter but I fail to see people spending months on planning out a system before building anything.