Inspiration

Many of us have experienced the uncertainty and excitement of visiting a new place, but when we explore, how many of us are left behind? Up to 1 in 7 American adults experience life with impaired mobility, and that number is only growing.

=ADAbility was inspired by the lack of information regarding accessibility features, a necessity that has mostly been neglected by mainstream services such as Google, Yelp, and Facebook. Without knowing the exact details of a location or being intimately familiar with it, those with impaired mobility often have no way of deciding whether they can comfortably navigate their environments. =ADAbility is our solution to this unaddressed need.

What it does

=ADAbility connects those with physical disabilities to their communities by informing them on the accessibility of various locations.

Here's how it works: Businesses and other organizations can record and upload the process of navigating the indoors and outdoors environment around them, making sure to note accessibility features such as handicapped parking, elevators, and ramps, and also potential obstacles like stairs. =ADAbility then utilizes an object detection model to determine an overall "accessibility score" based off of the video as well as other potential accommodations that the organization may provide such as staff assistance.

=ADAbility users can search for a specific business, attraction, or service around a physical location. The site then suggests nearby places that have the highest general and accessibility scores, listing their respective accessibility features as well as their destination on Google Maps, which could lead to information regarding methods of transport to said location. =ADAbility users can also leave positive or negative reviews based on their experiences, which are shared with the owners and other users.

How we built it

The frontend

The UI is built with HTML, CSS and JS. We used React JS to facilitate the development. For CSS libraries, we used Bootstrap, Material UI, and Tailwind CSS. To display the map, we used the Google Maps API. The frontend is deployed on Netlify.

The backend

The backend REST API is developed with Django and Django Rest Framework because they abstract away a lot of the CRUD logic so we could focus more on business logic. We used the Google Maps Geocoding API to convert address to plottable latitude and longitude. We used PostgreSQL as our database because the data is highly relational. The backend is deployed on Heroku.'

Machine Learning

Essentially, we need to locate objects of interest in the video/pictures uploaded to the website. Thus, we used the EfficientDet Object-Detection framework which was originally developed by Google Brain. We hand labelled each object of interest, using an image-labeling program. Image augmentation was also done to expand the set of images. This was used to retrain the pretrained model available on Tensorflow. TensorflowJS will then be used to deploy the model in the app.

Challenges we ran into

One challenge we consistently ran into was the lack of data available to train an object detection model. We had to search for and label hundreds of pictures of ramps, stairs, and parking spots, which was a significant time investment. As a result, we limited ourselves to detecting stairs, as downloading and labeling thousands of images of data during the hackathon would be extremely difficult. Still, the lack of data or image sets was encouraging in the sense that =ADAbility is filling a necessary responsibility!

Accomplishments that we're proud of

We are proud of our hard work, and of our product! =ADAbility is only a few features away from completion, and we utilized novel and proficient technology that would provide the best service possible.

What we learned

  • Integrating one language into another can be difficult, but very rewarding.
  • Any ML model is only as good as the quality and quantity of data available

What's next for ADAbility

  • Gathering additional data to train our object detection models
  • Completing the integration process
  • Opening business/organization registration
  • Creating a user base!
Share this project:

Updates