Lawrence Plante
← ./all-work

Level 8 digital menu

The guest menu is the surface. The staff admin behind it is the product.

Level 8 Rooftop Bar rotates cocktails seasonally and 86's items nightly, but reprinting menus is slow and QR menus built on PDFs are worse. I built the venue a real system: a fast React menu for guests, and the part that actually earns its keep, an admin where staff edit the menu themselves and see it live immediately.

Role

Personal project · all my own code

Timeline

Built while bartending at Level 8 · live today

Stack

  • React
  • TypeScript
  • Vite
  • AWS Amplify Gen 2
  • Cognito
  • S3

The problem

A bar menu is a living document. Cocktails rotate seasonally, kegs kick mid-shift, prices move, and specials appear on a Thursday. Print can't keep up, and a static QR menu is just print with extra steps. The venue needed the menu to be editable by the people running the floor, not by a developer.

The admin is the product

The core design decision: menu content lives as runtime JSON in S3, loaded by the app at request time. Editing that JSON happens through an admin interface gated behind AWS Cognito auth via Amplify Gen 2. A manager signs in, changes an item, a price, an availability flag, or a whole section, and every guest phone sees it on next load. No rebuild, no deploy, no developer in the loop.

That separation of content from code is why the site has survived unattended: the venue has been editing its own menu since the day it shipped.

Inside the admin

Menu admin interface with category cards and per-item editing
The admin behind Cognito auth: draggable category cards on the left, per-item editing on the right. Name, category, price, availability, images, and nested sub-items with upcharges, like the rye swap on the Old Fashioned.
Admin view showing an item toggled unavailable
The 86 flow: the frozen machine dies mid-shift, a bartender flips one availability switch, and the item disappears from every guest phone until it's back.

The guest surface

Guests hit the menu from a QR code, so it's tuned for phones first: fast load, search, and category filtering, with the same data driving the desktop view.

In production

Desktop menu view
Mobile menu view

Outcome

Shipped solo for the venue where I worked, and still in daily production use today. Small system, real business, zero babysitting.