Demo It Here


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.

+ 7 more
Share this project: