Case study

The public Panzerotto Chic website for SEO and dynamic menu content.

The Panzerotto Chic public site: Next.js App Router, TypeScript, Server Components, Supabase menu and full SEO setup.

Panzerotto ChicIn production
Real public homepage with menu, location, app call-to-action and indexable restaurant content.
Public websiteSEO storefront connected to the app

Real public homepage with menu, location, app call-to-action and indexable restaurant content.

Real menu page with categories, products, prices and a public fallback aligned with the ordering flow.
Menu dataReal menu tied to live data

Real menu page with categories, products, prices and a public fallback aligned with the ordering flow.

Next.jsTypeScriptServer Components
Project facts
IndustryRestaurant website
ProductPublic website
StackNext.js, Supabase
StatusOnline
Context

Context

The ordering app needs to keep the order flow fast and clear, while the public website must present the restaurant, index the menu and provide an independent SEO foundation.

Solution

The solution

We built a separate Next.js site with public content, menu tied to the same Supabase tables as the ordering app and markup for search engines.

Features

  • Next.js App Router with TypeScript
  • Server Components and Tailwind CSS
  • Menu read from Supabase using the same tables as the ordering app
  • Cookie banner with consent categories
  • Metadata, Open Graph, Twitter card, robots and sitemap
  • Restaurant/Menu JSON-LD

Technical stack

Next.jsTypeScriptServer ComponentsTailwind CSSSupabaseJSON-LD

Verifiable elements

  • The website and menu respond publicly at home.panzerotto-chic.app.
  • Metadata, sitemap and Restaurant/Menu JSON-LD are documented in the project.
  • The project README documents SEO, Open Graph, robots, sitemap and Restaurant/Menu JSON-LD.
  • The menu can use live Supabase data or a coherent static fallback.

Next.js SEO website connected to real data

We build the public site without sacrificing performance, content or technical SEO.