Inspiration

There is so much food at Berkeley, and so much being wasted (check out the dining halls). Surprisingly, however, food insecurity affects 40% of the undergrad population and a lot of the general Berkeley population, as well. We wanted to attack the reasons for this food disparity so that everyone can get the college experience they deserve.

What it does

We made food more accessible to the population and targeted food waste simultaneously – two birds, one stone. Smaller cafes and restaurants do not donate their leftovers to food pantries because they simply do not have enough to warrant a donation; however, it is certainly enough to feed a few hungry mouths. Combining all these leftovers from these smaller establishments can make a significant effect on the hungry population. These places can sign up to give their leftovers out via our web platform. Meanwhile, food insecure users can text a phone number to find the closest locations that can accommodate for them. Text messaging, as the most accessible form of communication today, allows users to combat their food insecurity through MealStop.

How we built it

We developed a full-stack web application using a JavaScript framework (React.js frontend, Node.js backend, MongoDB). In order to send and receive controlled text messages, we used the Twilio API in conjunction with ngrok in order to "pseudo-host" our backend server.

Challenges we ran into

As expected, asynchronous programming posed a challenge for us, as we had to develop complex structures involving callbacks and promises. Furthermore, manipulating the data throughout the web-stack proved to be challenging as well (ex. Date objects, JSON objects, strings, integers).

Accomplishments that we're proud of

As a team, we split the work effectively and helped each other throughout the development process. We continually made progress in a productive fashion, learned a lot, and braved through some real-world coding challenges, like async programming. It is pretty amazing to think that we built a functional service from top to bottom!

What's next for MealStop

MealStop's matching algorithm can definitely be improved. Right now, it uses the zip code to match you to a nearby location; however, a zip code is realistically too broad, and this would be better done with coordinates (so perhaps, using the Google Maps API). Additionally, we wanted to develop more specificity with the MealStops so that our suggestions could be more personalized (ex. dietary restrictions). Finally, we wanted to add a feature to mitigate the perishable waste in local grocery stores.

Built With

Share this project:

Updates