How we built a Shiny App for 700 users?

[This article was first published on Appsilon Data Science Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

One of our data scientists, Olga Mierzwa-Sulima spoke at the User Conference in Brussels to a packed house. The seats were full and there were audience members spilling out the doors.


Olga’s talk was entitled ‘How we built a Shiny App for 700 users?’ She went over the main challenges associated with scaling a Shiny application, and the methods we used to resolve them. The talk was partly in the form of a case study based on Appsilon’s experience.

In this talk, Olga shared her experience from a real-life case study of building an app used daily by 700 users where our data science team tackled all these problems. This, to our knowledge, was one of the biggest production deployments of a Shiny App.

Shiny has proved itself a great tool for communicating data science teams’ results. However, developing a Shiny app for a large scope project that will be used commercially by more than dozens of users is not easy.

The first challenge is User Interface (UI): the expectations are that the app should not vary from modern web pages.

Secondly, performance directly impacts user experience (UX), and it’s difficult to maintain efficiency with growing requirements and user base.

She showed an innovative approach to building a beautiful and flexible Shiny UI using shiny.semantic package (an alternative to standard Bootstrap). Furthermore, she talked about non-standard optimization tricks we implemented to gain performance. Then she discussed challenges regarding complex reactivity and offered solutions. Olga went through implementation and deployment process of the app using a load balancer. Finally, she presented the application and gave details on how this benefited our client.

Appsilon’s open-source packages allow you to build superior Shiny dashboards. Make sure to check out shiny.semantic, shiny.collections, and shiny.router and follow us on twitter to get updates about our incoming shiny.i18n package for internationalization.

To leave a comment for the author, please follow the link and comment on their blog: Appsilon Data Science Blog. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)