FoodBridge:從「哪裏可以找到食物?」到 Hack for Humanity 一等獎
FoodBridge: From “Where Can I Find Food?” to First Place at Hack for Humanity 🏆
FoodBridge Triangle 在 Hack for Humanity: Raleigh 獲得一等獎,協助用戶搜尋本地食物援助、瞭解公開要求並規劃後續步驟。原型整合七項資源,並透過 Google API 使用開放權重模型 Gemma 4,回答有關資源的日常語言問題。項目以 MIT 授權發布,並提醒用戶向服務機構確認資格、服務時間及食物供應情況。
This is a submission for the MLH x DEV Writing Challenge
Finding a food pantry is one step. Knowing whether it serves your area, what to bring, and how to prepare for a visit can be much harder.
That gap became the starting point for FoodBridge Triangle, the project I built with Desmond Gatling at Hack for Humanity: Raleigh.
We won first prize! 🏆
The recognition made the day memorable. The problem we chose gives us a reason to keep building.
What I Built

FoodBridge Triangle helps people find local food assistance, understand published requirements, and prepare their next steps.
Imagine someone looking for groceries for their family. They find several organizations online, but the details are scattered across different websites:
- Does this organization serve my area?
- When can I visit?
- What should I bring?
- Who can I call to confirm the information?
- What if transportation is a concern?
Every unanswered question adds friction. An unsuccessful trip can cost someone time, transportation money, and energy they may already be short on.
We wanted to make that journey easier to navigate.
Find. Understand. Plan.
FoodBridge brings together three parts of that journey:
Find: Browse a searchable directory of grocery assistance, prepared meals, benefits information, and referral resources. View a selected provider on a map and access directions.
Understand: Read published requirements, follow official source links, and ask the Gemma-powered Community Helper questions in everyday language.
Plan: Bookmark useful resources, return to them in “My plan,” and print the information to take along.
Our prototype starts with seven curated resources: four physical food services in Raleigh and three benefits or referral resources. We chose a manageable starting point so we could make the information traceable and demonstrate the complete workflow.
A deliberate boundary
One of our most important decisions was how to handle eligibility.
FoodBridge helps users understand published requirements; it does not approve or deny assistance. Providers and government agencies remain responsible for official decisions.
Likewise, a listing does not guarantee that food is available today. We show source links and check dates, and encourage users to confirm details before visiting.
For this project, communicating uncertainty was part of building something useful.
Demo
See FoodBridge in action in 90 seconds:
The walkthrough shows how someone can move from searching for food assistance to preparing a practical next step:
Find local support: Browse grocery assistance, prepared meals, benefits information, and referral resources.
Understand the details: Review published requirements, check the selected location on a map, and follow official source links.
Make a plan: Bookmark useful resources and collect them in a printable plan.
Ask a question: Use the Gemma-powered Community Helper to ask, “What should I bring to Wake Relief?”
FoodBridge provides preliminary guidance, with reminders to confirm requirements, hours, and availability directly with providers.
Here is a simple walkthrough:
- Choose “Groceries” to narrow the directory.
- Search for Wake Relief and open its published requirements.
- Show the location on the map and explore directions.
- Bookmark the resource and view it in “My plan.”
- Use the support guide to identify a starting point and questions to confirm.
- Ask the Community Helper: “What should I bring to Wake Relief?”
That last question demonstrates where AI can help: translating resource information into practical preparation advice, with the original sources still available for checking.
The directory, saved plans, and support guide remain usable even when an AI response is unavailable.
Partner Technologies
Gemma 4: explaining resource information in everyday language
We used the open-weight Gemma 4 model for FoodBridge’s Community Helper, accessed through Google’s API.
The model’s job is focused: help explain the information in our curated directory.
The request follows this path:
User question → FoodBridge server endpoint → curated resource context and instructions → Gemma → response in the application
When someone asks a question, the server supplies the resource records alongside instructions that guide the response toward practical assistance, visible uncertainty, and confirmation with providers.
This is context grounding rather than fine-tuning: we did not train a new model on pantry data.
Why this approach mattered
A general answer about food assistance may sound helpful while missing the details of a particular provider. Supplying our records gives the model relevant local context.
However, grounding does not guarantee correctness. We kept official source links available so users could check the underlying information.
We also separated the model’s responsibilities from the application’s responsibilities:
- Application logic handles filtering, saved resources, and the support guide.
- Gemma helps explain information and answer natural-language questions.
- Providers and agencies confirm current availability and determine official eligibility.
That separation helped us keep the prototype understandable and useful.
Keeping the key on the server
The API key is configured on the server and excluded from browser code and the public repository. Visitors do not need their own key.
We also ask visitors to avoid entering sensitive personal details. AI questions are sent to Google for processing; the application does not save those questions.
The rest of the stack
FoodBridge uses React and TypeScript, with a Vinext-based application and a Cloudflare Worker-compatible server setup.
We published the code under the MIT license so others can inspect it, adapt it, and contribute. Our GitHub checks passed nine core tests and a production build.
Development disclosure: We used ChatGPT and Codex to assist implementation, debugging, documentation, and presentation preparation, alongside a framework starter. Gemma powers the running Community Helper.
What I learned
My background is in engineering and evaluation, rather than web application development. This project pushed me to turn a broad social problem into a focused product that we could build and demonstrate.
Three lessons stood out:
1. Scope is a product decision.
A small directory with a complete user journey gave us something concrete to test and explain.
2. AI needs a clearly defined job.
Giving the model a focused role made it easier to decide what belonged in the prompt and what belonged in ordinary application logic.
3. A useful answer includes the next action.
A person may need a phone number to call, a requirement to confirm, or a plan to print. Those details shaped the experience as much as the model did.
Hackathon Experience
I attended Hack for Humanity: Raleigh, also listed as Hacktoberfest Hack Day Raleigh, at North Carolina State University on October 31, 2026. The event was organized by The AI Collective Research Triangle, IEEE GRSS, and IEEE RAS, with MLH support.
The challenge centered on solving a local problem for community benefit. We chose Food Insecurity and Community Resource Mapping because it offered a clear opportunity to connect technology with an everyday need.
Working with Desmond Gatling, I had to think beyond getting an application running. We needed to explain who it served, demonstrate a realistic journey, and be honest about what a hackathon prototype could deliver.
The short build window made prioritization essential. We focused on a complete path: discover a resource, understand the information, and save a next step.
Winning first prize was a proud moment for our team. It recognized a project that brought together problem framing, AI integration, software development, and communication around a local community need.
Thank you to Desmond, the organizers, volunteers, judges, and everyone who made the event possible.
What comes next?
FoodBridge is a prototype, and its community impact still needs to be evaluated. Our next priorities are:
- Expanding coverage across Raleigh, Durham, and the wider Triangle.
- Working toward provider-reviewed information updates.
- Improving transportation-related guidance.
- Evaluating multilingual response quality with community feedback.
- Adding stronger operational controls before a broader rollout.
I would especially welcome feedback from food assistance organizations, community volunteers, and developers interested in making local resource information easier to use.
What is the one piece of information you would want someone to know before they make a trip for food assistance?
That question helped us start FoodBridge. It can help shape what we build next.
來源:DEV Community · dev.to