Inspiration

Food insecurity is defined by the USDA as “the limited or uncertain availability of nutritionally adequate and safe foods, or limited or uncertain ability to acquire acceptable foods in socially acceptable ways”[1]. Food deserts are further by the USDA for low-income, low-access areas where reasonable access to a grocery store within a 1 mile radius in urban areas or a 10 mile radius in rural areas is not possible[3]. In the United States, 11.4 million Americans fit the criteria of living within a food desert[2]. Richmond Virginia is a highly populated and lively city filled with restaurants, bars, and convenience stores every few blocks. However, this flashy and bustling city is a well recognized food insecure area, even referred to as a food desert within most of its boundary. For our project, we aimed to provide a solution to this problem on the smaller scale of Richmond, VA that can then be scaled up. Our team decided to create an open source website for small businesses and individuals to advertise instances of pop-up, or “temporary” free food events. This includes anything from good civilians hosting food drives to businesses with leftover food at the end of business hours promoting a location to pick up those leftovers that would otherwise be placed in dumpsters. Our solution helps divert food waste from dumpsters and put food into the hands of civilians who need it.

What it does

Our web interface allows for individuals and businesses to fill out a quick and simple google form that asks for general information and location data which is then translated onto a map for hungry viewers to see. From this map, viewers can observe information such as the address, time range that food is available, and a direct link to google maps to access the location via foot, public transportation, or personal vehicle. This ensures that regardless of the method of transportation the individual has access to, they can find where food will be available and how to access it in a manner that suits their lifestyle parameters.

How we built it

Geofare pulls from a Firestore database, and converts JSON objects into Leaflet pins. Our Leaflet map uses Mapbox API to give the map a texture containing streets. Our Firestore database also supports read/writes, so any latitude longitude pair can be put onto our Leaflet map in a matter of seconds. We use a Google Maps address autofill, and convert addresses into latitude and longitude coordinates for the database. On form submission, your submitted pin will show up on the map, stored in Google’s Firestore. In terms of web design, we used Bootstrap, as well as HTML, CSS and Javascript. Mirella wrote content for the site, and Cynthia created a logo in Medibang Paint Pro.

Challenges we ran into

For Eric and Mirella, Git was a fairly unfamiliar technology, and being hybrid for the hackathon didn’t help. We had to figure out how to coordinate our efforts, but used a project planning tool (Notion) to work asynchronously, and Zoom to discuss things when clarification was needed. Another challenge we faced was Firestore. We were set on using Google Cloud technologies, so we thought we could get Firestore running without Firebase. We had 3 Google Cloud instances running as we each tried to figure out how to do this. It proved to be extremely difficult, and once we integrated Firebase with Firestore things were working much more smoothly. Live updates were another challenge. We didn’t know how we would allow users to add more pins. Because we initially started in R, we had a complex set of build steps involving Google Forms, Google Sheets, Google Functions, hourly polling, and an automated R build. This proved to be way too complex, so we ported our leaflet from R into Javascript, put it directly onto our site without needing to knit it into an HTML file.

Accomplishments that we're proud of

We love how clicking on a site’s link can directly interface with Google Maps, providing directions to the locations shown on the map. The Google Address auto-fills also look very professional, and are very powerful for our database. The Leaflet Map is very beautiful, and we created custom leaflet pins / popups for our site. We like how we were able to add our own personal touch (grain icon), and our map feels super intuitive on both desktop and mobile. There were so many cool technologies we used in this project, and seeing them come together like this has been amazing.

What we learned

We learned a lot about what a food desert was, and how important and immediate the problem is. In addition, we got to experience and work with multiple Google APIs from Maps to Cloud. We learned how data is stored in a server and how to access that server with information. Finally, we also learned how to live update a leaflet map by drawing information directly from a database.

What's next for Geofare

As we move into the future, we hope to scale our product to expand the reach that it has. As more and more people use the add a pin feature on our website, the Cloud database and map will continue to grow to help more people around the world, not just in Virginia. In addition, we also hope to expand the scope of the project to help with homelessness and healthcare needs by allowing people to pin pop-up clothes drives and clinics. In doing so, we hope to create a place where anyone in need can find whatever they need.

Share this project:

Updates