Shepherding your Shiny App from Proof of Concept to Production

Marcin Dubel will present Appsilon's preferred workflow for creating production quality Shiny apps. He'll touch on key topics in the app development process that lead to apps which users enjoy and developers find easy to maintain and extend.

Shepherding your Shiny App from Proof of Concept to Production

August 10, 2021

What You'll Learn

Marcin Dubel will present Appsilon’s preferred workflow for creating production quality Shiny apps. He’ll touch on key topics in the development process that lead to apps which users enjoy and developers find easy to maintain and extend.

A great advantage of Shiny applications is that a proof of concept can be created quickly and easily. It is a great way for subject matter experts to present their ideas to stakeholders before moving on to production. However, to take the next step to a production application requires help from experienced software developers. The actions should be focused on two areas: to make the application a great experience for users and to make it maintainable for future work. Focusing on these will assure that the app will be scalable, performant, bug-free, extendable, and enjoyable. Close collaboration between engineers and experts paves a wave to many successful projects in data science and is Appsilon’s confirmed path to production-ready solutions.

The very first step should always be to build a comfortable and (importantly) reproducible workflow, thus setting up the development environment and organizing the folder structure [renv + docker]. Once this is done engineers should proceed to limiting the codebase by cleaning the code – i.e., removing redundant comments, extracting the constants and inline styles [ymls + styler]. Now the fun begins: extract the business logic into separate functions, modules and classes [packages/R6 + plumber]. Restrict reactivity to minimum. Check the logic [data.validator + drake]. Add tests [testthat + cypress/shinytest]. Organize your /www and move actions to the browser [shiny + css/js]. Finally, style the app [sass/bslib + shiny.fluent]. And, voila! A world-class Shiny app.

About Appsilon

Appsilon is the global leader for enterprise R Shiny applications and routinely builds ambitious Shiny apps for Fortune 500 companies. Appsilon can build and scale custom Shiny apps, improve the performance of existing apps, and dramatically enhance dashboard UI. Appsilon also maintains several popular open-source R packages. If you are interested in building a commercial Shiny app with Appsilon, please reach out via their website. If you'd like to join the Appsilon team, please view their open roles here.