Modular, layout-as-code approach for customizable Shiny dashboards
summary
A Shiny dashboard is split into reusable page/tile/content modules so GDPR-sensitive bits are granted per-module, not per-app, using a layout-as-code JSON that stores per-user layouts in Postgres; module communication uses reactive exports/imports (R reactive values passed by reference) so graphs update when a search selection changes. Runtime drag‑and‑drop persists to the JSON in the DB, the app runs on Posit Connect, a few hundred users use it, four developers maintain an R6-based framework that makes adding modules one‑or‑two files and it works in production.
AI-written summary · about
chapters (11)
- 0:00Healthcare regulation dashboards
- 1:06Healthcare system trade-offs
- 3:16Privacy law and modular design
- 5:04Spaghetti vs waffle code
- 6:30Shiny modules for dashboards
- 8:16Layout-as-code with JSON
- 10:27Module communication via JSON
- 13:00Runtime customization
- 14:47Modular design benefits
- 15:32Resources for Shiny dashboards
- 16:15Q&A
related talks
16mSmall Team Large Organization: Building Impactful Shiny Dashboards at NIH
32mDash: Interactive Data Visualization Web Apps with no Javascript
14mR Shiny - From Conception to the Cloud
23mEmpowering Decisions: Advanced Portfolio Analysis and Management through Shiny
35mBuild Simple and Scalable Apps with Shiny
14mR Shiny - From Conception to the Cloud
20mTowards the Next Generation of Shiny UI
09mPublishing Customer Facing Products with RStudio Connect
