Skip to content
FH
All projects
In development

Frontend · Hospitality

Saji Nusantara

Localized restaurant site for three outlets in Uzbekistan

Restaurant marketing site with localized menus, outlet information, and WhatsApp-based contact for its locations in Uzbekistan.

Next.jsReactTypeScriptTailwind CSSnext-intl
Saji Nusantara restaurant homepage

Overview

Saji Nusantara is the public website for an Indonesian restaurant group operating three outlets in Uzbekistan. The site presents the menu, each location, and the brand story, and routes contact through per-outlet WhatsApp links.

Problem & solution

The problem

The restaurant group needed a consistent brand presence across outlets in a market where guests read several languages, and the team needed to update menus without a developer.

What was built

A Next.js App Router site with localized routes and content stored in typed modules, so menu and location changes are ordinary code changes with a review step. Contact is deliberately lightweight: no form backend, just a pre-filled WhatsApp message per outlet.

Key features

  • Localized routes with a language switcher
  • Menu organized by category with dish imagery
  • Outlet pages with hours, address, and map links
  • About and contact pages with per-outlet WhatsApp deep links
  • Content modules for menu, locations, and site information
  • Self-hosted deployment behind nginx with CI/CD

Technical implementation

A single content-driven Next.js frontend. No database or authentication; menu, locations, and site copy live in typed content modules.

Routing

Next.js App Router with a [locale] segment and next-intl

Content

Typed TypeScript modules for menu, locations, and site metadata

Delivery

Standalone Next.js build under PM2 behind nginx, deployed from CI

My contribution

  • Built the home, menu, locations, about, and contact pages.
  • Implemented the localized layout and language switcher.
  • Established the design system, brand lockup, and typography.
  • Maintained menu and outlet content across releases.
  • Set up the self-hosted deployment workflow.
View all