From Monolithic Shiny Apps to Quarto Dashboards and webR
2026-07-09
Playful Teaching
of Simulation Models:
From Monolithic Shiny Apps to Quarto Dashboards and webR
Thomas Petzoldt and
Johannes Feldbauer

Demand in Research and Engineering
School Experience
Domain knowledge
Applications
Advantages
→ No installation hurdles, no Excel debugging
Influence of Climate Warming on Water Availability from Drinking Water Reservoirs
Are we happy with this?
No
Technical Fragmentation: Zoo of Apps
Didactical: Media Fragmentation
App to teach essential growth models
Target groups
Implementation
Outline with repeated elements
Modular and extensible
# Exponential Growth
## Description
::: {.panel-tabset width="38%"}
### Example
{{< include exponential_example.qmd >}}
### The Model
{{< include exponential_description.qmd >}}
### Tasks
{{< include exponential_tasks.qmd >}}
### Hints
{{< include exponential_hints.qmd >}}
### Read More
{{< include exponential_more.qmd >}}
::: <!-- end tab set --->
<!-- contains code for 2 columns: widgets + graphics --->
{{< include ../code/exponential_code.qmd >}}
# Limited Growth
## Description
...
# Nutrient Limited Growth
...
# Predator-Prey Model
...Unified UI
Integrated Design
Modular Structure
Each section has a Description, organized as Panel Tabset:
The Widgets and Graphics card integrates Shiny code to create interactive controls and visualization in a two-column layout.
Avoids Specialized Shiny Server
Conversion to shinylive
Advantages
Challenges
Solution
| Property | Complex Shiny Apps | Quarto Dashboards with Shiny | Shinylive Apps |
|---|---|---|---|
| Full Power of R | Full access to R’s capabilities, including compiled code. | Full access to R’s capabilities, including compiled code. | Supports WASM-compatible R packages and user-level code. |
| Implementation | Full flexibility, supports backend code (e.g. compiled binaries) and database access. | Flexible and consistent layout; supports backends and database access. | Runs entirely in the browser, no backend or database access, startup delay. |
| Ease of Implementation | Requires significant expertise in Shiny, R, and web development, especially for maintenance. | Easy to implement and maintain; Quarto simplifies layout and integration. | Easy to implement, no server setup required, apps can be deployed as static files. |
| Server Infrastructure | Requires Shiny Server or Posit Connect for deployment. May need scaling of CPU and memory. | Requires Shiny Server or Posit Connect for deployment. May need scaling of CPU and memory | Scales effortlessly as apps run entirely in the browser. |
| Integration of Code and Tutorials | Allows complex applications, but may require external tutorials or handouts. | Integration of code, text, and interactivity in a single document; ideal for teaching. | No dependency on specific maintainer and server provider; excellent for didactic purposes. |
The R Community

https://github.com/tpetzoldt/useR2026/
This work is licensed under the Creative Commons License CC-BY 4.0
Petzoldt & Feldbauer | useR!2026 | 2026-07-09