SurplusSmile
Turning Surplus into Smiles
The problem SurplusSmile solves
Every day, restaurants, resorts, and food businesses throw away large quantities of perfectly edible food due to over-preparation or lack of demand. At the same time, many people in nearby areas go hungry. This gap exists because there is no structured, reliable system that connects food donors with NGOs who can distribute the food to those in need. Most of the coordination today happens through social media platforms like Instagram or WhatsApp, which are not built for real-time communication or tracking. As a result, food often gets wasted due to delays, miscommunication, or lack of awareness. There is also no proper verification system — donors may not trust if an NGO is genuine, and NGOs may not get clear details about the food’s condition or pickup timing. This discourages many from participating regularly. Moreover, without a digital record of donations, there’s no transparency or data to track impact. Our platform solves this by offering a secure, organized system where verified restaurants and NGOs can interact in real-time. It ensures trust, saves time, reduces food waste, and helps deliver food safely to those who need it most — all in a way that is easy to use, scalable, and trackable for long-term impact.
Challenges we ran into
- Real-Time Notifications
One of the major challenges we faced was implementing real-time notifications for NGOs when a restaurant listed surplus food. Initially, we tried using traditional polling methods, but it led to delays and performance issues. After research, we implemented Firebase Cloud Messaging (FCM) to push notifications instantly. It required understanding how to integrate Firebase with our backend and handling tokens securely, but once set up, it greatly improved user experience. - User Role-Based Access
Creating different dashboards and permissions for restaurants, NGOs, and admins was tricky. We had to ensure that each user saw only the data relevant to them while maintaining security and preventing unauthorized access. We overcame this by using middleware in Express.js to check user roles after authentication and by building dynamic UI components in React based on user type.
3.Data Sync Issues
Syncing donation status updates between NGOs and restaurants in real-time led to inconsistencies. We solved this by implementing webhooks and timestamp-based updates to keep data consistent across devices.
Tracks Applied (1)
Woman's Track
Technologies used
