Towards Dev

A publication for sharing projects, ideas, codes, and new theories.

Follow publication

How to build a professional R Shiny app — part 1

Adrian Joseph, PhD
Towards Dev
Published in
6 min readOct 16, 2022

--

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.

Photo by Agence Olloweb on Unsplash

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.

Interest on poplar dashboard tools according to Google Trends. Image by the author.

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.

--

--

Published in Towards Dev

A publication for sharing projects, ideas, codes, and new theories.

Written by Adrian Joseph, PhD

Software developer with a strong focus on good practices.

No responses yet

Write a response