Inspiration

Disabled people face persistent othering and exclusion from society. Tools like ramps are often not present, or inconvenient to the point of being infeasible. Even when handicapped people are included, tools built for them are frequently infantalizing or plain useless. Therefore, when building this tool, I resolved not to feed into that. It uses a dyslexia-friendly font and colorblind-safe colors, as well as includes alt-text descriptions. I wanted to ensure it was accessible for everyone without perpetrating the dehumanization that disabled people face every day.

What it does

NavAble is a routing app for those underserved by traditional navigation protocols. Its routes avoid stairs, high curbs, and other barriers, to enable handicapped people to confidently get around.

How we built it

The map data is from OpenStreetMap, and it is combined with accessibility data from Overpass. It's written mostly in JavaScript (with some HTML since everything is JSX files), and used a React frontend with Leaflet to display the routes.

Challenges we ran into

Originally, I used OSRM for both the driving and walking options. However, OSRM's walking mode is unreliable, often advising that pedestrians enter on-ramps and other unsafe areas. Due to this, I had to last-minute switch to Valhalla for foot traffic, to ensure the safety of users.

Another issue I ran into was map disappearance problems from stale renders. This stumped me for a while and made it impossible to test the code logic, but I was able to get through it with some console debugging, bounds adjustment, and CSS tweaking.

Accomplishments that we're proud of

Learning a lot of JavaScript since I wasn't familiar with it. Also, doing it all solo!

What we learned

Many things about forcing different protocols to work together through API calls, working with Zed (a new IDE for me), and implementing lots of mini-scripts in JS to make sure the layout is both clear and accessible. It definitely got me thinking about distance and time, and how to effectively represent them through code - especially to a customer base of handicapped people, who often have to deal with distance a whole lot more than the able-bodied.

What's next for NavAble

More transit options! Many buses/subways have wheelchair accessible seats and entrances, and I would love to be able to open those up too. Unfortunately schedules can be unreliable and it is more difficult to get that information, but I think it could be quite useful and broaden the population for whom the app is useful.

Built With

Share this project:

Updates