Scientists are increasingly interested in creating standalone web-applications as computational and data analysis tools. The authors have worked with several such research groups to design, develop, and deploy such web applications that are increasingly based on Jupyter notebooks. One of the primary reasons among many to use Jupyter notebooks is the fact that research groups inheriting these applications are capable of maintaining and extending them. In this paper, we walk through the design process for one such application and discuss development environments that are best suited to Jupyter notebook development. We then explore several other applications where we employ similar design patterns. In doing so, we expound upon the benefits, limitations, and challenges of Notebook-based applications to provide a guide for other facilitators in similar situations.