Site icon R-bloggers

Winners of the 3rd annual Shiny Contest

Once again the Shiny community has wowed us with their contributions to the 3rd annual Shiny Contest that we announced back in March 2021.

We had 179 submissions from 164 unique Shiny developers to the contest this year over the two-month period submission period for the contest, with over 40% of participants indicating that they have less than one year experience with Shiny!

Evaluation and judging

Apps were evaluated based on technical merit and artistic achievement. Some apps excelled in one of these categories and some in the other, and some in both. Evaluation also took into account the narrative on the contest submission post on RStudio Community.

Before we go on to announcing the winners, we would like to thank our esteemed judges who helped us evaluate the submissions. A huge thanks to Charlotte Soneson, Colin Fay, Curtis Kephart, David Granjon, David Smale, Eric Nantz, Federico Marini, Garrick Aden-Buie, Joe Rickert, John Coene, Kevin Rue, Koen Neijenhuijs, Maya Gans, Neal Grantham, Nico Hahn, Pedro Silva, Raj Kumar, Sam Parmar, Sam Toet, and Winston Chang for their help in evaluating the submissions and thoughtful comments.

A few of these judges have submitted apps to the contest as well, which have been omitted from the evaluation but we’d love to take a moment to highlight them here!

  • Spotify Habits by Nico Hahn: A small app showing what music Nico listens to on Spotify in general and what they have been listening to more recently. The all also presents analysis on the artists and songs. Read more about the app here.
  • Mix Things Up by Sam Parmar: An app to quickly generate random workout plans from a list of exercises. Features the use of the gt and bslib packages as well as publishing Google Sheets for import into Shiny. You can use the app or source code to generate your random workout plan (based on a preset list of exercises). Get after it! Read more about the app here.
  • The Hotshots Racing Dashboard! by Eric Nantz: In Eric’s words “a completely over-the-top” dashboard summarizing the Wimpy’s World Hotshot Racing 2021 spring virtual racing league. The dashboard contains interactive tables powered by reactable and interactive visualizations from echarts4r and plotly!” Read more about the app here.
  • Hotshots Racing Random Driver & Car App! also by Eric Nantz: A random car and driver selector used in the Wimpy’s World Hotshot Racing 2021 spring virtual racing league. Simply click the Launch button to kick off a Vegas-style carousel! Read more about the app here.

All winners of the Shiny Contest 2021 will get one year of shinyapps.io Basic Plan, a bunch of hex stickers of RStudio packages, and a spot on the Shiny User Showcase. Runners up will additionally get any number of RStudio t-shirts, books, and mugs (worth up to $200) where mailing is possible. And, finally, grand prize winners will additionally receive special and persistent recognition by RStudio in the form of a winners page and a badge that will be publicly visible on their RStudio Community profile, as well as half-an-hour one-on-one with a representative from the RStudio Shiny team for Q&A and feedback!

Without further ado, here are the winners! We have categorized runners up and grand prize winners based on whether they have less or more than one year experience with Shiny. Note that winners are listed in no specific order within each category.

Grand prizes

Less than one year experience

🏆 {wedding}: a Shiny app to help future grooms

by Margot Brard

Guests can get logistical information about the wedding, confirm their attendance, and indicate their menu choice. The future bride and groom have access the wedding dashboard (visualization of expenses, number of confirmations, seating charts, …). Read more about the app here.

The judges loved this novel approach to a very real problem (terrible wedding websites!) and especially enjoyed the table setting plans in the bride and groom only area.

🏆 Math Eagle Game

by Sharukkhan

When the user clicks on START, the page directs to a mathematical game. The objective of the game is to make the math eagle reach outer space. For each correct or incorrect answer, the user is notified and the speed changes accordingly. After completing 2 minutes, the page directs to Scoreboard, where the player can view the scores as well as highlights. Read more about the app here.

The judges thought this was a very fun take on a math game for kids. They loved the technical implementation of this application with proper use of functions to reduce the codebase, and very proper use of reactivity and remarked that this was particularly impressive for someone relatively new to Shiny!

🏆 Shiny app for climate change informed tree species selection

by Bruno Tremblay

Use map or table to enter points of interest. Information for each point is retrieved from a Postgis backend. Click Generate to produce a series of information detailing each site tree species feasibility, including modelled future predictions. Read more about the app here.

The judges thought the app showed high technical rigor, and especially highlighted that it’s structured as a package. Not only is the reactive functionality in the app is smooth, it’s also robust to errors with gentle fail mechanisms vs. crashing the app!

More than one year experience

🏆 Racetrack 2: Electric Boogaloo

by Jackson DeWeese and Darren Frye

A digital version of the paper & pencil game Racetrack taken from its start on graph paper in the ‘60s to an online click-to-drive game, Racetrack 2: Electric Boogaloo uses Shiny’s reactivity with global variables to create a multiplayer experience. Read more about the app here.

The judges loved the fun factor of this app, the multi-player logic, and the slick authentication!

🏆 Commute Explorer

by Stefan Schliebs

This project explores the commuting behavior of New Zealanders based on the Stats NZ Census 2018 data set. The app uses a custom HTML template to present commuting figures on a map, mode of travel visualizations, work and education related commuting and various filtering options. Read more about the app here.

The judges remaked that “this app is GORGEOUS”! Via the use of an HTML template, the app looks nothing like a standard Shiny app. Plug and play: it’s very simple to understand what it does!

🏆 Shark Attack

by Marcin Dubel

The ocean is the origin and the engine of all life on this planet — and it is under threat. The game goal is to spread the awareness of the environmental issues via enjoyable way. The user will try to collect as much trash as possible while avoiding sharks. Read more about the app here.

The judges thought this was a really neat implementation of a motivating and fun teaching tool. (Side note: My four year old LOVES this app! Unfortunately, now he thinks all I do on my computer when I’m working is playing the shark game…)

🏆 dinnR

by Kyle Harris and Alexis Meskowski

The dinnR app is a weekly meal planning app for dinner. Simply pick your meals from a community-driven database of recipes, and dinnR will generate a list of items needed for the week. Remove ingredients you have at home and the remaining ingredients can be used as a shopping list. Links are provided to each recipe along with credit to the user that submitted them. The options tab allows you to change the planning dates, set a measurement system, and filter by dietary restrictions. The “Submit a Recipe” tab lets the user submit recipes they enjoy to the app where we credit them. Read more about the app here.

The judges thought the idea of the app is really fun and were impressed by the participation from the twitch audience filling in the data – the developers stream on twitch.tv, and among other things, they stream coding sessions on Saturday mornings! The judges also commented that the code is super clean and very impressive (with the use of Shiny modules and organization as an R package).

🏆 A minimalist Markdown organiser

by Chun Fung Kwok

Type Markdown in the textbox on the left, see rendered organiser on the right. “Click” an item/card on the board to edit the text, and “Drag” to move the items/cards around to desired location. Updates are bidirectional. Read more about the app here.

The judges love the minimalistic design of this app and how the developers integrated lots of cool JS!

Runners up

  • SVG Input by Jiddu Alexander. The judges really loved the functionality and the layout of this app as well as the well-organized code. A very neat tool for all Shiny developers!

  • Living a life of labor in Bolivia by Rui Su and Carla Cristina Solis Uehara. The judges highlighted the ease of use of this app and the inspiring topic.

  • systemPipeShiny by Le Zhang. The judges thought this app is brilliantly put together and commented “I can’t wrap my head around how much functionality this app has implemented!”. Read more about the app here.

  • Three dimensional (3D) interactive visualization of protein structures by Niels van der Velden. The judges thought the app is very well explained in contest submission and really polished. They also commented on the neat organization of the code and the use of Shiny modules.

  • Bikemapp by Agustin Perez Santangelo. The were impressed by the snazzy UI of this app and how the author collated data from different sources to provide cyclists a map that provides all essential information they will need while riding. They commented that the concept behind the app is unique and UI is pretty pleasant and enhances overall experience and the code follows best practices.

Honorable mentions

All submissions to Shiny Contest 2021

Feel free to peruse the full list of all submissions to the contest on RStudio Community. Note that data and code used in the apps are all publicly available and/or openly licensed. We hope that they will serve as inspiration for your next Shiny app!