INTL - R Shiny UI Developer
Listed on 2026-07-06
-
Software Development
Front End Developer
Job Description
We are seeking an experienced R Shiny Developer to lead frontend/UI development for Risk View, 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.
Key Responsibilities- 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.setInput
Value()), 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 Data Store class and integrate with pre‑computed KRI analytics
- Maintain and extend the CSS design system: 5 custom style sheets with CSS custom properties for risk colour theming, responsive breakpoints
- Write UI tests using testthat and shinytest2
We are a company committed to creating diverse and inclusive environments where people can bring their full, authentic selves to work every day. We are an equal opportunity/affirmative action employer that believes everyone matters. Qualified candidates will receive consideration for employment regardless of their race, colour, ethnicity, religion, sex (including pregnancy), sexual orientation, gender identity and expression, marital status, national origin, ancestry, genetic factors, age, disability, protected veteran status, military or uniformed service member status, or any other status or characteristic protected by applicable laws, regulations, and ordinances.
If you need assistance and/or a reasonable accommodation due to a disability during the application or recruiting process, please send a request to To learn more about how we collect, keep, and process your private information, please review Insight Global’s Workforce Privacy Policy:
- 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 name spaced UI/server pairs
- Understanding of Shiny reactivity: reactive expressions, observers, isolate, invalidation, debounce/throttle
- Experience with shinyjs, shiny
Widgets, and htmltools for custom UI components - 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)
- 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
- 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 (Azure AD) SSO, ODBC connectivity - testthat / shinytest2: writing and maintaining UI and integration tests
- Performance profiling: experience with profvis, shiny.tictoc, or browser Dev Tools for Shiny apps
- Git workflow: feature branching, pull requests, code review
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).