Winners of the 2024 Shiny Contest

2024-10-22
Shiny Contest 2024

The results of the Shiny Contest 2024 are in!

Before we announce the winners, we want to thank everyone who participated. Judging these contests is always so difficult, and this year was no exception. There were so many high quality entries, with a lot of thought and effort put into each one—you’re all winners in our eyes!

Special thanks to our judges and to those who helped make this event possible. Shiny application reviewers include: Garrick Aden-Buie, Carson Sievert, and Barret Schloerke from the Shiny team; Daniel Chen, Garrett Grolemund, and Isabella Velásquez from Posit’s Developer Relations team; Rich Iannone and Michael Chow from Posit’s tiny-tools and table team. We also appreciate Dony Unardi from the Teal Shiny package team. Garrick Aden-Buie was also instrumental in wrangling the contest review process. Finally, thank you to Curtis Kephart for creating the impetus to make the Shiny Contest happen this year, and helping with all the logistics involved. We should also acknowledge and thank Mine Cetinkaya-Rundel for creating the Shiny Contest back in 2019.

Without further ado, here are the results of the Shiny Contest, edition 2024:

 

Winner: Overall

 

Curbcut by David Wachsmuth, Maxime Bélanger de Blois

 

Curbcut by David Wachsmuth, Maxime Bélanger de Blois

 

Curbcut is a website that lets you interactively visualize many different types of geospatial data about a city (Montreal, in the case of this submission), all related to the theme of urban sustainability.

The first thing that strikes you about Curbcut is its visual style: a clean flat aesthetic accented by bright slightly undersaturated colors and 1-bit pixelated iconography, along with boldly oversized headers—it all feels adventurous and progressive, with just a touch of retro. Not at all what you expect from a Shiny app! And the design extends through the entire app,

The next thing you notice is the sheer magnitude of data that’s available here. I counted 15 top-level data categories presented in choropleth form, each of which has its own bespoke controls, and most of which let you overlay a second layer of data for comparison. And don’t miss the “Urban life” and “Explorer” sections, which provide totally different ways to learn more about Montreal.

Finally, the amount of work that has gone into Curbcut is even more than you would expect! The maps that feature so heavily in the site, are not created using an off-the-shelf CRAN package, but rather using a custom Shiny wrapper for Mapbox GL JS. And Curbcut is not just an app, but an “app factory” that is supported by an entire constellation of packages.

It wasn’t easy choosing a winner from so many excellent entries, but with its unique visual style, depth of data, societally important theme, and the sheer scale of its technical ambition, Curbcut could not be denied! Congratulations to David Wachsmuth and Maxime Bélanger de Blois.

 

Winner: Shiny for Python and Newcomer Prizes

 

signature.py by Arthur Bréant

 

signature.py

 

This was far from the most ambitious entry in terms of scope or complexity, but every reviewer who saw it was charmed by its well-designed UI and attractive results—and its usefulness. The app is a simple tool for members of an organization to generate a consistent HTML email signature, including images and brand elements.

Besides its visual appeal, this app also stood out for its clean code and thoughtful use of Shiny modules.

As the top-ranked app written in Shiny for Python, as well as the top-ranked app by a dev with less than one year of experience with Shiny. 

 

Runners-Up

 

 

Oh My Bag - The Heist of the Century

 

The Shiny enthusiast known only as miskowski85 was our most prolific participant this year, submitting no less than four different Shiny apps. While all were impressive, it was Oh My Bag that left the biggest impression on the judges, with some of the most surprising UI we’ve ever seen from a Shiny app!

Oh My Bag is a casual game with a straightforward mechanic: you’re presented with an assortment of valuables that each have weight and a dollar value, and your goal is to maximize the value of the objects you can carry in your bag without exceeding its weight limit. The controls are intuitive and the game is easy to pick up, but the real star of the show is the game’s visual style, with a retro 1990s VGA vibe that brought a smile to the face of this Gen-Xer. And there are amusing and impressive UI touches everywhere you look, from the spotlight effect that follows your cursor to the subtle animated smoke rising from the stranger’s pipe in the background.

 

Borders by Evan Brand

 

Borders

 

Borders is a tool to help users choose plants for a garden border, making recommendations based on which plants are most likely to thrive at the user’s location. This app is visually appealing, makes excellent use of bslib cards, and works equally well on desktop and mobile.

 

Pomodoro Timer by Agustin Pérez Santangelo and Angel Escalante

 

Pomodoro Timer

 

I’ve been using the Pomodoro Technique for almost fifteen years, and I don’t think I’ve seen a more visually appealing Pomodoro timer than this one! The typography, color choices, spacing, and proportions are all spot-on, and there’s just enough animation to feel polished without being distracting. And to add a bonus dopamine hit, you get a little prize every time you complete a Pomodoro.

 

stoRytime with Shiny by Umair Durrani

 

stoRytime with Shiny

 

In recent weeks we’ve seen a sudden uptick in the number of Shiny apps that use generative AI (a topic we’ll be talking about a lot more in the near future). stoRytime is a really beautifully executed example of this genre, generating an illustrated (very) short story, tailored to your preferences, with a click of a button. The stories are surprisingly coherent and engaging, and the app’s UI is clean and easy to use.

One “why didn’t I think of that” aspect of this app is that the generated stories are rendered as a Quarto RevealJS slideshow, which has a number of advantages: the story is naturally broken into screen-sized pages with keyboard navigation, transitions between pages are animated, and the story can be saved and shared as a standalone HTML file.

 

California Schools Climate Hazards Dashboard by Hazel Vaquero, Charlie Curtin, Liane Chen, Kristina Glass

 

California Schools Climate Hazards Dashboard

 

This dashboard gives California residents and administrators a wealth of info on the climate hazards facing schools in their area. It’s a serious and important topic, and the data (especially the Extreme Heat historical charts) paint an alarming picture. Despite that, the app is a pleasure to use: the visualizations are well chosen, explanatory text is ubiquitous without being excessive, and the navigation structure is intuitive.

Overall, a seriously impressive application from a team of new Shiny developers!

 

Honorable Mentions

  • TuneTeller. By Antti Rask. Offers music recommendations based on text input, using OpenAI for music recommendation and Spotify for and artist information.
  • Netflix Oldies. By Paula López Casado. Given input on movie preferences, the Shiny app uses filtering techniques to deliver personalized movie suggestions, offering insights into the recommendation process, and allows the user to search for movies.
  • The Hawaii State Judiciary Fines and Fees Calculator By Adam S. Cohen. This Shiny app helps people calculate the fines and fees owed on a traffic ticket, and if eligible, helps them request either a reduction in fines or a conversion to community service.
  • Allison & Kobus Wedding Website. By Kobus Bosman (and Allison helped, we’re sure). Talk about a Shiny app made with love. This app is designed for the author’s wedding; it offers attendee information and integrates form submissions with google sheets.
  • Routemaster By Noel Dempsey. This Shiny app detects the presence of London Buses using TFL’s JamCams API, displaying the number of buses, prediction bounding boxes overlaid on camera stills, and includes a walkthrough of the project’s development using R and Azure for object detection.
  • LogAnalyzer. By Deepansh Khurana & Jakub Nowicki Ph.D. Semantically colored logs for applications deployed on Posit Connect.
  • Spectran – Spectral analysis of light. By Johannes Zauner. Spectran is an analysis tool for visualizing and calculating core metrics for light spectra (visible radiation), with applications in education, research, and lighting design.
  • Process Mine-R. By Noel Dempsey. This Shiny app allows users to upload an event log and explore it through an activity map, analyzing throughput time, activity patterns, and process insights to aid in initial process mining exploration without needing paid-commercial tools.
  • 3D Bin Packing Tool. By Noamane. Ever wanted to cheat at Tetris? The 3D Bin Packing Tool Shiny app visualizes the packing of various items into bins of specified dimensions and weight limits. Users can configure the sizes and weights of both bins and items, then see how efficiently the items can be packed into the bins using a 3D visualization.

Until Next Year!

Organizing a contest like this can be nerve-racking—will people participate, and if they do, will the quality match our hopes? On the Shiny team, we primarily interact with developers through GitHub issues and ad-hoc interactions. Despite our best efforts to serve the Shiny community, it can sometimes feel distant.

But this contest has been a powerful reminder of just how talented and dedicated this community is. The submissions we received reflect literally thousands of hours of hard work and creativity. They demonstrate mastery of data science, user-interface design, and specific scientific domains. I’m incredibly grateful for everyone’s participation, and I couldn’t be more proud of the community and ecosystem of tools we’ve all built together.

Thank you to everyone who participated in the 2024 Shiny Contest and a big round of applause to this year’s winners!