FOODVILLA

View Live Site ↗
A full-stack restaurant platform where people find a place, read the menu, and book a table — with an AI assistant that can search, recommend, and reserve on their behalf. FoodVilla is a MERN product with three surfaces: the guest app, an owner dashboard, and an admin console. Guests search restaurants, browse menus, and manage bookings. Owners run the restaurant, the menu, reservations, and a subscription. Admins approve listings, manage users, and track commission. The design problem was role. A booking flow, an analytics board, and an AI chat cannot share one visual language by accident. Each role gets a workspace that matches the job — discovery for guests, operations for owners, oversight for admins — without feeling like three different products. Live at food-villa-ai.vercel.app.
FOODVILLA Image 1
Three things had to hold. One: booking is a real flow, not a contact form. Search, availability, confirm, history. The guest should always know what they reserved and what they can cancel. Two: the AI assistant is in the product, not a demo widget. It searches restaurants, checks availability, recommends dishes, and can place or cancel a booking. Three: owners and admins are first-class. Menu, reservations, analytics, and subscription live in the owner workspace. Approval and commission live in admin.
FOODVILLA Image 2
The AI chat is a working interface over the same APIs the rest of the app uses — search, availability, booking — not a disconnected chatbot. The owner dashboard is where the product earns operations: listings, menus, reservation control, analytics, and a subscription gate. Stack is React + Vite + Tailwind on the frontend, Redux Toolkit for client state, Node/Express and MongoDB on the backend, JWT auth, Cloudinary for media, Groq / OpenAI for the assistant. Code: github.com/notramm/FoodVilla.
FOODVILLA Image 3
FOODVILLA Image 4