Mobile web appConcept
Maris Restaurant menu
A bilingual mobile menu for a seaside café — fast on every phone, owner-editable, no app to install.
Inside the work
The menu, on a table.
Phone-framed mock, a tableside QR, and the allergen pills the kitchen actually uses.
Overview
Maris is a concept for a seaside café in Çeşme: warm hospitality, a tight kitchen, and a printed menu that's a pain to keep current. The brief: retire the laminate, keep the warmth.
The brief
- Problem
- A printed menu that is out of date the day it is laminated.
- Constraint
- It must open on any phone in under a second, in bright sun, with no app.
- Answer
- A single-scroll mobile menu the owner edits from a phone, opened from a code on each table.
A digital menu earns its place by being faster than handing someone a card. That means: render on a cold phone in under a second, never wait for a network round-trip on a category tap, and stay legible in midday sun under a parasol.
We designed the menu as a single scroll with sticky category chips, generous photography, and allergen pills that sit on the item rather than buried in a legend. Bilingual rows toggle without a reload — the same item in Turkish and English, never two versions out of sync.
Behind the screen, the owner edits prices and stock from a phone in the kitchen. Each table gets its own printed QR with a table ID baked in — useful later if the brief grows into ordering.
About this concept
This is a concept build for a fictional client. It shows the process and the standard we bring to client engagements.
Approach
A menu that feels like the café.
Photography first
One real photo beats three stylised crops. Tight grid, generous spacing, no carousels.
Bilingual in a row
Turkish above, English below, same line height. Neither language is a second-class citizen.
Owner-editable
A staff phone is the CMS. Price up, item out of stock, new daily special — under a minute.
What it ships with
Everything a café needs. Nothing it doesn't.
Figures refer to the concept brief.
Speed
< 0.8seconds to first load
Static menu, edge-cached. The first tap is the only one that touches the network.
Tables
A QR code for every table
A printable QR sheet per table. The URL knows where the guest is sitting.
Allergens
On the item, not in a legend
Gluten, dairy, nuts, shellfish — pills on the item, where the guest is already looking.
Languages
2languages, one menu
Toggle in the header, preference remembered. Same content, two voices.
Stack
- Next.js
- React
- TypeScript
- Tailwind
- Sanity
- Vercel
Try it yourself
A working build, not a picture.
Open the demo and use it the way a guest or a client would. Every tap and tab works.