Inspiration
1 in 4 people in Canada are food insecure, while large amounts of perfectly edible food continue to go to waste. Organizations like Food Stash are already doing incredible work—rescuing and redistributing over 129,000 pounds of food per month, with around 5,000 pounds each month not considered "rescued" and thus going unused. Inspired by SAP's challenge and the impactful work of Food Stash, we wanted to create a tool that bridges this gap—making it easier for individuals to donate surplus food and for food-insecure communities to access it efficiently.
What it does
Plateful is a web-based platform that connects food donors with receivers in real time. Donors can upload surplus food with details such as category, quantity, and expiration date. Receivers can browse available food items sorted by categories (e.g., fruits, grains, meat). Our goal is to simplify the process of food donation and distribution to reduce waste, fight hunger, and support local communities.
How we built it
Design:
- We started with Figma to design the initial interface, ensuring an intuitive layout.
Frontend:
- React + Vite with TypeScript were chosen for their efficiency and scalability, enabling fast development and a robust user experience.
- Shadcn component library was utilized for rapid development, allowing us to quickly implement pre-built components and focus on core functionality.
Backend:
- Supabase was used for user authentication and managing the database, providing a secure and scalable backend solution.
AI Integration:
- Google Gemini was integrated to perform food image analysis and generate relevant recipes, enhancing the platform's functionality with AI-driven features.
Challenges we ran into
Landing Page Image Display: The image on the landing page initially failed to display due to an incorrect file path. This issue was resolved by modifying the code to ensure the image was rendered correctly.
Image Upload and Database Referencing: Uploading images and referencing them in the database presented some difficulties. Ensuring smooth integration between the image storage and the database for efficient retrieval was a complex task.
AI Integration: Integrating AI to properly identify and classify images was a key challenge. We had to fine-tune the system to ensure it provided accurate results consistently.
Accomplishments that we're proud of
Through our platform, we provide a streamlined solution that facilitates the donation of surplus food, ensuring that it reaches those in need. By leveraging technology to categorize and distribute food efficiently, we create a sustainable system that minimizes food waste and maximizes its potential to support food-insecure individuals and families.
What we learned
Collaborating Under Time Constraints: Clear communication, task prioritization, and flexibility are key to staying on track and managing deadlines.
Full-Stack Development & Deployment: Understanding front-end and back-end integration, and using Git for version control.
User Experience Design: Focus on user-centered design, usability, and accessibility, with iterative testing to ensure tools meet community needs.
Food Redistribution Logistics: Promoting sustainability and makes redistribution more effective and impactful.
What's next for Plateful
Map View: Implement real-time location tracking and interactive maps to visualize food donation points, charities, and food banks in the area.
Chat/Direct Messaging: Enable direct communication between users, charities, and food donors for easy coordination and updates.
Connections to Local Charities/Food Banks: Develop partnerships with local organizations and integrate their details into the app for streamlined support.
Food Statistics: Include data visualizations that track food donations, redistribution, and waste reduction to help users understand the impact.
Notification System: Set up personalized alerts to notify users about donation opportunities, food bank needs, or upcoming events related to food redistribution.
Built With
- figma
- lucide
- react
- react-router
- shadcn
- supabase
- typescript

Log in or sign up for Devpost to join the conversation.