MUSTANG MOBILITY

Accessibility-first campus navigation

Navigating a university campus isn’t just about distance—it’s about access. Existing tools like Google Maps or static accessibility PDFs don’t support real campus needs: multiple destinations, entrance-level accessibility, or building hours.

Buildings aren’t single points.

Accessibility depends on which entrance you use. Modeling each building as a single node hides critical constraints and leads to unusable “shortest paths.”

SIXTY PERCENT

of disabled students experience fatigue simply trying to get around campus—often without sufficient institutional support.

THE SOLUTION

Model the campus as a graph where each building has multiple entrance nodes, each with its own accessibility metadata. Then compute routes using Dijkstra’s algorithm, selecting the most accessible entrance–exit combination at every step.

Users can:

  • Select multiple buildings

  • Filter for wheelchair-accessible entrances

  • View entrance images, building hours, and closing warnings



THE PROBLEM



INSIGHT

CORE SYSTEM DESIGN

  • Graph-based model with 5,000+ edges

  • Dijkstra’s algorithm for reliable, constraint-aware routing

  • Adapter pattern to decouple graph storage from algo and UI

  • Singleton graph instance to ensure consistency and performance

This structure made the system scalable, debuggable, and realistic.

CHALLENGES SOLUTIONS

  • Messy real-world data → CSV validation + logging

  • Missing nodes in adjacency lists → defensive checks + refactored edge models

  • Multi-entrance complexity → evaluate all entrance combinations per route leg

Each challenge reinforced that real-world systems are messy—and must be designed for it..

KEY ENGINEERING DECISIONS

Why Dijkstra (not Prim’s):

1

2

Why multiple entrance nodes:

3

Why testing mattered:

The problem wasn’t “connect everything cheaply,” but “find reliable, accessible paths between chosen destinations.”

Modeling that included every entrance in all buildings enabled meaningful accessibility decisions instead of theoretical shortest paths.

Using Google Test / Mock surfaced 4+ edge cases early—missing nodes, broken adjacency links, and invalid paths.

  1. Good abstractions matter more than clever algorithms

  2. Edge cases are product cases

  3. Designing for accessibility improves system quality overall

WHAT I LEARNED
WHAT I'D DO NEXT
  1. Add elevation/slope and indoor routing

  2. Expand to surrounding London routes

  3. Introduce user feedback loops for accessibility data