Creating and Designing Interactive Web Applications with Shiny – On-Site Training


Shiny is an R package which enables users to turn an R analysis into an interactive web application. Shiny is simple to get started with for an R programmer, because it requires no knowledge of web technologies such as HTML, CSS, or Javascript. However, Shiny is also immensely powerful. It uses a reactive programming design so that results are automatically updated when only when their dependencies change.

If purchased, our team of Masters and PhDs will arrange for a half-day to day-long workshop to train your team or organization in Shiny. We will present the material from our Shiny course live, with interactive demos, and exercises. We expect you will walk out of the course ready to develop Shiny applications, and with a good head start on an application of your own from the workshop. Please contact us at for more information on this offering.


  • Knowledge of R Programming
  • Basic understanding of web design techniques
  • R 3.4.x
  • RStudio 1.0.x


1. Requirements / Setup – In this section, we will go over the software needed in order to work with Shiny. We will also go over what prior knowledge is assumed in order to get the most out of this course.

2. Getting Started with Shiny – Here, we motivate the use of Shiny by looking at examples of apps from the web. We focus specifically on applications designed in house, which are available from our Shiny Laboratory page.

3. Creating an App – The basics of Shiny app creation using RStudio are introduced. We create a demo application and begin analyzing the functionality and structure, along with basic concepts of its reactive design.

4. Structure of a Shiny App – This section focuses on the programmatic structure of Shiny applications, specifically the relationship between the User Interface (UI) and the Server. Two possible app structures are introduced.

5. Inputs and Outputs – The fun begins! We explore five commonly used inputs for user interaction, and four commonly used outputs for displaying the results of the analysis. We used these inputs and outputs to extend the functionality of our demo application.

6. Reactive Programming – A more in-depth exploration into reactive programming concepts as it pertains to Shiny app development. We use the techniques developed to refine our application.

7. User Interface Design – Here, we focus on principles of sound user interface design. We cover tabs, navbars, Shiny themes, and conditional panels to learn how to properly design a good web-based Shiny interface.

8. Debugging Shiny – We introduce two methods for debugging Shiny applications, using cat statements, and using the javascript reactlog. We use these to explore the execution architecture of a Shiny app.

9. Deploying Shiny – Several methods for the deployment of Shiny applications are introduced, including, Shiny Server, and RStudio Connect.

10. Extending Shiny – To conclude the course, we introduce and overview some cool extensions and use cases for Shiny. These include the embedding of Shiny applications within RMarkdown documents, and the use of the Flex Dashboard package for creating an interactive Shiny dashboard.


Contact Us for Pricing
Back to Top