MBAS Travel Planner
Overview
The MBAS Travel Planner is a program that generates a customized travel package for users based on personal constraints such as destination, travel dates, maximum flight cost, and maximum hotel price. The system outputs a complete travel summary, including flights, lodging, weather, and suggested attractions.
While technically driven, this project emphasizes human-centered system design by translating user inputs into clear, actionable travel information that reduces planning effort and decision overload.
The Problem
Planning travel—especially on a budget—requires users to navigate multiple platforms, compare prices, interpret weather conditions, and research destinations. This process is time-consuming and cognitively demanding, particularly for users who want quick, constraint-based recommendations.
Key challenges include:
Fragmented travel information across multiple sites
Difficulty comparing options within a budget
Lack of consolidated, personalized travel summaries
Users often spend significant time searching without confidence that their choices meet all their constraints.
Design Challenge
How might we design a system that generates a complete, personalized travel plan based on user-defined constraints, while minimizing effort and decision fatigue?
System Design & Approach
The MBAS Travel Planner uses a constraint-based input model to guide the system’s output. Users specify:
Destination country and city
Travel dates
Maximum flight price
Maximum hotel price
The system then aggregates relevant data into a single travel package, rather than forcing users to manually compare options across platforms.
Core Features
Custom travel package generation based on user inputs
Flight details (outbound and return, including layovers)
Hotel recommendations within budget constraints
Weather information for the destination during travel dates
Suggested attractions and events based on destination
All outputs are presented in a structured, readable format to support quick comprehension.
Technical Implementation
The project was implemented in Python and supports two modes of interaction:
Command-Line Interface
Users can run the program locally and input travel constraints directly into the terminal. The system processes these inputs and outputs a complete travel package summary.
Web Application
Using Flask, the project was extended into a web-based interface, allowing users to input information through form fields and receive their travel package on a new results page.
Key technical components include:
API integration with Google Flights and Google Hotels via SerpAPI
Web scraping using BeautifulSoup to collect supplementary travel data
Backend logic to filter results based on user-defined constraints
Human-Centered Considerations
Reducing cognitive load by consolidating outputs into one summary
Respecting user constraints rather than maximizing options
Presenting information in a predictable, structured format
Supporting different user preferences through CLI and web interfaces
The goal was to make complex data feel manageable and useful, rather than overwhelming.
Reflection
This project strengthened my understanding of how backend systems and APIs directly shape user experience. Even without a highly visual interface, decisions about data structure, filtering logic, and output formatting significantly impact usability.
What I Learned
Constraint-based systems can meaningfully reduce decision fatigue
Backend architecture plays a critical role in UX outcomes
Human-centered thinking applies just as much to systems design as to interface design

Hey, I'm Madison Hueston ⋆˙⟡♡
I am a student UI/UX Designer, Photographer and Editor.
I am probably making something right now.