Outstanding UIs: CustomiZing WidgetZ — AthlyticZ Course
← All courses

Self-paced course · Advanced

Outstanding UIs: CustomiZing WidgetZ

Build custom Shiny inputs, outputs, and htmlwidgets from scratch — the deep R/JS interface skills that make you the developer who can build what other Shiny devs can't.

13sections
41lessons
Self-pacedlifetime access
Freewith Membership
Enroll now

Taught by Veerle Eeftink - van Leemput. Included free with AthlyticZ Membership.

Veerle Eeftink - van Leemput
Veerle Eeftink - van Leemput
Head of Operations, AthlyticZ
David Granjon, PhD
David Granjon, PhD
Senior Curriculum Advisor

Who this is for

  • Shiny developers who want to go under the hood — custom widgets, JavaScript integration, and htmlwidgets.

Not for you if

  • You're new to Shiny — build fundamentals first
  • You never need custom components
  • You want Python
  • You want surface-level, not internals

What you leave with

  • Custom Shiny inputs and outputs, built from scratch
  • R-to-JavaScript communication over the WebSocket
  • Your own htmlwidget — an interactive bracket
  • Package-development discipline for reusable components

The full curriculum

13 sections · 41 lessons. Every section is listed with its lesson count; click any section to see its lessons.
Expand all
01Introduction to the Course2 lessons
1.1Making Outstanding Shiny Apps
1.2Introducing Outstanding User Interfaces by David Granjon
02Package Development2 lessons
2.1The Why and How
2.2Package Development Workflow
03Web Application Concepts3 lessons
3.1The Client-Server Model and HTTP Requests
3.2WebSockets
3.3The Shiny App Lifecycle
Career payoffBuilding custom components makes you the person a Shiny team can’t easily replace.
04Discover Shiny Dependencies3 lessons
4.1Understanding Dependencies in Shiny Applications
4.2Bootstrap
4.3jQuery
05Handle HTML dependencies with {htmltools}2 lessons
5.1Declaring and Attaching Dependencies
5.2Resolving Dependency Conflicts
06JavaScript for Shiny4 lessons
6.1Introduction to JavaScript
6.2jQuery Syntax
6.3Adding JavaScript to Shiny
6.4Using External JavaScript Libraries
Career payoffR-to-JavaScript fluency is rare and directly hireable.
07Communicate between R and JS3 lessons
7.1Data Exchange between R and JS
7.2Sending Messages through the WebSocket
7.3Receiving Messages through the WebSocket
08Managing JS and CSS5 lessons
8.1The Need For Asset Management
8.2Organize Your JS and CSS Files
8.3Bundling Your JS and CSS Code
8.4Bundling Components
8.5Working with npm
09Shiny Inputs6 lessons
9.1Input Bindings
9.2Updating Inputs
9.3Building A Complex Custom Input (Part 1)
9.4Building A Complex Custom Input (Part 2)
9.5Building A Complex Custom Input (Part 3)
9.6Summarizing the Input Lifecycle
10Shiny Outputs2 lessons
10.1Output Functions
10.2Output Bindings
Career payoffYour own htmlwidget is a standout portfolio piece.
11Mastering Shiny Events2 lessons
11.1Exploring Event Types
11.2Custom Loaders
12Design Widgets5 lessons
12.1Introduction to {htmlwidgets}
12.2Building {brackets} with {htmlwidgets}
12.3Advanced techniques in {htmlwidgets} (Part 1)
12.4Advanced Techniques in {htmlwidgets} (Part 2)
12.5Updating Your Widgets
13Course Recap and Next Steps2 lessons
13.1Course Summary
13.2What's Next?

What's included

  • Lifetime accessEvery module and lesson, yours to keep and revisit, forever.
  • Posit cloud workspaceA provisioned enterprise IDE and compute. Nothing to install.
  • Project files and codeEvery notebook, dataset, and finished build, to keep and adapt.
  • All future updatesNew lessons and refreshes as the tools move, at no extra cost.
  • Self-pacedStart today, go at your own pace, no cohort to wait for.
  • Free with MembershipOr get this course and the full catalog with Membership.

Your instructors

Veerle Eeftink - van Leemput
Veerle Eeftink - van Leemput
Head of Operations, AthlyticZ
Known for Shiny, Production R, R Consulting

Veerle is the founder of Hypebright and a Shiny enthusiast and software engineer since 2016. After years as a data scientist across multiple industries, she founded Hypebright in 2019 to help professionals leverage the full potential of Shiny: building applications that convey a message and deliver measurable impact. Her philosophy is simple. The best way to learn is by building something real: production-grade tools that tell a story, solve problems, and matter in professional settings. She focuses on bridging the gap between analysis and impact, helping people build tools that are scalable, polished, and built to last.

LinkedIn →
David Granjon, PhD
David Granjon, PhD
Senior Curriculum Advisor
Known for Creator of shinyMobile

David joined cynkra in 2023 and holds a PhD in applied mathematics from Universite Pierre et Marie Curie and Universite de Lausanne. He is the founder of the open source RinteRface organization, where he develops Shiny extensions, writes books, and delivers advanced Shiny workshops. David previously worked in the pharmaceutical industry, where he helped design production-ready Shiny apps. He is the creator of shinyMobile, whose 2.0 release was funded by AthlyticZ and developed together with Veerle van Leemput.

LinkedIn →

Questions

Is this included with Membership?

Yes. AthlyticZ Membership ($2,999/yr) includes this and the entire course catalog, plus the live Masterclass. If you plan to take more than a couple of courses, Membership is the better math.

Is it self-paced?

Yes. Start today and go at your own pace, with lifetime access to every lesson and all future updates.

Do I need to install anything?

No. You work on the provisioned Posit platform in the browser, on the same enterprise tools professional teams use.

Taking more than one course? Get everything.

This is $1,149. Membership is $2,999/yr and includes it, the full course catalog, 1,000+ lessons, and every live Masterclass — the whole catalog for less than a few courses bought alone.

Explore Membership

Outstanding UIs: CustomiZing WidgetZ

Build custom Shiny inputs, outputs, and htmlwidgets from scratch — the deep R/JS interface skills that make you the developer who can build what other Shiny devs can't.

Enroll now
$1,149or free with Membership
Enroll