-
-
Impact dashboard displaying meals donated and carbon saved per restaurant
-
An autonomous agent working 24/7 to monitor food status and alert communities before it expires.
-
Real-time Discord alerts for food pickup opportunities.
-
Automatic in-app and Discord notifications for expiring food.
-
Core Technologies & Tools
-
Key Features of the Application
Inspiration
Every night, restaurants throw away perfectly good food while families go hungry just blocks away. I watched chefs apologize as they dumped fresh ingredients into dumpsters. Not because they didn't care, but because they couldn't predict what would spoil or find recipients in time. The problem wasn't willingness; it was visibility and timing. I built ReDish to give restaurants autonomous eyes that never sleep, transforming food waste from an inevitable loss into a community resource.
What it does
ReDish uses Gemini to autonomously monitor restaurant inventory around the clock without any human supervision. Restaurants simply scan their surplus items once using the Magic Scanner (powered by Gemini's vision capabilities), and the system takes over:
- 24/7 Autonomous Monitoring: The Marathon Agent checks food freshness every 30 minutes using GitHub Actions, running continuously in the Action Era
- Predictive Intelligence: Utilizes Gemini 3 Flash Preview to analyze images, count items, predict spoilage patterns, and assess risk levels.
- Instant Alerts: Sends real-time Discord notifications when item status changes.
- Impact Tracking: Visualizes CO₂ savings, meals provided, and donation streaks with dynamic dashboards.
- Zero Friction: No manual checks, no scheduled reviews, just continuous protection against waste.
Restaurants maintain their donation streaks by consistently rescuing food before it expires, providing a gamifying sustainability score while feeding people in need.
How I built it
Frontend Foundation
- React 19.2.3 + TypeScript 5.8.2 for type-safe UI components
- Vite 6.2.0 for lightning-fast development and optimized production builds
- Recharts 2.15.0 for interactive impact visualizations
AI Brain
- Gemini 3 Flash Preview with vision capabilities for instant ingredient recognition
- Autonomous decision-making without human intervention
Marathon Agent Infrastructure
- GitHub Actions with cron workflows.
- Automatic status fetching from Firebase Storage every 30 minutes
Backend & Data
- Firebase Firestore with five collections: restaurants, foodItems, statusHistory, donations, marathonLogs
- Firebase Authentication for secure restaurant access
- Firebase Hosting for production deployment
- Discord webhooks for community notifications and transparency
Challenges I ran into
Challenge 1: True Autonomy Without Supervision
Building a genuinely autonomous system meant the Marathon Agent couldn't rely on user triggers. I solved this by deploying GitHub Actions with environment secrets, enabling the agent to authenticate, fetch data, analyze images, and update statuses entirely on its own schedule.
Challenge 2: Gemini 3 Thinking Budget Optimization
With 8000 tokens for extended reasoning, I structured prompts to maximize value: detailed food descriptions, contextual storage info (refrigerated or room temperature), and visual indicators (color, mold, packaging). This gave the AI enough context for accurate predictions without exceeding limits.
Challenge 3: Making Impact Tangible
Restaurants needed to see their impact to stay motivated therefore I built dynamic dashboards showing CO₂ saved, donation streaks with fire emojis, and weekly graphs transforming abstract waste prevention into concrete achievements.
System Architecture
→ Magic Scanner (capture food portions and characteristics)
→ Gemini 3 Vision Analysis
→ Food Intelligence Engine
→ Firestore Database
→ Marathon Agent (runs every 30 minutes) using GitHub Actions
→ Gemini Reasoning & Freshness Prediction
→ Status Updates (Safe, Risky & Expiry)
→ Discord Alerts & Community Dashboard
What I learned
- Autonomous agents require stateless, self-contained cycles to stay reliable.
- Continuous background reasoning unlocks use cases beyond traditional request–response apps.
- Small optimizations (like skipping expired items) drastically reduce AI costs at scale.
- Visualizing impact motivates real-world behavior change more than raw metrics.
- Gamification, even simple streaks, creates strong engagement from restaurant owners.
What’s next for ReDish
- Multi-restaurant networks to coordinate surplus pickups.
- Predictive matching between restaurants and nearby shelters.
- A mobile app for food banks to claim items in real time.
- Portion detection and automatic meal estimates using vision.
- Expansion to different cities and international food systems.
ReDish is designed to be deployed, not just demonstrated. With your support and feedback, this platform can move from prototype to real-world impact, feeding communities while eliminating preventable food waste.
Built With
- discord
- firebase
- firestore
- gemini
- gemini-api
- github-jobs
- google-ai
- react
- recharts
- typescript
- vite


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