We were inspired by things like the MTA's SMS stop system, where you can text a code to an SMS short code and receive bus tracking information. We realized that this can be used to also help people in need, if they are able to obtain a device that's able to send SMS messages; Baltimore provides free cell phones to people in need, so we figured we might be able to use this. The next step was figuring out how to actually implement SMS functionality.
What it does
Our app uses SMS to send codes that represent different locations in Baltimore City, to access resources that are able to help the homeless. It also consists of a website displaying these same resources on a map.
How we built it
First, we created an SQL database that consisted of locations in Baltimore that could provide resources to the homeless. After this, we used the Twilio API to create functionality that allows us to receive text messages, and send responses based on the texts that we receive. These texts are then used to compare distances from the location that corresponds to the number that was texted, and the resources that are available from our database. Once this worked on a local server, we migrated both the web server and the MySQL database to AWS instances. Once we had our SMS functionality implemented, we imported the same data into a website, displaying it with the Google Maps API.
Challenges we ran into
We were able to make the program function on a local machine, and once cellular device, but not on multiple. This limits the full functionality of our program, and since we have little to no experience with Twilio API, it was hard to figure out exactly why this was happening and how to fix it. Additionally, once we fixed this, we discovered it was due to a limitation of the Twilio API itself, restricting the application to pre-approved phone numbers unless you pay to upgrade your project.
Accomplishments that we're proud of
We are proud of our migration of our data to AWS, neither of us having much experience with the platform at all, as well as largely overcoming our difficulties with the Twilio API.
What we learned
We learned how to create an SQL database. We also learned how to collaborate on VS Code and how to host a Linux server through AWS, and set up the machine to accept incoming traffic from outside sources.
What's next for Homeless Helper
The next the thing for Homeless Helper is to implement directions in its website. This would allow us to provide the user with a more direct way to connect with the resources we list them. We also would want to add a larger database: we could potentially achieve this by filtering through a Google Maps query for relevant resources. Additionally, we can expand the SMS capability of the application, giving it more uses for more users.