Skip to content
 
 

Repository files navigation

Terhal (ترحال) – Smart Saudi Tourism Recommendation Engine

An end-to-end, AI-powered travel planning mobile application delivering dynamic, personalized Saudi itineraries.


The Problem

Travelers exploring Saudi regions often face fragmented information sources and static, generic recommendations that fail to factor in real-time user interest vectors, trip duration limits, and geographic constraints.


System Architecture & Solution

Terhal bridges this gap by combining an intelligent recommendation engine with a seamless cross-platform mobile experience.

  • Frontend: Cross-platform mobile client built with Flutter for intuitive user onboarding and itinerary visualization.
  • Backend API: Asynchronous, high-throughput REST APIs built using FastAPI and deployed on Render.
  • AI Core: Constraint-aware recommendation engine mapping dynamic user preference vectors to localized destination features.
  • Database & Auth: Scalable cloud document storage using MongoDB combined with Firebase for authentication and session state management.

Tech Stack

Domain Technologies
Mobile Client Flutter, Dart
Backend Framework FastAPI (Python), Uvicorn
AI / Machine Learning Python, Scikit-learn, Pandas, Vector Similarity
Databases MongoDB Atlas, Firebase
Deployment & DevOps Render, Git / GitHub

Key Features

  • Vector-Based Personalization: Dynamically scores destinations based on personalized user preferences and travel styles.
  • Constraint-Aware Scheduling: Generates optimized itineraries taking into account user time limits and destination operating constraints.
  • Rich Regional Catalog: Curated, structured dataset of tourist attractions, cultural sites, and dining experiences across Saudi Arabia.
  • Real-Time Synchronization: Fast API communication ensuring responsive updates across client sessions.

Project Structure

├── ai/          # Recommendation algorithms & vector similarity models
├── mobile/      # Flutter mobile application codebase
├── models/      # Data schemas and Pydantic validation models
├── routes/      # FastAPI endpoint definitions & controllers
└── web/         # Web dashboards and auxiliary interfaces

About

AI-powered Saudi tourism recommendation engine and mobile app built with Flutter, FastAPI, MongoDB, and Python.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages