A modern, AI-powered restaurant finder that helps you discover restaurants matching your dietary preferences and location.
- AI-Powered Recommendations: Uses Google's Gemini AI to find restaurants based on your dietary preferences
- Modern Design: Professional pastel/neutral color palette with Google Fonts
- Responsive Layout: Mobile-first design that works on all devices
- Smart Location: GPS location detection with automatic zipcode filling
- Dietary Preferences: Auto-complete suggestions for common dietary restrictions
- Professional UI: Clean, modern interface with backdrop blur effects
- Frontend: Next.js 15, React, TypeScript
- Styling: Tailwind CSS
- Fonts: Inter + Playfair Display (Google Fonts)
- AI: Google Gemini API
- Animations: Framer Motion
- Icons: Heroicons (SVG)
-
Clone the repository
git clone <your-repo-url> cd platepal
-
Install dependencies
npm install
-
Set up environment variables Create a
.env.localfile in the root directory:GEMINI_API_KEY=your_gemini_api_key_here
-
Get a Gemini API key
- Visit Google AI Studio
- Create a new API key
- Add it to your
.env.localfile
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Enter Dietary Preferences: Type or select from common dietary restrictions (vegan, gluten-free, halal, etc.)
- Set Location: Enter a zipcode or use the GPS location button
- Search: Click the search button to find restaurants
- Explore: View recommendations and open them in Google Maps
- Color Palette: Professional pastel/neutral colors (violet, slate, stone)
- Typography: Inter for body text, Playfair Display for headings
- Layout: Centered content (50-70% width on larger screens)
- Effects: Backdrop blur, shadows, smooth animations
- Icons: Professional SVG icons throughout
POST /api/platepal- Main API endpoint for restaurant recommendations
src/
├── app/
│ ├── api/
│ │ └── platepal/
│ │ └── route.ts # Gemini API integration
│ ├── globals.css # Global styles and font setup
│ ├── layout.tsx # Root layout with fonts
│ └── page.tsx # Main application page
├── public/ # Static assets
└── ...
- GPS location with automatic zipcode filling
- Fallback to manual zipcode entry
- Reverse geocoding for better accuracy
- Auto-complete suggestions
- Quick selection buttons
- Active preference tags with remove functionality
- Google Gemini 2.5 Flash model
- Structured JSON responses
- Error handling and logging
- Mobile-first approach
- Tablet and desktop optimizations
- Touch-friendly interface
- Push your code to GitHub
- Connect your repository to Vercel
- Add your
GEMINI_API_KEYenvironment variable - Deploy!
The app can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini AI for restaurant recommendations
- Tailwind CSS for styling
- Framer Motion for animations
- Heroicons for SVG icons
- Google Fonts for typography
PlatePal - Find your perfect meal with AI-powered recommendations! 🍽️✨