Shiny in Production: Tools and Techniques
Overview
Shiny brings tremendous possibilities to share innovative data science workflows with others inside an intuitive web interface. Many in the Shiny community have shared effective development techniques for building a robust application. Even with the best intentions before sharing your application with others, a myriad of issues can arise once it leaves the confines of your machine. In this one-day workshop, you will implement core techniques to account for common scenarios that arise as your application is used in production, such as accounting for thousands of simultaneous users, how effective profiling can address performance bottlenecks, and ensuring your application is doing as little as possible to ensure a smooth and responsive experience.
Logistics
The workshop will start at 9 AM and end at 5 PM, with multiple coffee breaks and a lunch break. All materials for the course will be viewable online at posit-conf-2023.github.io/shiny-r-prod and hosted on GitHub at github.com/posit-conf-2023/shiny-r-prod. For real-time messaging, we will be using the shiny-in-production-tools-and-techniques
within the Posit Conf 2023 Discord. Additional details for onboarding will be sent prior to the workshop.
Is this workshop for me?
This course assumes intermediate knowledge of building Shiny applications in R and prior experience deploying an application to a platform such as the shinyapps.io service or products like Posit Connect. This workshop will be appropriate for you if you answer yes to any of these questions:
- Have you had a Shiny application work just fine on your machine, but encounters critical issues after deployed to a hosting platform?
- Are you willing to prospectively implement techniques before deployment to plan for the unexpected?
- Do you want to know the potential pitfalls within various deployment platforms?
- Do you want to employ best practices for structuring your application source code and dependencies?
Prework & Setup
You can find complete details on the required pre-work and setup instructions at the setup tab.
Workshop Instructors
Eric Nantz
Eric Nantz is a director within the statistical innovation center at Eli Lilly and Company, creating analytical pipelines and capabilities of advanced statistical methodologies for clinical design used in multiple phases of development. Outside of his day job, Eric is passionate about connecting with and showcasing the brilliant R community in multiple ways. You may recognize his voice from the R-Podcast that he launched in 2012. Eric is also the creator of the Shiny Developer Series where he interviews authors of Shiny-related packages and practitioners developing applications, as well as sharing his own R and Shiny adventures via livestreams on his Twitch channel. In addition, Eric is a curator for the RWeekly project and co-host of the RWeekly Highlights podcast which accompanies every issue.
Mike Thomas
Mike Thomas is the Chief Data Scientist at Ketchbrook Analytics, with background in credit risk modeling, regression & time series forecasting, machine learning, recommendation engines, and natural language processing. Mike has extensive data visualization experience across a variety of software products and technologies and is passionate about reproducibility and following healthy software development practices in data science. In addition, Mike is a co-host of the RWeekly Highlights Podcast.
Workshop TAs
Joe Cheng
Joe Cheng is the Chief Technology Officer at Posit and was the original creator of the Shiny web framework, and continues to work on packages at the intersection of R and the web.
David Granjon
David Granjon works as a Lead Shiny Developer at Cynkra. He is the founder and maintainer of the open source RinteRface organisation. He wrote Outstanding User Interfaces with Shiny, a CRC press book, available online.
Ryan Johnson
Ryan Johnson was previously a research microbiologist and now is a data scientist at Posit. After years of working with high-throughput genomic data, he transitioned into a data science advisory role with Posit PBC. He lead workshops, webinars, and content creation to help data enthusiasts worldwide improve their workflows.