Travel Recommendation & Route Optimizer
A BTech capstone project addressing two problems at once: recommending tourist spots tailored to a user's location and interests, and then computing an efficient route to visit them — since most travel-planning tools handle these as separate, poorly-integrated steps.
Data Pipeline
Scraped TripAdvisor with Selenium for the top-rated tourist spots (~120 per city) across five Indian cities — Mumbai, Delhi, Chennai, Kolkata, and Jaipur — capturing name, category, rating, and address for each.
Geocoded every address to latitude/longitude with the GeoPy library so spots could be plotted and distance-ranked, and separately scraped the user's live coordinates from a browser-geolocation site to anchor recommendations to wherever they actually are.
Recommendation & Routing
Called the Google Maps API to get real driving distance and duration from the user's current location to every catalogued spot, rather than relying on straight-line distance.
Used K-Nearest Neighbors to shortlist the 7 closest spots matching the user's interest filters — small enough to make the downstream routing problem tractable, large enough for a meaningful day trip.
Framed visiting those 7 spots efficiently as a small Traveling Salesman Problem and solved it three ways — Tabu Search, a Genetic Algorithm, and Simulated Annealing — to compare heuristic optimization strategies head-to-head on the same real data.
Rendered the final recommended route on an interactive Folium/OpenStreetMap view, built on a Django backend.
Results
Benchmarked all three algorithms from two real Mumbai starting points. Simulated Annealing found the shortest total route in both cases (9,299m and 16,179m), but took roughly 1.5–2x longer to converge than Tabu Search.
Tabu Search was the clear winner on speed — converging in ~0.03–0.06s versus the Genetic Algorithm's ~0.3–0.32s (5–8x slower) — while landing within about 1–3% of Simulated Annealing's best distance, making it the practical choice when routes need to be computed on demand rather than precomputed offline.
Limitations
Recommendations are driven by static scraped ratings rather than a learned per-user profile, so the system doesn't improve from repeated use the way a collaborative-filtering approach would.
Real-time traffic and weather conditions were a stated goal but not integrated into the final route-scoring — routes are optimized on distance/time snapshots, not live conditions.
BTech capstone at K. J. Somaiya Institute of Technology with 2 teammates (Prachiti Bapat, Vedant Mishra), advised by Prof. Aarti Sahitya.