Inspiration
If you look on the UW's Any Hungry Husky website link and scroll down a bit, you'll see that there's news regarding a messaging system called UW Food Alert. It was supposed to be implemented earlier this year, but as of now there have been no initial releases yet. We've decided to take on the challenge of implementing it ourselves and attempt to make food on campus more accessible to Huskies (UW staff, students, and faculty) in need.
What it does (and how you can try it yourself)
Users text the phone number (206) 752-5034 the word "REGISTER" (case-sensitive) to begin registering themselves for the service, and will be prompted for their name, UW Net ID, and dietary restrictions. (The number is a trial number using free credits to text, so demonstrations are limited. If you are unable to text that number, that means it's no longer textable for a demo. Sorry for the inconvenience!)
Once they've answered all prompts, the data they've sent is stored into a database which cross-references events on campus (and the food they're serving) with their dietary restrictions as applicable. If there's a match, the users will receive a text message on their phones detailing information about the food being given away at a certain location at a certain time, once the event hosts note to the database that there's leftover food. If users decide that they'd like to claim a portion of that food, they'll be prompted again to respond to that message, and the messaging system will store their responses in the database to keep track of how much food there is left for others for that event.
How we built it
There are three main components:
- the database where both client and event info are stored (via MongoDB)
- the Twilio API, which interprets changes in the database to the client via SMS and receives SMS messages, and
- Flask, which mediates the information exchanged between both the database and Twilio
Challenges we ran into
We're all beginners and this is actually our first hackathon, so we spent a lot of time brainstorming what solution to a problem we could implement in 24 hours as opposed to spending that time programming off the bat. There's also a current problem with Flask not working to update databases based on user responses on Twilio. And because of the aforementioned, the final result you're seeing is not really "final".
Accomplishments that we're proud of
We're just proud that we even tried to implement this solution in the first place and to actively be a part of DubHacks. We didn't think we'd get this far, let alone know what we were doing for the past 24 hours. None of us knew what we should do in a hackathon, and we were concerned that we weren't "hacking" right in a sense (heck, our product isn't even fully implemented). But hey, doing something is better than nothing!
What we learned
We learned how to create databases in MongoDB, coding in Python, using Flask to change the contents of a database, using the terminal to access Micrsoft Powershell, and how to use the Twilio API to send and receive text messages based on user response. On the flip side, we were reminded by one of the mentors to consider our target demographic more mindfully. If we implemented this as a full on web app, it may not be as accessible to those with low data plans or unstable internet access (in addition to food insecurity). Hence, using just the default SMS as our interface would work best for our audience.
What's next for UW Food Alert
Once we get Flask debugged and fixed, we hope to test it in the real world and collaborate with the Any Hungry Husky Program to release this on a larger scale. Of course, they've already had this app in the works themselves, but maybe they're open to a student-made app?
Log in or sign up for Devpost to join the conversation.