Member-only story
How to build a professional R Shiny app — part 1
Shiny apps are easy to build, but often they are designed and implemented poorly. Keep reading to learn how to make professional-grade Shiny apps.
This is part 1 of a series on Shiny. Here we focus on the pre-coding phase. In the next issues we will cover the actual implementation.
Shiny is a popular framework to build interactive web apps — dashboards — . It is an R package, and its main selling point is that it makes it easy to build good looking, shareable apps. To put this in RStudio words:
“Shiny is an R package that makes it easy to build interactive web apps straight from R.”
This is great. Web apps have been democratised. Anyone with average R expertise can now put together a dashboard.

Is this enough to make “good” dashboards? No, it is not. It is easy to spot the difference between something put together as a stackverflow Frankenstein’s monster and something developed by experienced people. Having Shiny is like buying a piano. You can hammer the keys and make noise, but making music is something else.
Does this mean that modellers or analysts should not use Shiny? No, it does not. I encourage them to use Shiny. With some guidance, it is a great way to learn proper development. More importantly, dashboards are a great way to support decision making activities. Analysts should be empowered to produce great dashboards.
In this series we will see what we can do to step up our Shiny game.
Before you start
You had a great idea for a Shiny app. Perfect. But wait, don’t dive into coding it yet. Let’s get a small checklist in place first:
- Validate your idea
- Gather requirements
- Prototype
- UI/UX expert
It is important to notice that these steps are not a sequence. You do not have to complete a step before you can move to the next. This is a very dynamic phase, where you keep validating ideas, refining requirements, prototyping, etc.