At one of my clients I basically live in jupyter and emacs. One of my issues with jupyter is that I'm often in a mode where I'm doing development and some analysis. The browser client is pretty good for analysis but rough for development. Emacs is much better for development. Though this mode has a few rough edges, it appears to be coming along quite well.
command to connect to the same kernel that the browser is attached to. I can do more complicated coding in that repl (inside of emacs). Then, when I need visual feedback, I do some kind of one liner plot and hit play in the browser.
It works pretty well, but maybe this will make the whole thing smoother.
I think the notebook is great for prototyping things, it's so nice to see the output inline with the code.
Once the code is mature enough, I copy/paste it into a python module and check it into version control. Then in a notebook I just import my function to generate plots or analysis without cluttering up the notebook.