The remote framebuffer protocol (RFB) used by VNC is a quite small and malleable tool for constructing GUIs. It requires only a bi-directional communication channel, which lets it tunnel through just about anything, and makes it very easy to write agnostically in Go.
As a proof-of-concept, I wrote a little program that starts a VNC server for accessing its GUI. I didn’t need any third-party libraries because the protocol is so basic. I view it with macOS's built-in VNC client. And it nests! So parts of the UI are implemented by other processes that also communicate via VNC, which are spliced in.
The source is here:
https://github.com/alltom/dirgui It’s based on
one of Omar’s ideas for turning a directory of files into a form where programs are buttons and other files are editable text fields.
I’m not done experimenting, but I thought this might be a useful epiphany for others!
Here’s a video of the basic form functionality: