FoodPo 🥗🤖
Inspiration
We have all been there - hungry, short on time, trying to eat healthy on a budget. You open DoorDash, then UberEats, then Google, do mental math on calories and price, and 10 minutes later you just order fries. The problem isn't willpower. It's friction. We wanted to eliminate that friction entirely.
What It Does
FoodPo is an AI food decision agent. You speak your constraints — "veg, high protein, under $15" — and it responds with:
- 3 specific menu items ranked by fit
- True effective price after platform fees and coupons (DoorDash, UberEats & GrubHub)
- Estimated macros (calories, protein)
- A voice coach that encourages good choices and calls out bad ones
- A system that learns your preferences over time
How We Built It
Backend (Python / FastAPI)
- Custom data synthesizer generating restaurant menus with macro profiles and platform pricing
- Ranking algorithm computing the True Effective Price:
$$P_{effective} = P_{base} + P_{delivery} - C_{coupon}$$
- Weighted scoring model balancing macro targets against cost:
$$S_{item} = w_1 \cdot \text{MacroFit} + w_2 \cdot \frac{1}{P_{effective}}$$
- SQLite reinforcement loop that reweights user preference matrix on feedback
- OpenAI TTS with dynamic coach tone (Onyx = hype, Alloy = gentle)
Frontend (Vanilla JS / Three.js / WebGL)
- Immersive infinite 3D gallery with
Math.cos()warp projection - Web Speech API for zero-typing voice input
- Glassmorphism UI with biometric sidebar and live Google Maps deep links
Challenges We Ran Into
- CORS hell — serving local textures across dual Python HTTP servers required creative workarounds
- True price computation — normalizing pricing across DoorDash, UberEats, and GrubHub with coupon logic was messier than expected
- Voice UX — making the coach tone feel natural and not robotic took significant prompt engineering and scalar tuning
- 3D performance — keeping the WebGL gallery smooth while dynamically loading food textures required careful geometry optimization
Accomplishments We're Proud Of
- A ranking algorithm that doesn't just find restaurants — it surfaces the single best item for your exact constraints
- A voice coach that actually feels like a personality, not a chatbot
- A feedback loop you can visibly watch learn after every meal rating
- An interface that makes every other food app feel outdated
What We Learned
- Reinforcement learning doesn't need to be complex to be effective — a simple weight matrix updated on explicit feedback produces surprisingly meaningful personalization
- Voice-first UX removes more friction than any UI redesign ever could
- The hardest problem in food tech isn't finding restaurants — it's making the decision for the user
What's Next for FoodPo
- Real menu data via partnerships or scraping pipelines replacing synthetic data
- Live coupon APIs for accurate real-time savings
- Apple Health / Google Health integration for biometric-aware recommendations
- Social accountability — share your streak, compete with friends
- Mobile app with persistent coaching memory across sessions
Built With
- airia
- elevenlabs
- javascript
- lightdash
Log in or sign up for Devpost to join the conversation.