Utah Tech: Building bespoke Shiny html widgets

Utah Tech University logo
Client

Utah Tech University

Sector

Academia

The Challenge

Utah Tech University came to Jumping Rivers wanting to build two dashboards to help administrative staff and other interested parties better understand their student retention and admission data. The client had scoped that the most beneficial way to visualise aspects of their data would be using interactive Sankey and sunburst diagrams. While there are many examples of both these visualisation types built with the D3 JavaScript library, the client required several bespoke features that would allow the user of the dashboard to easily drill-down into the data. As the client was already using R and Posit products as a part of their workflow, they desired for the new dashboards to be built with R and Shiny and for the Sankey and sunburst visualisations to be built using the htmlwidgets package.

The Project

The data scientists and front-end developers at Jumping Rivers were able to provide the client with guidance on what a technical description of these widgets would look like, as well as how they would fit into a Shiny application. The team then created a functional/technical specification for each htmlwidget (JavaScript and R) and each Shiny application, as well as a recommended schedule for completing the project.

Our Results

Once the scoping project was complete, our team of experts worked with the University to bring this project to fruition. A new JavaScript library, harnessing D3 modules for both visual components and in-browser data processing, was designed and built by our team. The widgets were then built using the Shiny and htmlwidgets packages in R, utilising the new JavaScript library, allowing them to fit seamlessly into their workflow. The JavaScript library, htmlwidgets and versions of the applications are open source.

As a result, the University now has the desired, custom built visualisation tools to help them to understand their student retention and admission.