A full marketing and reservation site for an independent Pakistani restaurant and event venue. The interface below is reconstructed as abstracted blocks — no client name, logo, address or photography appears in this document.
Above the fold the page carries one promise, one location cue and two exits: read the menu, or book a table. Everything below is abstracted — bars stand in for set copy, striped panels for photography.
Photography carries the room; type stays quiet over it, with a dark scrim so headings hold contrast on any frame.
A filled primary for booking, an outlined secondary for browsing. The same pair repeats site-wide, never a third variant.
The cookie bar sits inside the design language rather than on top of it, and links to a real policy page.
One dark base, one metallic accent, two typefaces. Everything else is a rule about spacing and radius.
Flat where guests are impatient, nested only where content genuinely divides. Every URL reads as a phrase a guest would say out loud.
The reservation flow lives at its own URL, so it can be linked from social, printed on a card, and measured on its own.
Third-party delivery gets one framed handoff page rather than being scattered through the nav.
A local restaurant is found on a phone, near closing time. The setup below is aimed at that moment. Claims here are qualitative by choice — no performance figures are quoted.
Unique titles and descriptions per route, one H1 per page, canonical tags, descriptive alt text, clean internal linking.
Generated sitemap covering every public route, robots directives that keep utility pages out of the index, search console verified.
Restaurant, menu, opening-hours and breadcrumb schema so hours and cuisine can surface directly in results.
Business profile aligned with the site: same name, hours, categories and service list, with the map and directions reachable from every page.
One page per intent — buffet, takeaway, drinks, catering, venue — so each can rank for the phrase people actually search.
Sized and compressed imagery, reserved layout space to avoid shift, deferred non-critical work, fonts preconnected.
Analytics behind consent, with reservation completion, enquiry submission and outbound ordering tracked as distinct events.
Contrast checked against the dark base, visible focus states, labelled fields, keyboard-completable booking flow.
Component-built front end, version-controlled, deployed from the repository. No CMS to babysit, no plugin surface to patch.
Componentised pages, content held as structured data rather than pasted markup.
Every change is a commit in the repository — the full history of the site is recoverable.
Each push builds a shareable preview URL, so the owner signs off on the real thing before it goes live.
Merge deploys to production on managed hosting with HTTPS and a CDN; rollback is one click.
Reservations and enquiries arrive as formatted email in the business inbox — no dashboard to learn, no second login. Fields are ordered the way front-of-house reads them, so a booking can be actioned from a phone in seconds.
The same components, rearranged. Four reconstructions: a pricing surface, a long menu, the reviews module, and the reservation flow on a phone.
Two services, one template. Price, window and inclusions in a fixed order so guests can compare at a glance.
Two columns on desktop, one on mobile; dietary marks inline. Prices sit on a consistent right rail so the eye can scan cost alone.
Guest reviews carried in from the public profile, with sub-ratings and attribution kept intact — quoted, never rewritten.
One decision per screen, thumb-reachable targets, progress always visible.
Cut-off times, advance notice and group handling belong in the flow. Encoding them removes the phone calls that exist only to say no.
Buffet, takeaway, drinks, catering and venue hire each earn their own URL. It is the cheapest structural decision with a search payoff.
Owner-supplied photos vary wildly in exposure. A scrim plus a single warm accent keeps every page legible regardless.
Email-in-the-inbox beats a dashboard nobody opens. Content as data means a price change is a one-line edit, not a redesign.
No performance metrics are quoted in this document; every claim above describes work done, not results measured.