AGENCY
ZGRZ Agency

Restaurant website with a 3D tour, online booking, and multilingual content

A website that captures the atmosphere of the dining space through an interactive WebGL tour, handles online reservations, and allows the team to update the menu and event listings on their own — without involving developers. 

 

Corporate Website
Booking Platform
Online Booking
B2C
Hospitality
Directus CMS
Content Management

About the project

A website for a premium restaurant where guests can explore the dining room in a 3D tour, browse the menu, and book a table online. Content changes frequently, so the manager edits menu items, prices, and event descriptions through an admin panel. The site is trilingual and stays consistently fast on mobile — critical for tourist traffic.

 

About Customer

Nikas is a restaurant that offers a full dining experience: interior, service, evening program, cuisine, and presentation. A significant share of guests are international, and getting information about the venue in their own language matters to them. The owners wanted a site that would work as a real booking tool and reflect the restaurant’s aesthetic.

 

Immersive interior

 

Photography didn’t fully capture the feel of the space. The project needed an interactive 3D tour in the browser with smooth navigation and performance on smartphones.

 

Menu changes weekly

 

Updating items, prices, and allergens had to take minutes and be done by the administrator without outside help.

 

Trilingual setup

 

Language switching had to be instant, and the content had to stay manageable so the team wouldn't waste time on manual fixes.

 

Event listings

 

Concerts and events had to be pulled in automatically so the homepage always showed the current program.

 

Speed as a key conversion factor

 

Tourist mobile traffic is sensitive to load speed. We had to keep the load metrics steady even with the 3D content layered on top.

 

Proposed solution

We built the site around a 3D tour, trilingual content, and online booking. For the operational side, we implemented a Node.js-based CMS so the team could manage the menu and pages on their own. Event integration was implemented as an automatic feed from a calendar, with 3D textures and critical assets optimized so the site stays fast.

 

WebGL tour embedded in the site

 

We built the 3D scene in Three.js with navigation hotspots and controlled ambient audio. To keep things stable on smartphones, we implemented progressive loading and lighter rendering modes so the tour ran smoothly on mobile.

 

CMS for menu and pages

 

We implemented an admin panel on Node.js with structured blocks for dishes and wines. This allows the manager to edit the title, price, allergens, description, and media, and have changes go live immediately with no manual releases.

 

Multilingual content and translation management

 

We designed a content structure organized by language with instant UA/EN/FR switching without page reloads. We also implemented the SEO logic for language versions so the pages indexed correctly.

 

Event listings and booking

 

We configured automatic event imports from Google Calendar to the homepage, and added a booking form with table-availability checks and reservation logging into the CRM, so the team receives bookings directly inside their operational workflow.

 

Media and 3D asset delivery

 

We designed CDN-based delivery for images and textures to optimize loading of the page's critical resources. The target was an LCP around 0.9 seconds, so the site remains fast despite heavy content.

 

At the start we aligned on the site's primary goals  — drive bookings and introduce guests to the dining room online. We defined the critical scenarios: exploring the 3D tour, scanning the menu quickly, switching language, booking a table, and seeing the current event lineup. We defined the expected menu-update frequency and admin roles so the CMS mirrored the restaurant's real workflow.

 

Vue.js
JavaScript
HTML5
CSS3

+7 Resource

Results

After launch, the site became both a booking channel and an operational tool for the restaurant team.

 

+38% online bookings

in the first month, driven by a clearer path to reservation

4 min 10 sec

average time on site, up from baseline

~2 minutes

to update a menu item via the admin panel — name, price, and allergens

~0.9 s LCP

on mobile, even with the 3D tour layered in

Event listings update automatically

since the program is pulled directly from the calendar

Get in Touch

Or send us a message and we'll get back to you within 15 minutes during business hours

Enter your name

Enter your email

Enter your message

Andrii Trubai

Andrii Trubai

CEO | Head of WebDev department

More Success Stories