Inspiration
We were inspired by the need for smarter, more personalized food recommendations. Traditional apps often serve generic lists. We envisioned a chatbot that could understand taste preferences, location, and feedback, then evolve its recommendations—just like a foodie friend would.
What it does
PalatePilot is an AI-powered restaurant recommendation chatbot that:
Understands natural language food queries using Google Generative AI (Gemini).
Fetches restaurants based on the user’s current location using geolocation and OpenStreetMap.
Stores every chat session and feedback (like/dislike/comments) in Firebase Firestore.
Shows personalized recommendations and supports feedback-driven learning.
Lets users view past chats and rediscover previously recommended restaurants.
How we built it
Frontend: React, Vite, Tailwind CSS, Framer Motion, Lucide Icons
Backend: FastAPI, Python, Google Generative AI, httpx, requests
Authentication & DB: Firebase Auth, Firestore
Geolocation: HTML5 Geolocation API + OpenStreetMap Nominatim API
Deployment: Netlify (Frontend) + Render (Backend)
State Management: Chat sessions stored by userId and sessionId
Challenges we ran into
CORS errors due to cross-domain API requests between Netlify and Render.
Geolocation mapping inconsistencies in certain browsers.
Firebase structure design to correctly store and fetch per-session chat data.
Session routing and feedback persistence during history viewing.
Dealing with Python dependency conflicts during backend deployment on Render.
Accomplishments that we're proud of
Fully working end-to-end AI chatbot with location-aware recommendations.
Implemented a feedback system that updates UI instantly and stores in Firebase.
Users can now revisit previous sessions and view past preferences.
Smooth hybrid deployment setup using two cloud platforms (Netlify + Render).
What we learned
How to deploy and connect frontend and backend apps across different platforms.
Using Google Gemini for conversational intent parsing and recommendations.
Handling CORS, HTTPS, and Auth across services.
Efficient Firestore schema design for chat + feedback storage.
Error handling and fallback UX in production-ready AI applications.
What's next for PalatePilot
Add multi-turn conversation memory to improve ongoing chat context.
Enable collaborative recommendations for group food planning.
Integrate more local restaurant data sources for richer results.
Support voice input and accessibility features.
Offer user taste profiles and dynamic personalization over time.
Built With
- ai
- api
- authentication
- axios
- css
- dotenv
- fastapi
- firebase
- firestore
- framer
- generative
- javascript
- login
- lucide
- motion
- netlify
- nominatim
- openstreetmap
- pydantic
- pyrebase
- python
- react
- render
- tailwind
- typescript
- uuid
- uvicorn
- vite
Log in or sign up for Devpost to join the conversation.