PROJECT NOTES
PublishedRoot and Ritual
A vegetarian restaurant concept with layered food animation, an interactive seasonal menu and a reservation-request demo.
- Project type
- Restaurant website concept
- My contribution
- Concept, design & testing

PROJECT AT A GLANCE
The idea and the experience.
Who it is for
Restaurants introducing their food, menu and dining experience.
The problem explored
Tell the food story while keeping menu choices and the reservation preview easy to use.
What it demonstrates
- Layered food presentation
- Menu and dietary filters
- Reservation preview; no table is booked
A CLOSER LOOK
Inside the experience.
Select a screenshot to see the details.
THE TECHNOLOGY
- Next.js
- React
- TypeScript
- Tailwind CSS
- React Hook Form
- Zod
Project overview
Root and Ritual imagines a fully vegetarian restaurant and cafe in Portland. The experience moves from a signature market bowl through its preparation, menu discovery and a reservation-request preview.
Forest green, pale mint typography, copper accents and warm paper sections frame the food. All venue details, dishes, prices and photographs belong to this fictional portfolio concept.
My contribution
I developed the idea, shaped the visual design and tested the user experience.
The challenge
Make the food preparation story part of the experience while keeping menu discovery, dietary information and the reservation preview straightforward.
Making the food part of the journey
The opening assembles a vegetarian bowl from a ceramic plate and independent ingredient layers. A replay action restarts the sequence. Native scrolling then moves through gathering, preparation, roasting and plating, with damped movement and stable descriptions.
The seasonal menu combines category and dietary filters. Dish dialogs expose sample ingredients and allergens, and the gallery offers keyboard-operated navigation. Reduced-motion support keeps the same content available without the spatial effects.
A reservation preview with honest feedback
React Hook Form and Zod validate a table request on the client and server. Service slots follow the fictional restaurant's Portland timezone, opening days and guest limits. With delivery unconfigured, a successful preview explicitly says that nothing was submitted and no table was booked.
The application uses Next.js, React, TypeScript and Tailwind CSS. Its food sequence uses native CSS, IntersectionObserver and animation frames.
Explore the demo
Replay the opening bowl animation, scroll through its preparation and explore the seasonal menu. Combine category and dietary filters, then open a dish to review its sample ingredients and allergen information.
The table-request form is a preview for a fictional restaurant. Use sample details only; no request is sent and no table is booked.
Original concept imagery
The screenshots show the running public Vercel application. Food and venue images were generated for the fictional concept; they do not document a real restaurant. The live demo is linked above, while the source repository remains private.
LET’S TALK ABOUT YOUR PROJECT
Have a similar project
in mind?
Share your idea or existing website. We’ll clarify what you need and whether I’m the right fit.
Discuss a Similar Project