Productionizing Shiny — UI/Widgets

Build Production-Ready UI & Custom Widgets in Shiny

Learn modern, industry-ready widget engineering with Veerle Eeftink van Leemput, with expert guidance from David Granjon. From HTML dependencies and JavaScript bridges to input/output bindings and event systems, you’ll craft UI components hiring managers actually want to see.

R ↔ JavaScript Input/Output Bindings HTML Dependencies Events & Loaders npm & Bundling htmlwidgets / brackets
Veerle Eeftink van Leemput teaching Shiny at a laptop

What You’ll Learn

Build portfolio-ready widget components and modern UI that scales—across industries and teams.

Build custom widgets

Leverage JavaScript, HTML, and CSS to craft polished, reusable widgets for Shiny applications.

Extend Shiny

Use the R ↔ JS bridge, events, and bindings so your widgets integrate seamlessly with your app.

Enhance user experience

Create interactive components that engage users, communicate clearly, and visualize data creatively.

Package your widgets

Bundle widgets into a Shiny package and learn pragmatic workflows for open source or internal use.

Stay ahead of the curve

Understand how Shiny works under the hood and turn almost any web component into a Shiny-compatible one.

Intro to Outstanding UIs with Dr. David Granjon

The Why & How of This Course

Start your widget customization
journey with CustomiZing Widgets

The most comprehensive course to master Shiny widget development. Enroll today to access
our extensive course materials and begin building impactful widgets for your applications...

What Learners Say About Veerle

Real feedback from professionals using Shiny across industries.

A. Sekulovic, PhD
Specialist Formulation & Process Development

“If you have a question about Shiny, Veerle is the person to turn to. She’s very knowledgeable and she explains things in a simple, clear and engaging way. I really liked working with her!”

Hector Chavez
Data Scientist

“Veerle’s workshop on R Shiny development was exceptional. Her meticulous preparation, tailored content, and hands-on approach make it effective and stand out from other offerings. I wholeheartedly recommend her coaching to anyone working with R-Shiny web apps.”

This Course Is For You If...

You’re done wrestling with generic components and want to ship **custom, polished, reusable widgets** that make your Shiny apps feel premium—at work, in any industry.

Every app uses the same widgets

It’s hard to stand out or express your brand with off-the-shelf controls.

Design exactly what you need

Create distinctive, branded widgets that match your users and data stories.

Hours tweaking existing widgets

Endless CSS overrides and hacks slow every release.

Build your own components

Ship clean, reusable inputs/outputs without fragile workarounds.

Limited by what’s available

Product ideas stall when the widget you need doesn’t exist.

Unlock full UI freedom

Design specialized components with R ↔ JS bindings and events.

Inconsistent UX across apps

Each team implements controls differently—maintenance is tough.

Standardize with packages

Bundle widgets into a Shiny package and scale consistent UI.

Slow, inefficient widget work

Time sinks into debugging overrides instead of building features.

Ship faster with a pro workflow

Use assets, bindings, and testing patterns that speed delivery.

Level-up your software development skills with CustomiZing WidgetZ

The most comprehensive course to master Shiny widget development. Enroll today to unlock our extensive course materials and start building your first web application

meet your data science coach

Veerle Eeftink - van Leemput

You can definitely call me a Shiny enthusiast, and I hope I can make you just as excited about Shiny as I am. Ever since I graduated as a Data Scientist back in 2016, I am obsessed with software development. I always liked building something tangible. Something that people can use every day to make their work just a bit easier. An application holds the power to truly turn data and analysis into insights. Numbers don’t have to be boring! My weapon of choice: Shiny applications.

After working for a couple of years as a Data Scientist in various industries, I felt it was time to bring my vision to life: helping others to leverage the potential of Shiny to build amazing applications that help to convey a message. I established Hypebright in 2019 and since then I focus on providing training, workshops and consultancy related to R and Shiny.

I’m a true believer of learning by doing, but I also don’t feel like developing “Hello, World!” applications is something that will stick. Building simple demo apps never really worked for me. The learning starts when you’re building something real, something that has a story. It needs to be exciting and it should translate to your own work.

I developed the courses with exactly that in mind. I want you to build something useful, and I want you to be involved in that process. It’s not about showing you how I develop an application or a Shiny package. It’s not about me at all, it’s about you! I want you to become a co-developer. And by the end of a course, I want you to proudly say, ‘I developed my first Shiny app or package!’

So join me on our Shiny adventure and let’s build something amazing together!

Explore advance
shiny widget development

In this course, you'll master essential techniques and concepts, including:

Mastering the Fundamentals

  • Dive deep into the foundational principles of building Shiny widgets with R.

  • Understand how Shiny renders the user interface, how Shiny leverages JavaScript, and how Shiny enables communication between your widgets and R.

  • Instead of using inputs and outputs, you will be able to fully understand how they work and how you can build them from scratch.

Shiny Package Development

  • Get to know everything about Shiny package development and learn how others have built packages to make outstanding interfaces in Shiny. 

  • Whether you’re planning to open source your work or develop a package for internal usage: with a Shiny package you’ll enable yourself to bring awesome widgets to any Shiny application.

Harnessing Customization Capabilities

  • Learn to harness the full potential of customization for your Shiny widgets.

  • Explore advanced styling techniques using CSS and HTML to tailor widgets to your precise specifications.

  • Discover how to create dynamic and visually stunning components that elevate user experience to new heights.

Integrating External Libraries

  • Expand your toolkit by integrating external JavaScript libraries and frameworks seamlessly into your Shiny applications. 

  • Uncover strategies for incorporating popular JavaScript libraries to enhance data visualization capabilities and unlock new possibilities for interactive user interfaces.

Improving Performance & Efficiency

  • Learn essential web development techniques and tools to streamline your workflow. 

  • Discover how to manage assets effectively, bundle resources efficiently, and optimize for speed.

Join the CustomiZing
Widgets Course

Are you ready to build your own widgets and take your Shiny user interfaces to the next level? Enroll in the
CustomiZing WidgetZ course today and discover how to unlock the full potential of Shiny widget production!

Course Overview

Dive into our comprehensive course curriculum, featuring a range of modules carefully designed to equip you
with the expertise needed to excel in building production-grade Shiny widgets.

1. Introduction to the Course

Making Outstanding Shiny apps

Introducing Outstanding User Interfaces by David Granjon

2. Package Development

The Why and How

Package Development Workflow

3. Web Application Concepts

The client-server model and HTTP requests

The Shiny app lifecycle

4. Discover Shiny Dependencies

Understanding dependencies in Shiny applications

Bootstrap

jQuery

5. Handle HTML dependencies with {htmltools}

Declaring and Attaching Dependencies

Resolving Dependency Conflicts

6. JavaScript for Shiny

Introduction to JavaScript

jQuery Syntax

Adding JavaScript to Shiny

Using external JavaScript libraries

7. Communicate between R and JS

Data Exchange between R and JS

Sending Messages through the WebSocket

Receiving Messages through the WebSocket

8. Managing JS and CSS

The Need For Asset Management

Organize Your JS and CSS Files

Bundling Your JS and CSS Code

Bundling Components

Working with npm

9. Shiny Inputs

Input Bindings

Updating Inputs

Building A Complex Custom Input part I

Building A Complex Custom Input part II

Building A Complex Custom Input part III

Summarizing the Input Lifecycle

10. Shiny Outputs

Output Functions

Output Bindings

11. Mastering Shiny Events

Exploring Event Types

Custom Loaders

12. Design widgets

Introduction to {htmlwidgets}

Building {brackets} with {htmlwidgets}

Advanced techniques in {htmlwidgets}

Advanced techniques in {htmlwidgets}

Updating your Widgets

13. Course Recap and Next Steps

Course Summary

What's Next?

Image

Shiny Widget Development

Fundamentals Modules

Introduction to Shiny Widgets

  • Dive into creating outstanding Shiny apps and explore the essentials of outstanding user interfaces, and get to know one of the top industry experts: David Granjon.

Package Development

  • Learn the reasons behind Shiny package development and delve into the workflow of package development.

Web Application Concepts

  • Understand the client-server model, HTTP requests, WebSockets, and the lifecycle of Shiny apps.

Discovering Shiny Dependencies

  • Gain insights into dependencies in Shiny applications, Bootstrap, and jQuery integration.

Handle HTML Dependencies with {htmltools}

  • Learn to declare, attach, and resolve dependency conflicts in Shiny apps.

JavaScript for Shiny

  • Explore JavaScript fundamentals, jQuery syntax, adding JavaScript to Shiny, and using external JavaScript libraries.

Image

Advanced Shiny Widget Development Modules

Communicate between R & JS

  • Master data exchange between R and JavaScript, sending messages through WebSockets, and receiving messages for real-time interactions.

Managing JS & CSS

  • Dive into asset management, organizing JS and CSS files, bundling code components, and working with npm for efficient development.

Shiny Inputs and Outputs

  • Understand input bindings, updating inputs dynamically, and building complex custom inputs. Learn about output functions, bindings, and summarizing the input lifecycle.

Mastering Shiny Events

  • Explore event types, custom loaders, and techniques to enhance event-driven interactions.

Design Widgets

  • Introduction to {htmlwidgets}, building custom widgets with {brackets}, advanced techniques, and updating existing widgets for improved functionality.

Shiny
CustomiZing WidgetZ
Fundamental &
Advanced Modules

Course Information

  • 40+ Lessons of engaging content

  • Asynchronous, self-paced learning

  • Pre-recorded video lessons for flexible scheduling

  • Interactive Features: 20+ Quizzes throughout the course to reinforce learning

  • Supplementary Resources: Access to downloadable slides, readings, and additional materials (50+ Files)

  • Hands-On Projects: Dive into two major case study projects tailored to your interests

  • Virtual Machines: Immerse yourself in our customized IDE solutions for real world programming experience. (50+ R Scripts)

Start for

$119

Frequently Asked Questions

1. How can my employer benefit from this course?

At AthlyticZ, we recognize the value of professional development in driving business success. Here's how your company can leverage our course:

• Enhanced proficiency in productionizing Shiny apps, leading to faster development and thorough testing of bespoke dashboard solutions.

• Creation of tailored post-processing workflows to optimize efficiency, minimizing reliance on manual Excel operations.

• Reduced expenditure on commercial software licenses by leveraging open-source analysis libraries for data-driven insights.

Whether you aim to refine existing expertise or embark on a new journey, our course equips you to spearhead Shiny app deployment initiatives within your organization.

2. Do I need access to any commercial software?

No, you won't need any commercial software for this course.

3. How can my employer benefit from this course?

We recommend having intermediate Tidyverse R skills for this course. Our BreeZing through the Tidyverse Course is a great choice for prerequisite knowledge in R. Our ProductioniZing Shiny Applications Course is highly recommended as a prerequisite for this course.

4. Is the course graded? What defines successful completion?

Evaluation is based on the completion of course work rather than "correct answers." Successful completion entails:

• 80% or higher on all quizzes

• 100% of modules completed

Upon meeting these criteria, you'll receive a certificate of completion.

5. Is there a refund policy?

At AthlyticZ, we're committed to your success and satisfaction throughout your learning journey.

Our refund policy is as follows:

  • You can drop the course within 3 days of commencement for a full refund. After this date, refunds are not provided.

  • No refunds will be granted if you have completed 25% or more of the course material, regardless of the time elapsed since the course began.

    Thank you for choosing AthlyticZ for your educational needs.

© 2025 AthlyticZ

Designed With ❤️ By Jackson Yew

Privacy Policy · Terms of Use · Terms of Sale ·  Email questions to : [email protected]