Skip to main content
Demo

This site is a demo project, not the official Jack & John Kitchen website.

Demonstration Project

About This Project

This site is a prototype digital home for Jack & John Kitchen — a fast-casual babi kriuk chain with 10+ outlets across Surabaya and Jakarta. The real brand has no website of its own; all digital discovery runs through GoFood, GrabFood, ShopeeFood and Instagram. This was built as a work sample, not commissioned commercial work.

Scope

Six bilingual pages: Home, Menu, Catering, About, Outlets and Contact. Plus catering and contact inquiry forms, WhatsApp deep links on every page, an outlet finder, an Instagram feed, and structured data for local SEO.

Stack

Next.js 14 App Router with TypeScript, Tailwind CSS over CSS design tokens, Sanity as the CMS, React Hook Form + Zod for forms, next-intl for ID/EN, Resend for email, and Vercel for hosting. Jamstack — no custom backend, no database, no login.

Timeline — 4 Weeks

The original plan ran eight weeks. This version compresses it into four by running content production in parallel with the build, and folding QA into launch week.

  1. Week 1 — Foundation & Design System

    Brand research, design tokens locked, Next.js + Tailwind scaffold, base components, Sanity content model, photography and copy collection.

  2. Week 2 — Core Pages

    Full homepage, Menu page with category tabs and product cards, Outlets page with map embed and city filter.

  3. Week 3 — Conversion & Bilingual

    Catering, About and Contact pages. Serverless functions for both forms plus email notifications and rate limiting. ID/EN translations completed.

  4. Week 4 — QA, Optimisation & Launch

    Performance, SEO and WCAG 2.1 AA accessibility audits. Cross-browser, form and WhatsApp link testing. DNS cutover, Search Console, analytics verification, launch announcement.

Contact

Questions, feedback, or anything about this project: croissantsmoon@gmail.com

Two documents: the project brief (background, scope, timeline) and the full design system guide with implementation screenshots. Both follow the language you are reading in — switch to ID for the Indonesian version.

Not affiliated with and not an official communication from Jack & John Kitchen or ISMAYA Group. Prices, menu and outlet data are used as scenario material.

Jack & John Kitchen

Outlets

Come by in person or order through your favourite app.

Find Us

Two Cities, A Dozen Outlets

Pakuwon Mall

Pakuwon Mall Surabaya · Surabaya

Jl. Mayjend Jonosewojo No.2, Babatan, Wiyung, Surabaya, Jawa Timur

Opening Hours: Mon–Sun 10:00–22:00

Pakuwon City Mall

Pakuwon City Mall · Surabaya

Jl. Kejawan Putih Mutiara No.17, Kejawaan Putih Tambak, Mulyorejo, Surabaya

Opening Hours: Mon–Sun 10:00–22:00

Galaxy Mall 3

Galaxy Mall 3 · Surabaya

Jl. Dharmahusada Indah Timur No.35-37, Mulyorejo, Surabaya, Jawa Timur

Opening Hours: Mon–Sun 10:00–22:00

G-Walk Citraland

G-Walk Citraland · Surabaya

Jl. Niaga Sentral, Citraland, Sambikerep, Surabaya, Jawa Timur

Opening Hours: Mon–Sun 11:00–22:00

MERR

Ruko MERR · Surabaya

Delivery Only
Jl. Dr. Ir. H. Soekarno, Kalirungkut, Rungkut, Surabaya, Jawa Timur

Opening Hours: Mon–Sun 10:00–21:00

Dream Permai

Ruko Dream Permai · Surabaya

New Outlet
Jl. Raya Kalirungkut, Rungkut Kidul, Rungkut, Surabaya, Jawa Timur

Opening Hours: Mon–Sun 10:00–21:00

Pantai Indah Kapuk

PIK Avenue · Jakarta

Delivery Only
Jl. Pantai Indah Utara 2 No.1 7D, Kapuk Muara, Penjaringan, Jakarta Utara, DKI Jakarta

Opening Hours: Mon–Sun 10:00–22:00

Lippo Mall Puri

Lippo Mall Puri · Jakarta

Jl. Puri Agung, Kembangan Selatan, Kembangan, Jakarta Barat, DKI Jakarta

Opening Hours: Mon–Sun 10:00–22:00

Mall Kelapa Gading 3

Mall Kelapa Gading 3 · Jakarta

Jl. Boulevard Barat Raya, Kelapa Gading Barat, Jakarta Utara, DKI Jakarta

Opening Hours: Mon–Sun 10:00–22:00

Kemang

Ruko Kemang Raya · Jakarta

Delivery Only
Jl. Kemang Raya, Bangka, Mampang Prapatan, Jakarta Selatan, DKI Jakarta

Opening Hours: Mon–Sun 11:00–21:00

Plaza Semanggi

Plaza Semanggi · Jakarta

New Outlet
Jl. Jend. Sudirman Kav. 50, Karet Semanggi, Setiabudi, Jakarta Selatan

Opening Hours: Mon–Sun 10:00–22:00

Order via WhatsApp