Chef Vola's · Atlantic City · 2026

A restaurant that books by phone kept losing calls

Chef Vola's doesn't take online reservations. Regulars call, and chef Lou decides. Calls got missed, the room's real capacity lived in his head, and nobody kept a record of guests. I built a phone line that takes requests and an iPhone app where Lou books every table himself.

Product designer and solo builder. Business rules, backend, phone system, design system, and the iOS app, built by directing AI coding agents.Phone line + iOS app, live
Home: what needs Lou, and how full the room is tonight
Home: what needs Lou, and how full the room is tonight
A request: the verdict, other times to offer, and a card hold
A request: the verdict, other times to offer, and a card hold
The problem

The fix had to keep the personal touch. Lou still confirms every table. He just needed to stop losing callers and know at a glance whether a time could be seated.

/Requests come in by phone, at any hour.
/Lou often decides one-handed, mid-service, in a dark room.
/A request isn't a booking until Lou says so.
/The kitchen can only take so many tables at once.
01

From a phone call to a table

Callers press 1, say their name, and key in the party size, date, and time. The line checks the room while they're still on the phone and offers the nearest open times if it's full. The request lands on Lou's phone with a push alert and a verdict. When he books it, the guest gets a text, and big parties get a link to hold the table with a card.

02

Every request opens with a verdict

Requests are sorted into open, conflicts, and booked. Each one says whether the time works before Lou calls: open, nearly full, or full, with the tables that would seat the party and other times to offer. Big parties get a card-hold request instead of a plain booking, and a name the line only heard is flagged to check the spelling.

Requests, sorted for review
Requests, sorted for review
Nearly full: no table seats five, so here are times that do
Nearly full: no table seats five, so here are times that do
03

Tonight, and the room behind it

Tonight lists every seating with its covers and tables. Lou can add a walk-in or a call-in from the same screen, and the seating times on offer are the real ones. The room itself is set in the app: how many tables of each size, night by night, so availability always matches the floor.

Tonight, seating by seating
Tonight, seating by seating
Booking a call-in
Booking a call-in
The room, table by table
The room, table by table
04

Guests and voicemail

Each guest has a private rating, notes like allergies or a favorite table, and their visit history. Messages left on the line arrive transcribed, with Call back and Mark handled right on the card.

Guests
Guests
A guest: rating, notes, visits
A guest: rating, notes, visits
Voicemail, transcribed
Voicemail, transcribed
What made it work
/

I modeled the business rules first: hours, slots, caps, and how a request becomes a booking. The app follows the rules.

/

Capacity is worked out in one place, and both the app and the phone use it.

/

The app shows why a time won't work, like no table free for a party of five, so Lou trusts it.

/

Big tap targets and type you can read at arm's length in a dark room.

Outcome

Lou stopped losing callers and kept the personal touch.

/Every call becomes a request he can see. Nothing gets missed.
/He knows the state of his room in two seconds.
/The app and the phone never give a guest different answers.