The concept began as a static HTML, CSS, and JavaScript page. It was later converted to Next.js App Router and React, moving the document shell and metadata into the app directory and separating the hero, responsive header, and menu preview into focused components.
Most content remains server rendered. Client-side React is limited to the mobile navigation and menu filter, where local state drives open, active, pressed, and filtered states. Favorites and menu items are rendered from data arrays rather than repeated markup.
The interface uses one global CSS file with custom properties, Grid, Flexbox, gradients, and breakpoints at 1040, 920, 820, and 460 pixels. The hero uses Next Image with a static import in the concept project, while this portfolio uses verified intrinsic dimensions for every local screenshot to prevent layout shift.
The concept is configured as a static export and includes metadata, semantic landmarks, visible focus treatments, ARIA state for interactive controls, and safe external-map behavior. It has no ordering, payments, reservations, backend, CMS, analytics, or live menu management.