Inspiration

Inspired by the Black Panther Party “Free Breakfast for Children” Program and the effects of the COVID-19 pandemic on society, we chose to take the non-profit challenge and make an application that allows people to donate and receive free food and other resources based on their needs. This application is unique in that it creates a distribution network using Machine Learning, and makes it easy to donate to others who need food during times of distress. Additionally, it gives users the opportunity to volunteer as a “distributor” or a delivery agent to give back even further. Low-income students tend to rely on school food, but during these hard times of community lockdowns due to COVID-19, they are left with no avenue to obtain reduced-cost meals. We are aware that many people in more privileged positions would like to help, but often lack the time and familiarity with the plight of other families to create actionable change. With FoodForAll, we will ensure that we distribute all donated goods with ease, whether they have to be delivered or picked up.

What it does

We decided to create a website (http://foodforall.tech) that will allow such families to sign up as “Customers,” that are in need of resources such as food, clothing, etc.. We will also have other users sign up as either “Distributors” or “Donors.” Distributors are those that would be willing to take the donated resources and help us in delivering them to the customers, and donors would be the ones actually donating the goods. The backend analyzes all the information that we get about the customers, distributors, and the donors, and automatically assigns goods to the customers. Then, the AI analyzes the preferences of all users, looking at whether the customer is able to pick up supplies on their own or not, and if the donors are able to take the supplies directly to the customer, or if a distributor is required. Based on this, it will assign tasks to the distributors, and let the customers know what goods to expect.

How I built it

The website is built using a Python Flask Server and is hosted on the Google Cloud Services App Engine Platform. For user authentication and storing information about the users, we used Google-Firebase. We started off by creating a basic Flask Server and learning how to host it on a Google Cloud App Engine and route it to our own domain. Once that was done, we focused on getting our Google Firebase authentication system set up, so that users can sign up, and log into the site as either customers, distributors, or donors. To maintain user sessions on our site, we used sessions that are stored in the user’s cookies when they visit the site. Then, continued to build on the site to make it very easy for all users to navigate. Lastly, we were working on a Machine Learning algorithm to automatically analyze the information about all the users, and based on that assign the goods and tasks to each user. The sketchbook for our algorithm is on our Github repository.

Challenges I ran into

This was an ambitious project. We bit off more than we could chew in 24 hours, but getting a working base was inspiring.

We needed to implement a basic app, machine learning, and user prioritization with known fulfillment algorithms. Most fulfillment algorithms are (presumably) proprietary; Amazon, FedEx, and other large shippers don’t publish their order code or data, so large-scale testing was impossible and we had to work from the ground up. In a Hackathon, the need to be constantly developing instead of reading theory is paramount. We had to do some additional research, which, while it was enlightening, slowed us down.

Accomplishments that I'm proud of

Our team cohesion was stellar. Working at a distance on such a stressful and huge project, there were points during which we could have given up, but our whole team worked non-stop during the hours we had.

What I learned

Marrying the relevancy of an app with its feasibility is difficult. Among our ideas, we had ideas we knew we could pull off perfectly and early, but which provided a small impact and were only loosely connected to our theme. We attempted an app that would be highly relevant and helpful right now, but it was a huge project for four student developers to undertake in a day. While we’re proud of what we’ve done, we think the idea could have been better served given more time and resources.

What's next for FoodForAll

This app has the real potential to be immediately useful, but it would need large-scale testing and support. Given more time, we would build an app and incorporate machine learning on simulated data and have more well-researched, efficient code that is less boilerplate-heavy.

FoodForAll could be expanded into a large, decentralized charity network, but we would also need to be in contact with relevant non-profits to make sure that deployment was large-scale and fully aware of the needs of food- and resource-insecure people in this country.

Built With

Share this project:

Updates