Inspiration

Every time we passed by restaurants at closing hours, we noticed how much food was thrown away while just a few streets away, shelters struggled to feed people. That gap between abundance and need felt like something technology could actually help fix. We wanted to create a solution that wasn’t over-engineered but still practical enough for real communities to adopt.

What it does

FoodRescue connects restaurants and shelters in real time to reduce food waste and fight hunger. Restaurants post surplus food with type, quantity, pickup window, and location. Shelters browse available posts and claim items instantly. Notifications are sent via email (Nodemailer) and in-app (Pusher) when a claim is accepted. Impact metrics track total food rescued and estimated meals served, making the impact measurable. The platform is responsive and works across devices, so it’s easy to use on the go.

How we built it

We chose Next.js for the frontend and backend integration, MongoDB for a flexible database schema, and Tailwind CSS for building a modern, clean UI. For communication, we integrated Nodemailer to send reliable email updates and Pusher for real-time in-app notifications.

Challenges we ran into

Configuring environment variables for email + notifications was frustrating at first especially figuring out ports and authentication because we used pusher and an email service too. Handling dependency conflicts with React versions slowed us down, but we learned how to debug npm issues properly. Designing a system that works equally well on desktop and mobile screens pushed me to think harder about responsiveness.

Accomplishments that we're proud of

Designed a clean, responsive UI that works across screen sizes without sacrificing usability. Overcame dependency conflicts and tricky environment variable setups to keep the app stable. We created a solution with the aim of social good.

What we learned

Setting up real-time systems is trickier than it looks syncing Pusher with database events taught use a lot about state management. Writing clean, organized code early saved me hours of debugging later. We had not used charts before in our projects so that was also a new experience.

What's next for Food Rescue

Implement better dashboards for shelters and restaurants to visualize contributions over time. Improve mobile compatibility.

Built With

Share this project:

Updates