Rather than trying to go whole-hog on linking the two worlds together at a process level, I've just embedded an Erlang release into the Electron package, which decompresses itself to the user's Library/APPDATA dir on Electron startup, transparently registers as a service (so it can continue to run for things like server sync when the app is quit), and then communicates with the app using Unix domain sockets.
It's a bit like the feeling of having a Service Worker, but one that just happens to be able to embed things like physics engines inside of it.
[0] https://github.com/blog/531-introducing-bert-and-bert-rpc
It made it out into the regular release and I think it's fixed but TBH I haven't tested for a few months.
My work is all on GH here as well: https://github.com/orbitaljs There might be some synergy here between the projects.