Inspiration

RePlate was inspired by how often good food gets thrown away because people do not have an easy way to share it with others nearby. We wanted to build something that could help reduce food waste while supporting the local community.

What it does

RePlate allows people to exchange or give away extra groceries. Users can describe the food they have, and IBM Bob helps turn that description into an editable listing.

Users upload a photo and review the listing before posting it. The app can then find possible matches based on the food, quantity, pickup location, availability, and deadline.

Users can also request food, receive notifications, confirm pickups, rate completed exchanges, and find nearby donation or composting locations. The Impact page keeps track of confirmed food exchanges, giveaways, donations, and compost drop-offs.

How we built it

We built the frontend with HTML, CSS, JavaScript, and Vite. The backend uses Python and Flask, while Supabase handles the database and user authentication.

IBM Bob helps interpret food descriptions and reviews listing photos. The backend checks Bob’s response before showing it to the user. We also created rules for matching listings, managing offers, confirming pickups, and preventing the same food from being reserved twice.

We used Leaflet and OpenRouteService to display donation locations and estimate driving times.

Challenges and lessons learned

One challenge was preventing two people from reserving the same food at the same time. We also had to make sure that only the correct users could accept offers or confirm pickups.

Another challenge was working with AI-generated results. Bob’s response could be incomplete or unclear, so we added validation and made sure users could review and edit everything before posting.

We learned that AI is most useful when it supports the user instead of making important decisions for them. We also learned that recommendations and completed actions must be kept separate. For example, suggesting a donation location does not mean that the food was actually donated.

What’s next

We plan to improve RePlate by adding apartment and neighborhood groups, invite codes, better notifications, private pickup messaging, and saved food requests. We also want to use IBM Bob more effectively by letting it ask follow-up questions when listing details are missing, support multiple languages, explain matches, and suggest ways to improve a listing. Matching, reservations, and impact tracking will still be controlled by the app’s rules to keep the process reliable and safe.

Built With

Share this project:

Updates

Submission history