Nonna Corvina
Website for an Italian restaurant and wine bar
A site for an Italian restaurant and wine bar in Savannah: a menu that changes with the hour, tarot-card cocktails, a cellar of 300+ bottles searchable by vintage and table booking with seating and a deposit.
Problem :
The restaurant runs up to four services a day (lunch, the Crow’s Hour, dinner, dolci), each with its own menu and prices, plus a wine list of about three hundred bottles. A guest needs to see what is served right now, find a bottle in a long list and book a table without calling.
Solution :
The menu goes by the hour: a moon travels along the arc of the day through four stops, its phase changes with each one, and the menu below rebuilds in place; in the Crow’s Hour the bar prices are struck through and happy-hour prices appear in their place. The page opens on the service that is on right now in Savannah. Cocktails are dealt as tarot cards that flip over and can be shuffled. The cellar holds the whole list with a search by wine, grape and region and a “birth year” slider that finds bottles of that vintage, from 1967 to 2025. Booking happens on the page: guests, a two-week strip of days, Dining Room, High Top or Patio, 15-minute slots and a $20 per guest hold for no-shows and late cancellations.
My Role :
Art direction, design, texts and build: the brand language (folk magic, a crescent moon with two stars, Italiana, Allura and Urbanist), the menu by the hour, the deck, the cellar search, the booking flow and three first screens.
Process :
I mapped the opening hours and the four services into one schedule, so the header line, the menu, the hours board and the booking slots all read from it. Then I laid out the wine list as data, built the vintage slider and search on top of it and checked that every event in the calendar opens the booking with its evening already chosen.
Outcome :
A guest can see what is being served right now, pick a bottle for a birthday year and book a table in a few taps without leaving the page. Three first screens: a gate whose doors open onto the dining room, three moons with dishes that wax to full when tapped, and an arch with a live line of what is on tonight and the next open tables.
Tech Stack :
Next.js (App Router) + TypeScript, hand-written CSS with no UI kit, fonts through next/font. Opening hours, the live status line and every time slot are calculated in the browser in the venue’s own time zone (Intl API), so the page is right for a visitor anywhere. Animations use only transform and opacity, reveals start on a double requestAnimationFrame and nothing loops forever, so motion runs the same on Android and iPhone. Hosted on Vercel.





