Skip to content
All work

04Concept

Tejocote

A one-page site for a restaurant: the menu with dietary filters, table reservations with a hold and a confirmation code, WhatsApp orders and a form for group events, in Spanish and English.

Dishes on the menu, filterable by diet
36
Languages, every string in both
2
/
Tejocote, home on a desktop screen
Tejocote, home on a phone
Home
/
Tejocote, menu with dietary filters on a desktop screen
Tejocote, menu with dietary filters on a phone
Menu with dietary filters
/
Tejocote, reservations on a desktop screen
Tejocote, reservations on a phone
Reservations

What I built

  • A hero where a WebGL shader casts moving leaf shade over the dish photo and reacts to the pointer.
  • A menu in six sections with dietary filters and a takeaway order.
  • Reservations with simulated availability, a five-minute hold, a confirmation code and a calendar file.
  • An open-now status from the visitor's clock, and an illustrated map.

Engineering notes

Leaf shade in one shader

Two layers of leaves and the round sunspots that slip through small gaps are drawn in a single fragment shader over the photo. It pauses off screen, renders a still frame for reduced motion and falls back to CSS without WebGL.

Booking without a backend

Availability, the hold countdown, the confirmation code and the .ics file are generated in the browser, so the whole flow can be tried end to end.

What runs in demo mode

  • Reservations, orders and the events form run in the browser. Nothing is sent.
  • The restaurant, its address and its menu are fictional.