🌍 About the Project
Where2 was inspired by the observation that most travel platforms heavily market the same tourist hotspots, creating a lopsided long-tail distribution of global tourism. A small number of cities attract the majority of visitors, while many others remain underexplored.
Our goal was to reimagine travel recommendations through the lens of diversity and inclusion, connecting travelers to cities that align with their personal interests rather than mainstream advertising.
💡 Inspiration
We were motivated by two core ideas:
- Promote cultural inclusivity by giving visibility to underrepresented cities.
- Encourage sustainable tourism by distributing travelers across a broader set of destinations.
Instead of “Where should everyone go?”, the question became:
“Where should you go, based on what matters most to you?”
🛠️ How We Built It
- Dataset: Worldwide Travel Cities Ratings and Climate (Kaggle)
- Backend: FastAPI + Python, serving a machine learning model via Docker on AWS.
- ML Model: Preprocessed the dataset, encoded user preferences, and used cosine similarity for recommendations.
- Frontend: Next.js + TypeScript + Tailwind CSS with interactive sliders and dropdowns.
- Deployment: AWS ECS/Fargate for backend and Vercel for frontend.
🚧 Challenges We Faced
CORS and Deployment Issues: Ensuring smooth communication between the Next.js frontend and AWS-hosted FastAPI backend.
Dataset Alignment: Handling missing fields and ensuring city embeddings captured user interests accurately.
Containerization: Packaging the backend model in Docker while keeping the image lightweight.
Recommendation Tuning: Balancing accuracy with diversity so users get both relevant and fresh results.
📚 What We Learned
The importance of user-centered design in recommendation systems.
How to deploy and route containerized ML services on AWS.
Best practices for integrating frontend-backend pipelines with real-time API requests.
That building inclusive technology means designing systems that give voice to the overlooked — in this case, overlooked cities and cultures.
Moving Forward
To continue to develop this project there are a lot of areas that can be improved upon. Namely creating a user and authentication system where the users can save trips and connect it to their account through a database. Moreover, this project can be further developed and refined by using the users preferences to send back to the ML model for reinforcement learning and collaborative filtering for more personalized recommendations.
Built With
- amazon-web-services
- docker
- fastapi
- next.js
- pandas
- python
- scikit-learn
- terraform

Log in or sign up for Devpost to join the conversation.