`ssh` then `vim` but within a `screen` session, this way I maintain the state, e.g vim stays open on the configuration file or the code, and I can have multiple "windows" per project, all easy to switch to.
I reattach to the running session with `screen -raAD` and I made a shortcut so that if I type `s` in my terminal I'm in my server, ready to code.
Because connectivity today matters, namely yes I want an "app" to work on my current device but what if I want to use on another device? Share with family, friends, colleagues or even a random stranger? Then arguably hosting the app with its data is the most logical way.