Shiny New Tools for Scaling your Shiny Apps
summary
Shiny app moves plotting from server to browser by sending data to each client and rendering with DuckDB-WASM for in-browser SQL and Observable Plot.js for ggplot-like visuals, handling ~56k-row datasets in the client. Measured result is ~40% speed improvement and much more consistent session durations when scaling from 1 to 100 concurrent users. Setup requires a small HTTPuv mime-type tweak and carries caveats: browser memory limits and exposing sensitive data to clients.
AI-written summary · about
chapters (10)
- 0:00Scaling Shiny apps
- 1:33Scaling Shiny to many users
- 4:03Shiny concurrent requests
- 5:55Offloading to JavaScript
- 7:16Client-side data tools
- 10:48Refactoring with new tools
- 11:30Scaling results
- 13:14Benefits and trade-offs
- 14:38Caveats and limitations
- 15:41Closing and Q&A
related talks
27mReal Time Shiny Applications
20mRunning Shiny without a server
20mA New Era for Shiny-based Clinical Submissions using WebAssembly
50mOptimizing Performance of Web Apps: Removing Bottlenecks for a Better Experience
19mThe future's Shiny: Pioneering genomic medicine in R
20mRunning Shiny without a server
30mSeeing the needle AND the haystack: single-datapoint selection for billion-poin...
18mWait, that’s Shiny? Building feature-full, user-friendly interactive data explorers
