Engineering Production-Grade Shiny Apps  book cover
1st Edition

Engineering Production-Grade Shiny Apps

  • Available for pre-order. Item will ship after June 30, 2021
ISBN 9780367466022
June 30, 2021 Forthcoming by Chapman and Hall/CRC
384 Pages 58 Color Illustrations

SAVE ~ $11.99
was $59.95
USD $47.96

Prices & shipping based on shipping country


Book Description

Presented in full color, Engineering Production-Grade Shiny Apps helps people build production-grade shiny applications, by providing advice, tools, and a methodology to work on web applications with R. This book starts with an overview of the challenges which arise from any big web application project: organizing work, thinking about the user interface, challenges of teamwork & production environment. Then, it moves to a step by step methodology that goes from the idea to the end application. Each part of this process will cover in detail a series of tools and methods to use while building production-ready shiny applications. Finally, the book will end with a series of approaches and advice about optimizations for production.


    • Focused on practical matters: this book will not cover Shiny concepts, but practical tools and methodologies to use for production.
    • Based on experience: this book will be a formalization of several years of experience building Shiny applications.
    • Original content: this book will present new methodology and tooling, not just do a review of what already exists.

Engineering Production-Grade Shiny Apps covers medium to advanced content about Shiny, so it will help people that are already familiar with building apps with Shiny, and who want to go one step further.

Table of Contents

1. About Successful Shiny Apps. 2. Planning Ahead. 3. Structuring your Project. 4. Introduction to {golem}. 5. The workflow. 6. UX Matters. 7. Don’t rush into coding. 8. Setting up for success with {golem} (#settingupsuccess). 9. Building an “ipsum-app”. 10. Building the app with {golem} 11. Build yourself a safety net. 12. Version Control. 13. Deploy your application. 14. The Need for Optimization. 15. Common Application Caveats. 16. Optimizing {shiny} Code. 17. Using JavaScript. 18. A Gentle Introduction to CSS. Appendix.

View More



Colin Fay has written the vast majority of this book. He’s responsible for its general structure, and for the original designer of the workflow described. Most of the time (if not every time) “we” actually refers to him. He is the lead developer of the {golem} framework, and creator of many tools described in this book. Colin works at ThinkR, a french agency focused on everything R-related. During the day, he helps companies to take full advantage of the power of R, by building tools (packages, web apps…) and setting up infrastructure. His main areas of expertise are data & software engineering, infrastructure, web applications (front-end and back-end), and R in production. During the night, Colin is also an hyperactive open source developer and an open data advocate. You can find a lot of his work on his GitHub account ( and on ThinkR’s account ( He is also active in the R & Data community, and an international speaker.

Sébastien Rochette has been instrumental in the review of most of this book chapters. He has also written the section about prototyping in RMarkdown, a concept he initiated. Sébastien is a data scientist at ThinkR, where he teaches anything R related from beginner to expert level, guides R developers towards implementation of best practices, and creates tailor-made R solutions for the needs of his customers.

Vincent Guyader is the founder of ThinkR. He created the first proof-of-concept of a framework for {shiny} applications inside packages ; an idea which has led to the creation of {golem}. If you feel like a GitHub archaeologist, this very first version is still available with a little bit of exploration! With more than 10 years of experience with R, and a scientific and technical background, Vincent is an R-enthusiast. He still has his hands in the code, whether to develop applications, analyze data or build packages. When he’s not coding, he plays with Docker and manages servers. He strongly believes that meeting highly technical challenges is not incompatible with pedagogy: he passionately trains very diverse learner profiles at R.

Cervan Girard has worked on some of the example applications that are used inside this book, namely {shinipsumdemo}, {databasedemo}, {graysacle}, {bs4dashdemo}, and {shinyfuture}. Cervan is Data Scientist at ThinkR. He is enthusiastic and motivated when it comes to rolling up his sleeves for new challenges, even if it means venturing dangerously into the depths of R, learning new languages and experimenting outside your comfort zone. Whatever the challenge, he remains reliable, constructive and efficient when it comes to using his skills to train or develop. He also enjoys training learners of all levels in the R language.


"ThinkR’s book is a gradual and pleasant invitation to the production-ready shiny apps world. It focuses on the unfortunately too often forgotten general principles necessary to be successful in this quest, before exposing a comprehensive and robust workflow powered by the {golem} package. This books fills the not yet covered gap between shiny app development and deployment in such a thrilling way that it may be read in one sitting. Readers will appreciate the number of exclusive references like {shinypsum}, {gargoyle}, {crrry} and {dockerfiler} that will definitely help them to reach the production-ready graal. In the industry world, where processes robustness is a key toward productivity, this book will indubitably have a tremendous impact." 
– David Granjon, Sr. Expert Data Science, Novartis

"[This book] contains an excellent blend of both Shiny-specific topics … and practical advice from software development that fits in nicely with Shiny apps. You will find many nuggets of wisdom sprinkled throughout these chapters…."
Eric Nantz, Host of the R-Podcast and the Shiny Developer Series (from the Foreword)