Skip to the content.

Streamlit Web Application

Overview

The Planwise Streamlit web application provides an interactive, user-friendly interface for our recommendation system. Users can adjust preference sliders, chat with the recommender, view recommended places on a map, and provide feedback through ratings and reviews.

Features

User Authentication

Preference Input Methods

Interactive Sliders

Users can adjust preference sliders (0-5) across 29 categories including:

The interface allows users to:

Natural Language Chat

Users can express preferences conversationally:

Recommendation Controls

Recommendation Visualization

List View

Each recommended place shows:

Map View

Route Details

User Feedback

Technical Implementation

Application Structure

The Streamlit app is organized into several functional sections:

  1. Authentication Flow: Handles login, signup, and session management
  2. User Input Collection: Processes preference input through sliders and chat
  3. Recommendation Engine Interface: Connects to the underlying models
  4. Results Visualization: Displays recommendations and routes
  5. Feedback Collection: Manages user ratings and reviews

Key Components

Usage Guide

Getting Started

  1. Create an Account:
    • Navigate to the login tab
    • Click “Sign Up” and enter your credentials
    • Return to login and enter your credentials
  2. Set Your Preferences:
    • Use the sliders to indicate your interests
    • Or chat with the recommender to express preferences naturally
  3. Generate Recommendations:
    • Set your current location
    • Choose a recommendation method
    • Click “Generate Recommendations”
  4. Explore Results:
    • Browse the list of recommended places
    • View them on the interactive map
    • Check the optimized route details
  5. Provide Feedback:
    • Rate and review places you’ve visited
    • Edit previous reviews as needed
    • Your feedback improves future recommendations

Running the Application

To run the Streamlit app locally:

cd reco/streamlit
streamlit run app.py

Or with Docker:

docker compose -f docker-compose.dev.yml up

The application will be available at http://localhost:8501.