A healthy menu that is never out of date

client
The Urban Garden, Vilnius
year
2026
project type
Restaurant website & admin panel
theurbangarden.lt ↗
The Urban Garden website on a laptop on a sage sofa

project overview

Fresh food deserves a fresh menu

project type
Restaurant website & admin panel
services
UX/UI designWeb developmentAdmin panelTechnical SEOHosting & DevOps
stack
Next.jsTypeScriptPostgreSQLRedisDocker

The Urban Garden is a healthy-living restaurant in Vilnius. We designed and built its website in Lithuanian and English — a menu with a page for every dish, catering services, ordering and booking links — and an admin panel that lets the venue change dishes, photos and opening hours in seconds, without a developer.

Restaurant menus change all the time: a new bowl, a seasonal dessert, a dish that is off for the week. The Urban Garden needed a site that feels as calm and fresh as the food — and that the team can keep accurate without waiting for anyone.

We kept the visual language light: warm cream, deep navy type, the brand's sage green and generous food photography, with a single typeface, Jost, doing all the work.

A montage of The Urban Garden pages: menu, dishes, about, services and contacts

the menu

Every dish gets its own page

The menu is split into six categories — all-day brunch, power bowls, toasts and wraps, sweet bowls, protein and energy, snacks — and every dish has its own page with a photo, ingredients, dietary labels and the allergens it contains.

Dish and category URLs are localised too, so /lt/meniu and /en/menu each rank in their own language and a guest can share the exact bowl they liked.

The Urban Garden menu page
The Labneh Bowl dish page

by the numbers

Small menu, serious platform

2
languages, each with its own URLs
11
dishes at launch, in 6 categories
14
EU allergens tracked on every dish
0
deploys needed to change a dish

run by the venue

Change the menu over a coffee

The admin panel covers dishes with drag-to-reorder and archiving, categories, page copy, a media library with automatic image processing, and every contact detail and outbound link. A save is live on the site within seconds — no build, no deploy.

Accounts have roles and two-factor sign-in, and the fourteen EU allergens stay in code as a fixed legal list, so nobody can mistype one.

The Urban Garden admin panel: dishes with photos, LT/EN names and allergens

Illustration of the admin panel — dishes and photos are real, the screen is a mockup.

on the phone

Built for the walk to lunch

Most guests open the menu on a phone, minutes before they arrive. Order and Reserve stay one tap away on every page, categories scroll sideways and dish photos load sharp but light.

fast & findable

Static pages, live content

Public pages are statically generated and refreshed the moment content changes, so the site loads instantly and still shows today's menu. Every page carries hreflang, structured data and a sitemap entry; a strict content security policy, rate limiting and scheduled backups keep it safe.

End-to-end tests cover the public site, admin flows, accessibility and visual regressions, so a menu update can never quietly break the layout.

The Urban Garden catering services page
The Urban Garden About us page

what makes it work

Four things the venue relies on

  1. (1)

    Live menu editing

    Dishes, photos, categories and prices change in the admin and appear on the site within seconds.

  2. (2)

    Allergens by the book

    All 14 EU allergens on every dish, kept as a fixed list so the data is always valid.

  3. (3)

    Two languages, two sets of URLs

    Lithuanian and English with localised slugs, hreflang and separately written copy.

  4. (4)

    Media pipeline

    Uploads are validated, resized and converted automatically, so photos stay crisp and light.

visual language

Calm, fresh, edible

Everything comes from the client's brand: deep navy ink on warm cream, the logo's sage green on every button, a pale green behind the food photos — and Jost as the one typeface for headlines and body.

Ink#0C2638
Cream#FFFAF4
Pale#EEF2EB
Sage#849E7F
Sage, hover#9EB599
AaJostHeadlines, body & interface
Visit the live site ↗

Turn your task into a route?

Tell us about the task, timeline and budget. We'll review the brief, ask the right questions and come back with a clear plan.

Budget