Inspiration

Navigating busy university campuses or urban areas during peak hours can be frustrating when you find yourself stuck in crowds moving between classes or events. While traditional navigation apps show the fastest route, they don't account for the reality that a slightly longer path might be more pleasant if it avoids congested areas. With predictable class schedules, we saw an opportunity to build a smarter wayfinding system that helps pedestrians avoid crowds before they even start their journey.

What it does

Wayfinders is a smart pedestrian navigation application that calculates optimal walking routes while intelligently avoiding crowded areas. Unlike traditional apps, Wayfinders analyzes nearby venues and class schedules to predict crowd formation, generating up to 3 alternative routes ranked by a custom "crowdedness score."

The app displays real-time hotspots on an interactive map using color-coded markers. When you request directions, it uses AI to explain the logic behind each route provided.

How we built it

We built Wayfinders using a modern full-stack architecture:

  • Frontend: A responsive web application using Next.js, React, and TypeScript, styled with Tailwind CSS. The mapping interface uses Leaflet and React Leaflet for marker clustering and dynamic route rendering.
  • Backend: A FastAPI server in Python orchestrating data from the OpenRouteService API and performing MongoDB geospatial queries to find venues within 50m of route coordinates.
  • AI Integration: We integrated Claude Haiku via LangChain to generate human-readable explanations. The AI analyzes duration, distance, and crowdedness to produce personalized recommendations.
  • Database: MongoDB stores venue locations in GeoJSON Point format. Class schedules are linked to venues to enable real-time crowd prediction.

Challenges We Ran Into

  • Geospatial Query Performance: Naively evaluating crowdedness at every point along a route proved too slow. We reworked this by batching route coordinates into consolidated queries, significantly reducing database round-trips and bringing response times down from nearly a minute to a few seconds.
  • Reliable Crowdedness Scoring: Translating real-world human traffic into a meaningful score required several iterations. We ultimately designed a heuristic that balances proximity, timing, and scale of events without overfitting to any single factor.
  • Cross-Platform Map UI Management: Supporting both web and mobile introduced additional complexity. We optimized React state handling to keep map interactions smooth across devices, carefully managing component layering and z-index to avoid gesture conflicts between the map, navigation controls, and UI panels.

Accomplishments that we're proud of

  • End-to-End Functionality: A complete working application from data ingestion to a polished interactive UI.
  • Smart Algorithm: Successfully balancing distance and time trade-offs using real-world class schedule data.
  • Performance: Achieving sub-2-second response times despite complex geospatial calculations and LLM calls.

What we learned

  • Geospatial Operations: Deep experience with GeoJSON formats and the importance of spatial indexing.
  • API Orchestration: Efficiently coordinating multiple third-party APIs (OpenRouteService, Claude AI) while handling errors and rate limits.
  • LLM Best Practices: Learning to craft prompts for consistent, structured AI output and handling API fallbacks gracefully.

What's next for Wayfinders

  1. Real-Time Crowd Data: Integrating Wi-Fi analytics and IoT sensors to supplement schedule-based predictions.
  2. User Preferences: Adding settings for walking speed, accessibility (wheelchair-friendly routes), and crowd tolerance.
  3. Expanded Coverage: Extending the service beyond Singapore to global university campuses.
  4. Social Features: Allowing users to report crowd levels in real-time.

Built With

Share this project:

Updates