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.
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.
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.



