Autumn App Challenge

We are excited to announce the Plotly Autumn App Challenge that will build on Plotly’s transition to MapLibre, bringing faster performance and increased stability to all of our map-type charts.

We challenge the community to build a Dash app around the data on the Michelin Star Restaurant Guide, provided by Jerry Ng on Kaggle.

Over time, Michelin stars have earned a reputation for prestige, thanks to their rigorous criteria and the scrutiny of anonymous inspectors. These stars are highly sought after, because earning even a single star has the power to transform a chef’s career; though losing a star can have just as profound an impact.

The winning apps will be judged according to the following categories:

  • Data insights revealed from the data set
  • App UI/UX Design
  • Creative usage of Plotly maps
  • Bonus points for integration of LLMs to gain more data insight

Please submit your app as a new post in this thread. Please include a link to the app if possible, code on GitHub, and a short description of the app.

The submission deadline is the end of the day Sunday, November 3, 2024.

The winners will be announced in November and will receive a reward of: $125 for first place, $75 for second, and $50 for third place.

Helpful resources for mapping:

Sample visualization:

Code for visualization:

import pandas as pd
import plotly.express as px

df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/michelin_by_Jerry_Ng.csv")

# Define marker sizes based on the award
def size_mapping(award):
    if award == '3 Stars':
        return 30
    elif award == '2 Stars':
        return 15
    elif award == '1 Star':
        return 10
    elif award == 'Bib Gourmand':
        return 5
    else:
        return 2

df['award_size'] = df['Award'].apply(size_mapping)

fig = px.scatter_map(data_frame=df,
                  	 lat="Latitude",
                  	 lon="Longitude",
                  	 color="Award",
                  	 size="award_size",
                  	 hover_data={"award_size":False},
                  	 zoom=4,
                  	 center={"lat":47.6, "lon":2.62})
fig.show()
11 Likes

The Michelin Guide to France. 2024

As an ex-chef currently training to become a data engineer, I was thrilled to see the topic of the Autumn App Challenge.

For my submission, I narrowed the scope of the Michelin data to France and made it more granular. France’s administrative divisions made this a relatively straightforward process. The first two digits of the French postal code uniquely define a department, providing a reliable foreign key to cascade merges up to regional level and down to arrondissement level. From there, I was able to merge this data with GeoJSON shapefiles.

I live in the UK so initially, I did attempt to create a “Michelin Guide to the UK”. However, the UK uses an alpha-numeric postal code system with postal boundaries existing simultaneously in multiple boroughs, counties, and even countries. Binning the data was far from simple to automate, hence I gave up on that task…

However, I’m a Francophile, I love geography, and lived in France for a number of years. Hence, I present; “The Michelin Guide to France”

You can view the live app here:

The source code:

The ‘Guide’ page:
MichelinGuidePage

The ‘Analysis’ page (in two parts):
Restaurant Distributions
MichelinAnalysisPageDistributions

Socioeconomics & Wine
MichelinAnalysisPageEconWine

Creating this app was definitely a challenge and I learned a lot in the process.
Thanks for checking it out!

pineapple-bois :v:

6 Likes

This project delves into the Michelin Star Restaurant Guide dataset (Michelin Guide Restaurants)to uncover insightful patterns related to restaurant distribution, pricing, and culinary offerings worldwide. By leveraging data preprocessing techniques and exploratory data analysis (EDA), Ш aim to provide a comprehensive understanding of how Michelin-starred restaurants vary across different regions and cuisines. The culmination of this project is an interactive Dash application that visualizes restaurant data on a map, utilizing Plotly’s transition to MapLibre for an enhanced visual experience.
You can view the detailed Jupyter notebook for this project here.

2 Likes

Thank you for the submission, @feanor_92 and welcome to the Plotly community :hugs:

The last part of your notebook (line 20) has the Dash app. But it didn’t execute successfully. Are you able to run it and share an image with us?

Awesome app submission, @pineapple-bois . There are plenty of things to discover in your app. Thank you for sharing.

1 Like

@pineapple-bois what a beautiful, creative, professional and insightful app! Kudos to you for engineering this marvel!

1 Like

Thank you @deepa-shalini , that’s really nice of you to say