LaCave
Avenue Amilcar Cabral
On today
Sunset apéritif
Two signature spritzes and a chef's snack plate, weekdays from 17:00.
The kitchen's picks
Full menuComing up
La Cave Riverside · Avenue Amilcar Cabral, Brazzaville
Today 12:00–23:00 · Friday and Saturday until 01:00
How are you ordering?
You can change this later. Your table QR sets it automatically.
Concept 1 · Immersive shell
Cellar
Home is a doorway. You arrive at a place before you arrive at a menu.
- The move
- A charcoal ground, one arch-framed view of the Riverside room, and a single decision under it. The cellar arch appears exactly once, as the design system asks — it is the whole hero, not a badge repeated on cards.
- What it buys
- A first impression no delivery app has. It sells the room before it sells a dish, which is the honest pitch for a restaurant that also does takeaway — not the other way round.
- What it costs
- The arch and the decision own the first screen, so the menu is one scroll away. Strong for a cold
/entry or a shared link; slower for a regular who already knows what they want. - Build notes
- Immersive shell, no top bar. Status area sits over the photograph.
- The hero is the LCP element: preloaded responsive WebP/AVIF under 180 kB with intrinsic dimensions, or the 2.5 s budget goes.
- The arch is one
border-radiusmask — no SVG, no clip-path. - “Start an order” opens the fulfillment sheet; “I'm at a table” goes straight to QR resolution.
Tuesday at Riverside
Scan the QR code on your table to open a session.
Popular right now
See allThis month at Riverside
Allergens · Tell us about an allergy before you order. We cook in a shared kitchen and cannot guarantee against cross-contamination.
Concept 2 · Standard shellRecommended base
Service
Home is the fastest correct start. Settle how you're ordering, then get out of the way.
- The move
- Branch, hours, mode and the collection promise are all settled above the fold. A segmented control keeps the whole fulfillment decision in about 116 px instead of a full-screen chooser, and the promise line below it changes with the choice.
- What it buys
- Search and categories are one tap. Adding a dish works from Home, so a regular never has to enter the menu at all. This is the structure that survives daily use.
- What it costs
- The least distinctive of the three if the typography isn't held to. With no hero, the brand has to come from the display face, the photography and the restraint — which means the menu images carry more weight than they do in Cellar.
- Build notes
- Standard shell plus
CartDock, which appears only once the cart has lines. - Segmented control is a Radix single ToggleGroup with roving tabindex; the indicator is a transform, not a layout change.
- The condensing title listens to the scroll container, not the window.
- Changing mode after a cart exists runs the cart compatibility policy before it mutates anything.
- Standard shell plus
Your order is being prepared
Placed at 20:02 · 3 items
Add to the table
Full menuStill hungry?
Everything goes on table 12. Anything you add now joins the same tab, and the bill covers the whole table when you ask for it.
Concept 3 · Stateful home
Table
Once you're seated, Home is your table — not a catalogue.
- The move
- When a signed table session exists, Home rearranges around it: session identity in copper at the top, service requests one thumb-reach away, the live order next, and a second round of drinks and desserts above everything else.
- What it buys
- It makes eat-in first-class, which is the thing that separates La Cave from a delivery app. It also puts the highest-margin path — the second round — at the top of the screen instead of four taps into the menu.
- What it costs
- It only exists while the session is valid, so it isn't a third home. It's an override that needs Cellar or Service underneath it for everyone else.
- Build notes
- Renders when the experience store holds an unexpired
DineInSession; falls back to the base Home otherwise. - Copper is used here exactly as the system defines it: live context, not decoration.
- Service requests are online-only, need a server acknowledgement, and must block duplicates — the toast confirms the request, not the outcome.
- The timeline renders last-known state and says so when the connection drops.
- Renders when the experience store holds an unexpired
Opening a table needs a connection. Your cart is saved on this device.
Riverside is closed
Ordering opens again tomorrow at 12:00. The kitchen closes at 23:00.
On today
Nothing special on today. The full Riverside menu is served from 12:00 to 23:00.
Today's menu didn't load
Your table session and your cart are safe. This usually clears on a second try.
Required before Home ships
Every state Home has to survive
The definition of ready in docs/frontend-foundation.md gates the Home design on these five. Same tokens, same layout shape — no separate screens.
- Why they're in the concept, not after it
- A branch closes every night, the fixtures run on mock latency, and Brazzaville mobile data drops. If these are designed late they get bolted on as modals, which is exactly what the shell is meant to prevent.
- Rules they encode
- Cached content is readable and dated; only the action that needs the network is disabled, and it says why at the point of failure.
- Skeletons match the layout they replace, so nothing shifts when data lands (CLS budget is 0.1).
- Empty is not blank: one explanation, one next action.
- Errors state what is still safe. Cart and table session survive every one of these.
- Reduced motion removes the shimmer and the progress creep without removing the meaning.
- Still to design
- Stock and price changes after a cart exists, and the uncertain-payment recovery path. Both belong to Cart and Checkout rather than Home, but they reuse these same bands.