Autumn App Challenge

Hi everyone,
Here’s my app submission for the Plotly Autumn App Challenge.

Key Features:

  • Design and Responsiveness: CSS makes up 10% of the code, reflecting a significant investment in the app’s design and responsiveness.

  • Advanced Search: The app includes a Search bar where users can look up restaurants by address. The search functionality is enhanced by using SentenceTransformer’s multi-qa-mpnet-base-dot-v1 model.

  • Enhanced Dataset: The dataset has been enriched with restaurant photos obtained through web scraping, offering a more visual experience.

  • Multi-language Support: The app supports both English and Portuguese, with language selection available via a dropdown menu.

  • Map Options: Users can switch between three different map types—OpenStreetMap, ESRI, and CARTO—providing flexibility in viewing preferences.

I deployed it on Google Cloud, and you can access it here
And here’s the GitHub repo

Below is an overview of my app.

3 Likes

Michelin Star Data Set Dashboard

This comprehensive web application provides an interactive visualization of Michelin-starred restaurants data. The dashboard offers insights into restaurant distributions, awards, cuisines, and facilities across various cities.

Live Application: Michelin Star Restaurant Guide Dashboard

GitHub Repository: michelin-star-restaurant-guide-dashboard

Features

City Selection

Users can select a specific city from a dropdown menu, which filters the data displayed in all visualizations.

Award Filter

A multi-select dropdown allows users to filter restaurants by Michelin recognition levels:

  • 3 Stars
  • 2 Stars
  • 1 Star
  • Bib Gourmand
  • Selected Restaurants

Theme Toggle

The dashboard includes a light/dark mode toggle for user preference and improved readability in different lighting conditions.

Interactive Visualizations

Facility-Award Correlation Heatmap

This heatmap displays the correlation between restaurant facilities/services and Michelin awards for the selected city. It helps identify which amenities are most associated with higher Michelin ratings. The correlation is calculated using Point-biserial correlation, which measures the relationship between a binary variable (presence or absence of a facility) and a continuous variable (encoded Michelin award level). This method allows for quantifying the strength and direction of the association between each facility and the Michelin rating.

Top 5 Cuisines Table

A data table showcasing the five most prevalent cuisines in the selected city, along with their respective counts.

Award Distribution Map

An interactive scatter map plots the locations of Michelin-recognized restaurants in the chosen city. Each point is color-coded based on the award level, providing a geographical overview of restaurant distribution.

Awards by City Bar Chart

This bar chart illustrates the distribution of Michelin awards within the selected city, offering a quick comparison of the number of restaurants at each recognition level.

Technical Implementation

The dashboard is built using the following technologies:

  • Dash: A Python framework for building analytical web applications
  • Plotly: For creating interactive visualizations
  • Pandas: For data manipulation and analysis
  • NumPy: For numerical computations
  • Bootstrap: For responsive layout and styling
  • SciPy: For calculating Point-biserial correlation between facilities and awards
  • Scikit-learn: For one-hot encoding of facilities data using MultiLabelBinarizer

Key files in the project structure:

  • app.py: Main application file containing the Dash layout and callbacks
  • src/data_cleaning.py: Functions for data preprocessing
  • src/facility_award_correlation.py: Correlation analysis between facilities and awards
  • src/figures.py: Functions to generate various visualizations

Data Source

The dashboard utilizes the “michelin_by_Jerry_Ng.csv” dataset, which contains detailed information about Michelin-recognized restaurants worldwide.

Light and Dark Mode

The application supports both light and dark modes for enhanced user experience.

Light Mode

In light mode, the dashboard uses a white background and the “carto-voyager” map style for the scatter map.

Dark Mode

When switched to dark mode, the dashboard applies a dark background (#111111) and uses the “carto-darkmatter” map style for the scatter map.

Conclusion

This Michelin Star Data Set Dashboard provides a user-friendly interface for exploring and analyzing Michelin-recognized restaurants across different cities. Its interactive features and visualizations offer valuable insights into the distribution of awards, popular cuisines, and the relationship between restaurant amenities and Michelin ratings.

3 Likes

@mayaradaher strikes again! Beautiful app. Thank you Mayara.

1 Like

Nice app, @sduza1r . Where have you been hiding all this time :slight_smile:
:wave: welcome to the community.

1 Like

Thank you everyone for your amazing app submissions.

The challenge is officially closed. In the next couple of weeks, a group of app judges from Plotly will review the apps.

Final results will be posted here once the judging is complete.