DEV Community

Colin Fay for ThinkR

Posted on • Originally published at

Learning Shiny for Production – Remote session

Learning Shiny for Production

Hello world!

We're very happy to announce that we will be giving a remote training session on building Shiny Application for production in July. Be quick, we only have 10 spots available!

Shiny for Production


Introduction to {golem}

  • Introduction
  • The {golem} framework
    • Presentation
    • General philosophy
    • Understanding a {golem} application structure
    • Starting and configuring a {golem} application
  • Package development in the context of {golem}
    • Using dependencies
    • Documentation
  • Project: Starting and configuring a {golem} application. Adding a basic UI/server logic.

Prototyping an application

  • UX/UI best practices
  • Prototyping a Shiny Application
    • The {shinipsum} package
    • Introduction to {fakir}
    • Defining the business logic in Rmd
  • Project: Building a prototyped application with {shinipsum} and {golem}

Shiny Modules

  • Shiny modules
    • Why shiny modules?
    • Building modules
    • Sharing data accross modules
  • Project: Building an application with Shiny Modules


  • Reactivity best pratices
    • Refresher on Shiny Reactivity
    • Reactivity: the good, the bad, the ugly
    • Safely manage reactivity in a Shiny application

Introduction to JavaScript for Shiny

  • JavaScript for Shiny
    • What is JavaScript
    • Using {golem} JavaScript functions
    • Introduction to custom JavaScript
  • Project: Integrating basic JavaScript in the application


  • Where to deploy
    • Overview of available deployment methodologies
    • Strength and weakness of each method
  • Preparing the app for deployment
    • Overview of Shiny testing
    • Introduction to CI/CD
  • Project: Add content to the Shiny Application and prepare it for deployment.
  • Project: Deploy your application
Note: All the modules will be coupled with exercises. Attendees will be building an application all along the training, and will deploy it on the last day.


This workshop can be validated with an exam. If you pass this exam, we will send you a Shiny Developer certification.

How to apply? Once the workshop is finished, you will have one month to build a Shiny application that follows all the practices from this training. You'll then put this application online (at least available to us), and share the source code. We will then set up a 30 minutes call for you to present us your application.

Who is this training for?

We expect the attendees to be at least familiar with {shiny}, i.e. to either have built one or more application(s) or to have collaborated on one or more {shiny} application(s). Attendees should also know the basics of package development, even if we will briefly cover packages on the first day.


Two extra tickets will be dedicated for attendees from under-represented groups and/or with financial difficulties. If you consider you are eligible, do not hesitate to specify it in the form below. We will get back to you with more information about the application process.


  • 🗺 Where? Online!
  • 💻 How? ThinkR provides a pre-configured web platform specifically designed for remote trainings in R
  • 🤒 Which conditions ? Tutorial is provided for a small group to provide the best possible experience. See "Our vision of remote trainings and certification".
  • 👨‍💻 Who? Colin Fay (@_ColinFay). Teaching assistants: Sébastien Rochette, Vincent Guyader, Cervan Girard, Margot Brard.
  • 💻 What do I need? The training will be given online. We'll send you the details about how and where to log a few days before it starts.
  • 💵 How much? The full training is $4000 (3600€) for the 5 days.
  • ⏳ When? The workshop is divided in 10 sessions of 3,5 hours. They will happen on the following days:
    • 2020-07-01
    • 2020-07-02
    • 2020-07-03
    • 2020-07-08
    • 2020-07-09
    • 2020-07-10
    • 2020-07-15
    • 2020-07-16
    • 2020-07-17
    • 2020-07-20

Each session is scheduled on the following time slot:
  • 02.00PM - 05.30PM Paris time : lubridate::ymd_hm("2020-07-01 14:00", tz = "Europe/Paris")
  • 9.00 AM - 12.30PM New York time : lubridate::ymd_hm("2020-07-01 09:00", tz = "America/New_York")


A orange golem drawn in the middle of a hexagonEach attendee will receive:


Please go to to register

Shiny for Production - Advanced

We're also planning on doing an advanced Shiny for Production online training, but we haven't decided on a date yet. This session will cover the following topics:

  • Best practices for production
  • Testing Shiny front-end, back-end, and load capacity
  • Parallelization & Asynchronicity
  • Optimization
  • Advanced deployment
  • Advanced JavaScript for Shiny

We haven't chosen a date yet, enter your mail below if you want to be the first to be informed!

Please go to to register

Discussion (0)