You can easily debug any python app by adding two lines of code that simply adds a "breakpoint" that embeds the IPython interpreter.
This blog is powered by enaml-web and Jupyterlab as an admin backend. Jupyterlab happens to be great for doing everything, including writing and previewing markdown as well as testing any code you have.