Demo Subscribe and Stop Subscription
My Alternative Spring Break trip from the Pennoni Honors College last year focused on homelessness. I spent a week living at a homeless shelter in Old City and each day would volunteer at a different food bank and shelter. I spent a lot of time sitting down with individuals who had no permanent residence and asked them if there was anything I could do to help. A lot of individuals mentioned that the only access they had to internet was via the public library or free internet kiosks; however, almost everyone had a private non-smartphone.
What it does
GimmeShelter provides information of shelters and food banks to individuals custom to their location without access to internet. Users subscribe to our daily announcements and enroll with their gender, number of dependents, and region. In addition, we have a client facing website that provides shelter and food bank information via a heatmap and a filterable calendar.
How we built it
We created a Node.JS server that runs on Heroku that serves APIs and dynamically loads webpages. We then built a custom SMS Gateway (using Bash and Python) on Google Cloud App Engine to send mass daily announcements and receive subscription texts
Challenges we ran into
Working with different APIs and aggregating all the data together dealing with asynchronicity. We had some troubles integrating scripts with a Google Cloud Ubuntu VM, and had to do some hacky tricks to workaround limitations in a terminal-only environment.
Accomplishments that we're proud of
We are proud of creating a SMS Gateway that interacts with Google Voice, which has no API. This enables us to reach people who do not have access to the internet
What's next for GimmeShelter
Add custom geolocation filtering subscriptions. Add live bed capacity functionality. Filter messages based on user data.