In my current Node.js application I provide a GUI that runs in the browser as well as a command driven terminal interface. The GUI is much better for status updates, receiving changes from events on remote devices, doing many things at once. The terminal is much better for simple things, repetition, and automation.