Penguins - Shiny Contest Submission

Penguins

Authors: Mark Ustel

Abstract: This sleek neumorphism dashboard hopes to breathe new life into the classic Palmer Penguins dataset using ggplot2 and a progress bar. By focusing on key features of the dataset, the app provides users with an intuitive and enjoyable platform to explore and uncover insights about penguin species in a visually appealing manner.

The app features two charts:

  1. Violin Plot: This plot emphasizes how the ratio between bill length and depth can serve as an effective tool for identifying penguin species. Users can visualize the distribution across all three species, gaining fresh insights into this classic dataset.
  2. Scatter Plot: Highlighting the strong relationship between flipper length and body mass, this plot includes an overlaid linear regression line. It allows users to easily grasp the correlation between these variables, illustrating how flipper size may predict overall body mass in penguins.

Additionally, the app incorporates animated summary statistics that provide dynamic and fun insights as users interact with the filters. The filters embrace the neumorphism design, enhanced by embedded neon lights—a real treat, particularly when experienced on a touch screen. Loading spinners ensure a smooth user experience during chart rendering, adding to the dashboard’s seamless and enjoyable feel.

By blending a well-known dataset with cutting-edge design, this dashboard breathes new life into the Palmer Penguins data, making data exploration both informative and fun.

Full Description:


Shiny app: https://mark-ustel.shinyapps.io/neumorphism/
Repo: GitHub - mark-ustel/palmerpenguins: palmer penguin dashboard to be used as a demo

Thumbnail:
image

Full image:

2 Likes

Full Description: Welcome to the Archipelago Islands, home of the infamous Palmer Penguins! This classic dataset has been a well-trodden path for data analysts and budding data scientists over the years. Surely every insight has been uncovered by now, right?

But turning data into insights requires more than just analysis—it demands a holistic approach for a truly successful output. While my app is "only" a dashboard, dashboards are perhaps the best use case for Shiny.
The layout combines HTML tags and CSS styling, providing an easy yet effective way to create a Shiny dashboard that stands out from the crowd. And it's not just new—it’s well, shiny.

Let me take you on a journey through the app’s design rationale. First, I hope the design catches your eye. The neumorphism aesthetic adds a touch of class and subtlety, breathing fresh life into a well-known dataset. The filters are interactive buttons that glow when pressed, and if you try them on a touch screen, the immersive and tactile experience is quite addictive.

The top of the dashboard features animated progress bars summarizing the three penguin species. While I don’t believe KPIs are necessary for every dashboard, here they serve as a visually engaging and useful element.

Now, let’s talk about the charts, which demonstrate two simple but powerful statistical methods. The first is a violin plot that effectively showcases data distribution across all three species. It goes beyond a traditional boxplot by revealing more detailed information, effectively capturing the "missing" 97 percentiles. A semi-transparent fill is used to display data points, which isn’t strictly necessary but helps to clarify the chart type. To improve clarity, I also applied a jitter function to the points so users can better see the spread of data. The bill length-to-depth ratio, featured in this plot, is a great example of feature engineering, where combining variables leads to new insights.

The second chart is a scatter plot that visualizes the strong relationship between flipper length and body mass. The data points are color-coded by species, maintaining consistency with the dashboard’s overall design. Various modeling techniques were considered, but I settled on linear regression for its balance of accuracy and simplicity. As Einstein famously said, “Make everything as simple as possible, but no simpler.” I take that to heart when crafting dashboards.

Both charts were created using ggplot2. While ggplot2 lacks the interactivity of tools like Plotly or ECharts, it offers maximum flexibility and produces visually stunning charts. Finally, I’ve included loading animations to enhance the user experience, ensuring the app feels fast and responsive.

(NB. I tried adding this decription but it returned error a 422 error)