## Inspiration
Planning a day trip sounds fun until you're buried under 10-15 browser tabs, juggling maps, reviews, budgets, and trying to guess the perfect route to see all the attractions. This pain inspired me to build a project that orchestrates the entire process, creating well-organized, enjoyable day trips in just a few clicks.
## What it does
The application helps you plan trips by choosing the best places based on your preferences. You interact with a small NLP model that understands your requests, and the system then builds the complete plan using logics and Google Maps APIs.
## How we built it
It was developed using Python 3.9 as the core language. The project leverages paraphrase-MiniLM-L3-v2 (via sentence-transformers) for advanced text
Google APIs used
- Google Geocoding API: Converts addresses to coordinates
- Google Places API: Finds points of interest and reviews
- Google Maps Photo API: Retrieves location images
- Google Distance Matrix API: Calculates travel times and distances
- Google Directions API: Generates routes and directions
Python Libraries:
- streamlit-folium: Interactive map integration
- folium: Geospatial visualizations
- polyline: Polyline encoding/decoding
## Challenges we ran into
The hardest part was developing a system that identifies optimal locations based on user preferences, retrieves travel times and distances for walking, transit, and driving using the Google Distance Matrix API, and formulates an efficient route that minimizes total travel time across all selected places. Finally, the system generates a clear itinerary with visually connected locations on an interactive map for easy navigation.
## Accomplishments that we're proud of
As a bonus, I was able to plan my own trip and explore the city of New York.
## What we learned
I learned how to effectively use various Google Maps APIs to build a smart travel app that simplifies day trip planning.
## What's next for Smart2SelfTrip
I plan to expand this project by:
- Integrate upcoming events in the destination city for better planning.
- Allow users to customize multi-day trips using natural language (e.g., add or remove places).
- Designing accessible trips and routes that accommodate people with disabilities and suit all users.
Built With
- css
- folium
- google-maps
- html
- pandas
- polyline
- python
- streamlit
Log in or sign up for Devpost to join the conversation.