INTL - R Shiny UI Developer
Role details
Job location
Tech stack
Job description
We are seeking an experienced R Shiny Developer to lead frontend/UI development for RiskView, an enterprise Risk-Based Quality Management (RBQM) platform used for clinical trial site risk monitoring. This application serves clinical operations teams with interactive dashboards including KRI heatmaps, statistical visualizations, and data review tools, deployed on Posit Connect against an Azure SQL Database backend., * Build and refine Shiny UI modules: design, implement, and maintain interactive dashboard views (KRI tables, boxplots, trend charts, data library) following the existing modular architecture
-
Implement responsive, accessible layouts: using bslib (Bootstrap 5), custom CSS variables, and the project's design system
-
Develop interactive visualizations: color-coded reactable heatmaps, Highcharts boxplots with scatter overlays, master/detail trend charts, and donut charts
-
Manage client-side interactivity: Shiny reactive event handling, JavaScript event bridges (Shiny.setInputValue()), and jQuery-based DOM interactions
-
Optimize UI performance: session-level caching, lazy rendering, and preparing for Phase 2 virtualized tables (React 18 via htmlwidgets)
-
Collaborate with backend/analytics developers: consume data from an R6-based DataStore class and integrate with pre-computed KRI analytics
-
Maintain and extend the CSS design system : 5 custom stylesheets with CSS custom properties for risk color theming, responsive breakpoints.
Requirements
-
3+ years of R Shiny development experience
-
Deep experience building production Shiny applications (not just prototypes/dashboards)
-
Proficiency with bslib for Bootstrap 5 theming and layout (navsets, cards, sidebars, value boxes)
-
Experience structuring apps as Shiny modules with namespaced UI/server pairs
-
Understanding of Shiny reactivity: reactive expressions, observers, isolate, invalidation, debounce/throttle
-
Experience with shinyjs, shinyWidgets, and htmltools for custom UI components
-
Frontend Web Technologies
-
Strong CSS3 skills: custom properties (variables), flexbox/grid, media queries, transitions/animations
-
Working knowledge of JavaScript, DOM manipulation, event delegation, jQuery
-
Understanding of Bootstrap 5 grid system, utility classes, and component patterns
-
Familiarity with HTML5 semantics and accessibility (WCAG)
Data Visualization
-
Experience with reactable, custom cell renderers, conditional styling, grouped columns, sticky headers
-
Experience with Highcharts (via highcharter), boxplots, line charts, donut/pie charts, drilldown interactions
-
Ability to translate statistical outputs into clear, clinical-audience-appropriate visualizations
Posit Connect / Deployment
-
Experience deploying Shiny apps to Posit Connect (publishing, scaling, environment management)
-
Understanding of Connect's execution model (single-process vs. multiple workers, session management)
-
Familiarity with content scheduling on Connect (for batch pipeline integration) * htmlwidgets development: building custom R-to-JavaScript widget bindings.
-
React 18 fundamentals: component lifecycle, hooks, virtual DOM.
-
R package development: DESCRIPTION, NAMESPACE, roxygen2, devtools/pkgload workflow
-
Azure ecosystem: Azure SQL Database, Entra ID (Azure AD) SSO, ODBC connectivity
-
testthat / shinytest2: writing and maintaining UI and integration tests
-
Performance profiling: experience with profvis, shiny.tictoc, or browser DevTools for Shiny apps