Inspiration
Food waste and food insecurity often exist side by side. Surplus food from individuals, restaurants, and other donors can go unused while NGOs and people in need struggle to access resources. We wanted to build a platform that helps bridge this gap by making food redistribution more organized, transparent, and efficient.
What it does
FoodShare Nexus connects food donors, NGOs, and volunteers through a single platform. Its key features include:
- Freshness assessment: Uses rule-based logic to estimate donation urgency based on food category, elapsed time, storage conditions, and deadlines.
- Location-aware NGO matching: Recommends suitable NGOs using distance, capacity, and system-defined factors.
- Capacity-based allocation: Splits donations across eligible NGOs while tracking any remaining quantity.
- Volunteer recommendations: Helps NGOs identify volunteers based on distance, availability, and ratings.
- Real-time delivery tracking: Keeps users updated on donation acceptance, pickup, transit, and delivery.
- Historical analysis: Uses recorded donation data to identify patterns and summarize redistribution activity.
How we built it
We built FoodShare Nexus as a full-stack MERN application. The frontend uses React and Vite, while Node.js and Express.js power the REST API. MongoDB Atlas stores application data, and Mongoose manages database models.
We implemented JWT-based authentication, role-based access control, and password hashing for account security. Socket.IO supports real-time updates, while Multer handles file uploads and express-validator helps validate incoming data.
Our matching, allocation, and freshness-assessment features use explicit, explainable rules rather than machine-learning predictions. We also tested key algorithmic properties using synthetic scenarios.
Challenges we ran into
One major challenge was coordinating donations with different quantities, deadlines, freshness conditions, and NGO capacities. We needed allocation logic that could handle partial quantities without losing track of the remaining food.
Another challenge was designing a reliable delivery workflow with valid status transitions and clear responsibilities for NGOs and volunteers. Integrating real-time updates, authentication, database operations, and deployment across separate frontend and backend services also required careful debugging.
Accomplishments that we're proud of
We brought the core donation coordination workflow into one platform, from donation creation and NGO matching to volunteer recommendations and delivery tracking.
We are especially proud of implementing explainable rule-based algorithms for freshness assessment, distance-based matching, capacity-aware allocation, and historical pattern detection. We also tested important properties such as bounded freshness scores, quantity conservation, and valid delivery-state transitions.
What we learned
We learned how to integrate frontend and backend components into a complete web application, structure REST APIs, manage persistent data, implement authentication, and support real-time communication.
We also learned that building a useful decision-support system involves more than displaying information: algorithms must account for constraints, handle edge cases, and communicate their recommendations clearly. Testing assumptions with controlled scenarios helped us identify where further real-world validation is needed.
What's next for FoodShare Nexus
Our next steps include improving the user experience, adding notifications and more detailed analytics, and strengthening monitoring and error handling. We also aim to evaluate the platform with real donors, NGOs, and volunteers, refine the matching rules using feedback, and measure its operational performance in practical deployments.
Our long-term goal is to make food redistribution more accessible, coordinated, and data-informed while helping communities make better use of surplus food.
Built With
- css
- express.js
- food
- html
- javascript
- jwt-authentication
- mern-stack
- mongodb
- mongodb-atlas
- mongoose
- node.js
- react
- rest-api
- socket.io
- vite
- waste
- web-development
Log in or sign up for Devpost to join the conversation.