We wanted to develop something that is truly accessible by everyone. Interpreting images posted to social media can be difficult for many. This is the beginning of a powerful, user-friendly solution.

What it does

Snapability is a web-based app that allows for images, posted via social media, to be described in an understandable way for those who are visually impaired.

How we built it

This app is mostly compiled of Javascript and Google Cloud Platform, with the front-end comprising of React. The data visualization is generated with ApexCharts.

Challenges we ran into

Initially, we planned on using Snapchat's 'SnapKit' for retrieving public Stories. This turned out to be an issue that we were not expecting, as Snapchat as well as other social media platforms such as Facebook, Instagram, and Twitter require approval for the distribution of their API keys. Tumblr also had this prerequisite, but it was granted almost immediately.

While using Python scripts for cloud functions, we had to look into CORS, which allows the access of API endpoints from different URLs. However, this became a major problem as we were unable to get this to work properly, resulting in our team reverting to javascript for all of our cloud functions.

Accomplishments that we're proud of

With the setback caused by the major social media platform's development programs, our scripts for parsing post & media data had to be created from scratch. Starting off with Python, the scripts were eventually switched to Javascript (due to the CORS issues).

What we learned

With had no Google Cloud Platform experience, the resources provided at HackUMBC allowed us to expand our horizons and grasp the knowledge needed to complete the project exactly how we visioned. We successfully created and used cloud functions and datastores to fetch, store and provide data.

What's next for Snapability

We hope this fits as an example for the beginning of an extensive accessibility-friendly platform. Moving forward, using official Twitter, Facebook, and Instagram APIs would be the next step. Converting the keywords/tags into something much more humanistic is in Snapability's crosshairs, potentially utilizing Google's Natural Language Processing API.


Share this project: