Your AI-powered food plug for discovering the best makan spots in Malaysia 🇲🇾
A modern, conversational food recommendation app that helps you find authentic Malaysian restaurants using AI and real Google Maps reviews. Just ask naturally in Manglish, and we'll hook you up with the best spots!
- 🤖 AI-powered chat recommendations using Google Gemini
- 📍 Location-based restaurant search
- 🔍 Real Google Maps reviews via SerpAPI
- 💰 Budget & cuisine filters
- ⭐ AI-powered vibe analysis
- 🖼️ AI-generated food images
- 🔖 Save favorite spots
- 🌙 Dark mode support
- 📱 Fully responsive design
- Frontend: React + TypeScript + Vite + Tailwind CSS
- Backend: Supabase (PostgreSQL + Edge Functions)
- AI: Google Gemini 2.0 Flash
- APIs: SerpAPI (Google Maps search & reviews)
- UI: shadcn/ui components
- Install dependencies:
bun install- Set up environment variables:
Create
.env:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_PUBLISHABLE_KEY=your_anon_key- Set Supabase secrets:
GEMINI_API_KEY- Google Gemini API keySERPAPI_KEY- SerpAPI key
- Deploy Edge Functions:
supabase functions deploy- Run dev server:
bun run devmakanmana/
├── src/
│ ├── components/ # UI components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom hooks
│ └── integrations/ # Supabase client
├── supabase/
│ ├── functions/ # Edge Functions
│ └── migrations/ # Database migrations
└── public/ # Static assets
chat- Main AI chat assistant (Gemini 2.0 Flash)vibecheck- Restaurant vibe analysis (Gemini 2.0 Flash)generate-food-image- AI food image generation (Gemini 2.0 Flash)generate-comment- Manglish comments generator
profiles- User profilesbookmarks- Saved restaurants- All tables have Row Level Security (RLS) enabled
Malaysian hawker center vibes with:
- Sambal Red - Primary color
- Pandan Green - Secondary accents
- Nasi Cream - Warm backgrounds
- Poppins font - Casual, friendly typography
Edge Function errors?
- Check Supabase Dashboard → Edge Functions → Logs
- Verify API keys in Secrets
- Check rate limits
Database errors?
- Ensure migrations are applied
- Check RLS policies
- Verify user authentication
Recommended: Vercel or Netlify
Set environment variables:
VITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY
Build command: bun run build
Output: dist/
Amirah
- Supabase Edge Functions development
- Google Gemini API integration
- SerpAPI integration for Google Maps
- AI prompt engineering
Syahirah
- Frontend & AI Groq Integration
- React application architecture
- UI/UX design & implementation
- Responsive design & theming
Built together for Cursor Hackathon 2025 🇲🇾
MIT License
- Powered by Google Gemini, SerpAPI, and Supabase
- Design inspired by Malaysian hawker centers
Made with ❤️ in Malaysia