-
-
Map displaying food insecurity in America.
-
Dashboard for volunteers. They can select a pickup they have time for, ordered on the dashboard by urgency.
-
Dashboard for food banks. They can select what food/items they need more. They can also view grocers in the nearby area that donate surplus.
-
Dashboard for grocers. They can post when they have surplus, alerting food banks within a radius.
Inspiration
My sister Aria and I volunteer at Feeding Hands, a local organization that fights hunger in our community. Working there, we saw this problem firsthand. We watched how much perfectly good food gets thrown out every day while families a few blocks away go without, and we saw how hard it is to actually move that food in time. Pickups depended on whoever happened to be available, fresh food spoiled before it could be delivered, and the neighborhoods that needed help the most were often the hardest to reach.
That experience stuck with us. We realized the food already exists and the hunger already exists. The problem was never supply. It is logistics. Replenish is our attempt to fix the part we watched break, over and over, at Feeding Hands.
What it does
Replenish is a three sided platform that moves surplus food to the neighborhoods that need it most.
- Grocery stores post surplus in seconds, either by typing it in plain language or with a quick form. Donating is cheaper than paying to dump food, it is increasingly required by law, and Replenish generates an automatic tax receipt once a food bank confirms the donation. It is also zero extra work: staff just leave the food for pickup.
- Food banks set their top five needs and claim nearby surplus. High need areas get first priority on matching items.
- Volunteer drivers see delivery runs ranked by urgency, accept one, and deliver it. Every delivery is confirmed by the receiving food bank, so nothing goes missing.
The heart of it is a National Need Index: every one of the 3,141 U.S. counties scored from 0 to 100 for how badly it needs food. So deliveries are sorted not by who is closest, but by who is hungriest, and the food that spoils fastest outranks the food that does not.
How we built it
Replenish is a single page web app built with plain HTML, CSS, and JavaScript, so it runs anywhere with no backend to break.
- Mapping and routing: Leaflet with CARTO basemaps, OSRM for real driving routes, and OpenStreetMap Nominatim for address geocoding. All free, no API keys.
- Need Index: a reproducible Python pipeline that blends USDA Food Access data, U.S. Census poverty and unemployment figures, and the same methodology Feeding America uses to map food insecurity. The output is a JSON dataset bundled with the app.
- County choropleth: a real geographic map of the United States colored by each county's need score.
- Persistence: browser storage, so accounts and listings survive a refresh.
Aryan built the application and product, and Aria built the Need Index model and the county data.
Challenges we ran into
The hardest part was making the matching honest. Older food rescue runs on guesswork: an alert goes out to every volunteer and hopes someone shows up, and roughly one in five pickups never happen. We had to design an urgency model that combines need with perishability, an overbooking safe claim system where food is only locked once a driver confirms, and a two way confirmation handshake so food meant for hungry people cannot just disappear.
Getting real national data to render cleanly was also a fight. County boundary files are large and hard to source, so we went through several map approaches before landing on a true county level choropleth driven by our own dataset.
Accomplishments that we're proud of
We are proud that Replenish is grounded in real data, not made up numbers. The Need Index covers all 3,141 U.S. counties and its highest need areas line up with reality, from Appalachian Kentucky to the Mississippi Delta. We are also proud that the whole product works end to end: a store can post surplus, a food bank can claim it, a driver can deliver it, and a tax receipt is issued, all in one afternoon and all from a single page that anyone can open. Most of all, we are proud that it answers the exact problem we watched at Feeding Hands.
What we learned
We learned that the difference between waste and surplus is the whole story, and that the real bottleneck in food rescue is coordination, not generosity. We learned how much public data is available if you are willing to dig, since USDA, Census, and Feeding America gave us everything we needed to score the entire country. And we learned a lot about building something honest, designing a system that quietly handles bad actors and missed pickups without punishing the volunteers who show up.
What's next for Replenish
Real store, food bank, and driver onboarding with proper verification, live notifications, and partnerships with local organizations like Feeding Hands to turn this prototype into infrastructure a city could actually run on.
Built With
- carto
- css
- geojson
- github
- html
- javascript
- leaflet.js
- localstorage
- netlify
- nominatim
- openstreetmap
- osrm
- python
Log in or sign up for Devpost to join the conversation.