Inspiration

We set out to answer a simple question: where in the world are the best places to eat? Michelin-starred restaurants represent the pinnacle of culinary excellence, but there's no easy way to explore them globally in one place. That’s what inspired us to build Michelin Star Explorer—a centralized dashboard powered by AI and data engineering.

What It Does

Michelin Star Explorer is an interactive analytics platform that helps users:

  • Discover top-rated restaurants by cuisine and country
  • Compare star ratings and Google reviews
  • Identify culinary trends across time and regions

We enrich raw data with Google Places API, aggregate and store it using MongoDB and BigQuery, and visualize it with Looker Studio.

How We Built It

  • We orchestrated a full ETL pipeline using Apache Airflow.
  • Raw Michelin data is cleaned, enriched with Google Places API, and stored in both MongoDB Atlas and Google BigQuery.
  • Data is visualized using Looker Studio, connected to both sources.
  • The project is containerized via Docker and deployed using GitLab CI/CD pipelines.
  • All secrets and credentials are handled securely via .env files and GitLab variables.

Challenges We Ran Into

  • Handling inconsistent and multilingual restaurant naming during enrichment.
  • Managing Google Places API rate limits while fetching high-volume restaurant metadata.
  • Structuring data models to support flexible aggregation across cuisines and locations.

What We Learned

  • How to design a production-ready data pipeline with daily scheduling.
  • Best practices in scalable dashboarding using Looker Studio + BigQuery.
  • Practical CI/CD workflows using GitLab pipelines and Docker in tandem.

What's Next

  • Implementing MongoDB vector search for “restaurant similarity” recommendations.
  • Adding sentiment analysis of reviews using Google Cloud Natural Language API.
  • Expanding filters to support year-over-year trends and user-personalized views.

Check out the live dashboard here: liviaellen.com/michelin

Built With

Share this project:

Updates

Submission history