FWIW I have come back to this project after a long hiatus with some new ideas and different tech. My previous approach was based on a desktop app framework that caused me lots of trouble with compatibility when upgrading and I gave up eventually.
So far I've just got the basics working - connecting to the server console remotely and passing input back and forth between the server and the app.
The code is published
here for anyone who's interested.
Nothing too interesting to look at for now but you can see what that looks like here: