FluxNav

Smart metro navigation engine powered by graph algorithms and real-world transit data.

Overview

FluxNav is a cross-platform Flutter application built to compute optimal routes across the Delhi Metro network using graph algorithms. It models stations as nodes and connections as weighted edges, enabling shortest-path routing, minimal interchange computation, and real-time nearby station discovery via Google Maps integration. Metro datasets (station endpoints, lines, and connectivity) are statically structured within the application for fast local computation.

Key Features

Shortest Route Engine (Dijkstra)

PriorityQueue-optimized Dijkstra implementation to compute the shortest path based on distance and fare across weighted metro graphs.

Minimum Interchange Routing

Custom graph traversal using edge metadata (line color + distance) to minimize interchange transitions between metro lines.

Interactive Metro Map

Google Maps integration to visualize metro lines, stations, and computed routes dynamically.

Nearby Station Detection

Google Places API integration to suggest metro stations based on real-time user location.

Dual Route Output

Returns optimized paths for both shortest distance and least interchanges to enhance travel flexibility.

Scalability & Performance

Custom graph data structures for efficient node-edge lookup

PriorityQueue optimization for reduced path computation time

Separation of UI and routing engine for maintainability

Locally structured metro dataset for fast offline computations

Architecture designed to support future AI-driven route predictions

Challenges

  • Implementing interchange-aware routing without increasing graph complexity
  • Balancing algorithmic performance with real-time UI rendering
  • Designing efficient edge metadata handling for multi-line transitions

Trade-offs

  • Chose static in-app metro dataset over remote API to ensure fast and deterministic routing.
  • Accepted slightly higher memory usage to support dual-route computation.

Learnings

  • Applied graph theory concepts to a real-world transportation system.
  • Improved performance tuning using Dart collections and priority queues.
  • Strengthened architectural separation between algorithmic logic and UI layers.
  • Gained practical experience integrating mapping APIs with custom algorithms.