Inspiration

Navigating the University of Ottawa campus and downtown Ottawa can be challenging for people with mobility disabilities. Many routes that look “walkable” on standard map apps include stairs, steep slopes, or missing curb cuts. We were inspired to build uOttaMove to address this gap by putting accessibility first, not as an afterthought.

What it does

uOttaMove is an accessibility-focused navigation app that generates walking routes optimized for people with mobility challenges. Instead of prioritizing the shortest or fastest path, it uses accessibility data to avoid stairs, steep inclines, poor surfaces, and inaccessible sidewalks, helping users safely navigate campus and the surrounding city.

How we built it

We built uOttaMove using a React frontend with Leaflet for interactive mapping and a Node.js + Express backend. Accessibility data was sourced from OpenStreetMap and processed into a custom sidewalk graph. Routing is handled using a modified Dijkstra’s algorithm that applies penalties for inaccessible features such as steps, high curbs, and steep slopes. Turn-by-turn directions are generated using bearing calculations and consolidated for clarity.

Challenges we ran into

OpenStreetMap accessibility data can be incomplete or inconsistent, requiring careful preprocessing and fallback logic. We also faced issues with coordinate mismatches, performance bottlenecks when building large routing graphs, and overly verbose navigation instructions. Balancing route accessibility against distance while keeping directions readable was a major challenge.

Accomplishments that we're proud of

We successfully built a fully functional accessibility-aware routing engine tailored specifically to Ottawa. The app produces clear, readable directions, assigns accessibility scores to route segments, and visualizes routes in an intuitive way. Most importantly, it demonstrates how open data can be used to meaningfully improve mobility and independence.

What we learned

We learned how complex real-world accessibility is and how small infrastructure details can dramatically impact navigation. The project deepened our understanding of graph algorithms, geospatial data, and frontend-backend integration. We also gained appreciation for designing with accessibility as a core requirement rather than an optional feature.

What's next for uOttaMove

Next, we plan to expand accessibility profiles, improve real-time data updates, and allow users to report accessibility issues directly in the app. We also want to scale coverage beyond Ottawa and collaborate with the community to improve OpenStreetMap accessibility data.

Share this project:

Updates