Website

Swistination

A web-based tourism recommendation system for Switzerland using Singular Value Decomposition (SVD) for Collaborative Filtering, integrated with MLOps pipeline featuring CI/CD automation and monitoring.

Tech Stack

React JSSupabaseFastAPIPostgreSQLPythonDockerCI/CDMLOpsMonitoringPrometheusGrafana

Project Overview

Swistination

Swisstination is a recommendation system platform designed to help international tourists discover the best tourist destinations in Switzerland according to their interests, preferences, and needs. This platform addresses the challenges faced by foreign travelers, such as limited information, overwhelming destination choices, and language and cultural barriers.

The system implements Collaborative Filtering (CF) to provide personalized recommendations. When users first log in, they are asked to fill in their personal preferences (such as interests in nature, culinary, history, or others). Based on these preferences and patterns from other users with similar interests, the system delivers more personalized and relevant destination recommendations.

The dataset includes various types of tourist destinations in Switzerland, ranging from natural attractions, cultural sites, to culinary experiences. The data is generated with the assistance of Large Language Models (LLM) like ChatGPT, enabling rich, diverse, and relevant destination information tailored to user needs.

The user flow starts with Sign Up for registration, followed by Login Credential for authentication and session creation. Users then access the Recommendation Dashboard to view personalized destination and culinary recommendations. After visiting, users can Submit Reviews with ratings, which are then added to the review dataset, continuously improving the recommendation system with fresh data.

To ensure all services work reliably, the platform integrates monitoring with Prometheus and Grafana. Prometheus collects and stores metrics from the application and infrastructure, while Grafana provides real-time dashboards for visualizing system health, performance, and alerts. This monitoring stack enables proactive issue detection and ensures high availability of the recommendation services.

Features

  • Personalized Recommendations
  • User Reviews & Ratings
  • Collaborative Filtering
  • Multi-category Destinations
  • LLM-Generated Content