login page

resonable results

<

Context-Aware Intelligent Travel Companion

City: Montreal • Platform: Mobile-first web app Leaflet + React • LLM-assisted

Design and implement a context-aware travel companion that gives personalized, real-time recommendations for visitors in Montreal. The app adapts to the user’s location, time, weather, and travel preferences (indoor/outdoor, cuisines, meal times). Wizard-of-Oz inputs allow reliable demo scenarios without exposing the mechanism to end users.

Controls (Preferences & WoZ) Indoor/Outdoor • Meal Times • Cuisines Weather & Simulated Time (hidden to users) Map Pane (Leaflet, Image Map) Pin/GPS → Active Location POI Markers & Popups Recommendations Panel Top Picks • Distances • Reasons LLM Blurb State Store Context (location, time, weather, prefs) Notifications Recommender Filters by distance, weather, hours, prefs Boost meal venues at mealtimes LLM Adapter Generates short rationale for top pick Pluggable to OpenAI API POI Knowledge Base Map Calibration Image ⇄ WGS84 UI Shell / Layout
ContextHow it’s capturedHow it’s used
Location Pin on the image map or use device GPS (mapped to image via two tie points). Computes on-map distance to POIs and ranks nearby places; updates when pin/GPS changes.
Time Simulated time control (WoZ) with ISO storage. Filters by opening hours; ready to extend for meal-phase heuristics.
Weather WoZ toggle (sunny/rain/snow/heat). Suppresses outdoor venues under bad conditions; prefers indoor on rain/snow/heat.
User Preferences Indoor/Outdoor, Meal times, Cuisine chips. Filters restaurants/cafés by cuisines; honors indoor/outdoor selector.

F1 — Location detection & nearby recs (5 pts): Pin/GPS → recompute distances; markers and cards update.

F2 — Weather-aware (5 pts): Outdoor filtered out when rain/snow/heat; indoor always allowed.

F3 — Time-aware (5 pts): Opening-hours check per POI; extensible meal windows.

F4 — Preference-aware (5 pts): Indoor/outdoor, cuisines, meal-time inputs drive filtering and ranking.

F5 — Notifications (5 pts): Toasts on pin/time/weather/prefs changes indicate adaptive updates.

POIs are stored with type, indoor, cuisines, hours, budget. Hours are simple daily blocks (24h clock). This supports filtering for open venues and meal-time alignment. The schema is easily extensible with rating, priceLevel, and tags.

  1. Open app; show initial Top Picks Nearby.
  2. Pin a new spot on the map → watch recs update.
  3. Toggle Weather to “rain” → outdoor venues disappear; museums/cafés remain.
  4. Change Simulated Time to lunchtime → see restaurants that are “Open now”.
  5. Toggle Cuisines to add/remove pizza/smoked-meat → list adapts.
  6. Tap Use My Location (if calibrated) → pin jumps to GPS.
  7. Point out the LLM blurb and how it adapts with context.
AreaAction
POIsAdd more venues (parks, cafés, museums) incl. hours, budget.
Meal logicEnable meal-phase scoring (breakfast/lunch/dinner windows) and boost relevant cuisines.
CalibrationFill two tie points (image⇄WGS84) for GPS overlay; verify with field clicks.
LLMConnect chosen provider; cache responses; handle offline fallback.
NotificationsEnsure toasts for all adaptive changes (pin, weather, time, prefs).
AccessibilityButton sizes ≥44px; focus styles; aria-labels for controls & markers.
WeekMilestones
Wk 1POI KB; map image; Leaflet shell; preference UI; WoZ toggles.
Wk 2Recommender filters (hours/weather/prefs/distance); notifications; demo 1.
Wk 3GPS calibration; LLM adapter hookup; demo 2.
Wk 4Polish, a11y, bugfixes; final demo.

Add rating, openNow(), and priceLevel to the POI schema. Consider budget-aware filtering and transit hints (walk/metro/bike). Offline mode can cache POIs and map.