Crutch is an accessibility-focused, community-driven pathfinding map of UVA

Inspiration

A few days ago, one of our team's developers got hit by a car. While he got relatively minor injuries, he's been in crutches to help heal his knee. It quickly became apparent how difficult it can be to quickly find accessible pathways across campus in a timely manner. While UVA does provide a list of partially and fully accessible entrances and pathways, it is difficult to access, not mobile-friendly, and importantly, infrequently updated to reflect regular changes. Our goal is to offer a service that improves the experience of those with temporary and permanent disabilities and affords communities stewardship over their accessibility data.

What it does

Find accessible footpath routes: Pick a starting building then pick a destination building. Crutch will tell you the most accessible route from one place to another! (For buildings with no accessibility entrances/exits, the default closest route will be displayed).

Upload environment features to help others: See anything not included in our database? Contribute to Crutch by submitting an environment feature directly through our web and mobile interface.

How we built it

  • We used SvelteKit as the full-stack framework and Mapbox Dataset as our database to store geographical data.
  • For mapping and map interactions, we used Mapbox's mapboxGL library
  • For ease of interaction with the database, we use the mapboxGL js SDK and custom API routes

Challenges we ran into

  • Accessing Geospatial Engineering Services (GES) data. UVA's accessibility map and its data are stored through GES. While UVA students have access to many of the public and institution-owned data stored through the GES, accessibility data was not included in it. Thus, we decided to pivot to a crowd-sourced database built together by users.
  • Completely new to all Mapbox services and use of GeoJSON as database records

Accomplishments that we're proud of

  • Utilizing Mapbox to visualize a map of UVA and its vicinity
  • Understanding and using mapbox-sdk-js to send requests to Mapbox Studio, which supports reading and writing of GeoJSON data.
  • Building an aesthetic and functional application that works on desktop and mobile

What we learned

  • Fullstack development using SvelteKit (was the first time learning fullstack AND javascript for one of our teammates, Young!)
  • Understanding Mapbox, mapbox-jdk-js (JavaScript SK Mapbox APIs), Mapbox Datasets
  • Querying and parsing GeoJSON data, a format for encoding geographic data structures
  • The ever haunting lesson of time management

What's next for Crutch

  • Working with institutions to build mutually exclusive data-sharing pathways
  • Increasing users to improve Crutch's core functionality: up-to-date data
  • New methods of managing data to improve quality
  • Improved pathing methods and more advanced routing

Built With

Share this project:

Updates