Velàlia
Fine-dining restaurant · Three languages
The website of a restaurant at this level almost always fails the same way: the menu is a PDF that is unreadable on a phone, the allergens are not spelled out, booking is handled by someone else’s widget that loads late and brings cookies, and it is all in one language on a coast where half the table does not speak Spanish.
The decision
Let the identity organise the content instead of decorating it. The two tasting menus are not called “short” and “long”: they are called Garbí and Mestral, the two local winds. The compass rose on each card points at that wind’s real bearing, and the field of air in each section blows the same way. The bearings all come from one file, so the needle and the name cannot drift apart.
The motion comes from there too. Nothing appears “upwards”, the way it does on every scrolling site: everything enters from the side, slightly rotated, pushed. Headlines do not fade in — they unfurl left to right, like a sail being let out.
The menu is written as text, with allergens spelled out rather than drawn as icons: an allergen icon is a language almost nobody speaks, and it depends on knowing that the drawing is an ear of wheat. And the booking form is ours: no widget, no cookies, no consent banner.
The outcome
Thirteen pages in three languages with translated routes: in English the menu lives at /en/the-menus, not /en/la-carta. It costs one lookup table, and it is the difference between a translated site and a site in three languages.
Twenty-one menu courses with their photograph and their allergens in all three languages. Light and dark mode. And the menu cannot be published with a misspelled allergen: the schema fails at build time and the site does not ship.
Measured
| Home page | 53 KB over 4 requests, no image bytes |
|---|---|
| Lighthouse mobile | 100 performance · 100 accessibility · 100 best practices |
| LCP · CLS | 1.4 s · 0 |
| axe-core | 0 violations across 6 pages × 5 environments |
| Without JavaScript | Works, and an automated test checks that it does |
| Third parties · cookies | 0 · 0 |
It ships with noindex on purpose: Velàlia does not exist and has no business appearing in local searches next to restaurants that do. That is also why its SEO score reads 69 rather than 100.
Built with
- Astro
- TypeScript
- Content Collections
- i18n
- axe-core
- Playwright
- Lighthouse