I've used emacs as a text editor, note-taking device, email system, and window manager. Its legacy and flexibility are powerful ideas - and the community's ingeniuty is stellar - but using Emacs as an interface operating system isn't the solution, as it's stuck fourty years in the past.
EXWM is a good idea - but the solution should be to implement a better window manager, not to try to reimplement your whole world inside of the legacy GUI toolkit that Emacs provides. It's okay not to do most things in Emacs - the system may have been intended as a lisp machine, but today it's only practical as a text editor for functional programming projects.
It's worth studying and learning from when building a new user
interfaces - the Emacs environment has innovated in many ways, particularly with
respect to the harmony it creates between system tooling inside the emacs
ecosystem - but it's not a complete desktop solution because it doesn't
have the robust rendering facilities that the browser and modern GUI frameworks
do. I do like the look of the Emacs button rendering system, etc., but when you
use EXWM and really try to use emacs for everything, you start to see all of the
cracks and hacks in the system used to graft programs to the Emacs text-buffer
[EmacsWiki: Directory Variables]. If everyone using your project is
using Emacs, this is a useful facility for ensuring a reproducible, local editor
[EmacsWiki: Directory Variables]. If everyone using your project is using Emacs, this is a useful facility for ensuring a reproducible, local editor environment.