The problem this app is working on is a real pain point for me. My current solution is to use multi user accounts on my mac (roughly one for each use context I have), leave everything open, and fast user switch between the accounts. This works well enough and has the advantage of lots of isolation between contexts, but the overhead of creating and setting up a new user account is too much to have more than a couple of these (I'd love to have one per project). One advantage of the example of this level of isolation -- I setup my mail program in each account to only be setup for the mail accounts relevant to that context so I only get mail notifications for the context I'm focused on.

I'm strongly in favor of some innovation in this space, but this app's solution (and other, window management type solutions) I don't think has enough isolation between contexts for me.

I've often pondered this myself.

Windows has traditionally been a Window/document-centric OS where the primary object of interaction is a window (e.g. alt-tab would swap between individual Windows).

macOS has traditionally been an application-centric OS, one tabs between Applications.

What I would love to see is a project-centric system, where I can tab between projects and have all the relevant applications and documents appear and disappear with it.

Interesting way to see it. I have a way to tab between projects in emacs (where only buffers pertaining to a project are shown), but having this system-wide would be good.

Can you share your elisp?

It is entirely someone else's elisp: https://github.com/nex3/perspective-el

If you don't need workspace specific buffers, eyebrowse[1] is a good (seemingly less buggy) alternative.

[1] https://github.com/wasamasa/eyebrowse