A kampung kitchen that updates its own menu
Tumez Signature serves village-style cooking in Cyberjaya. Most customers find it on a phone, through Google Maps or WhatsApp, and want three answers quickly: what is good here, what it costs, and how to get a table.


Measured, not claimed
- Security
- A
- Measured 27 Oct 2026
- Performance
- 77
- Measured 27 Oct 2026
- Accessibility
- 100
- Measured 27 Oct 2026
- Safari on iPhone
- Tested
Lighthouse scores are lab measurements on a simulated phone, not data from real visitors.
Context
The shop already ran on WhatsApp. Orders, questions and table bookings all went through one number.
So the site does not replace WhatsApp. It answers the first questions properly, saves each table request so none gets lost, then opens the same chat with the details already written out.
Decisions
Bookings end in WhatsApp
The form checks the time against opening hours and saves the request, then opens WhatsApp with the details filled in. No payment and no table management on the site.
The owner’s photos, not stock
Menu photos come from the shop’s own WhatsApp catalogue and its photographer’s album. Small catalogue photos were sharpened rather than replaced.
Fixed pages, not a page builder
Home, menu, booking and about have fixed layouts. The owner edits dishes, prices and packages, and cannot break the design by accident.
Malay first
Malay at the root and English at /en, with translated addresses: /tempahan and /en/reserve. Most customers are local.
What the owner changes alone
Dishes and prices
Add a dish, change a price, or hide one that has run out.
Seasonal packages
Give a package a start and end date. An iftar set disappears by itself when Ramadan ends.
Opening hours
Hours for each day, the Friday prayer break, and special closures.
Screens in Malay
The editing screens switch between Malay and English, separately from the language of the content.
Built with
| Built with | Why it matters |
|---|---|
| Next.js 16 | Pages are built once and served fast. A saved change shows on the site straight away. |
| Payload CMS 3 | The owner edits text, prices and photos in Malay or English, without waiting for a developer. |
| SQLite | One data file, copied off the server every night. |
| Playwright WebKit | Every release is opened in Safari on an iPhone before it goes live. If it fails, the old version stays. |
| Docker | The previous version stays ready. Going back takes one command. |