taitzdesign.com ← All work
Case Study · Chef Vola's · Atlantic City · 2026

Their guests book by phone. I built a line that answers itself, and an app to run the room.

Two interfaces for one restaurant. The guest gets a phone call that takes the booking end to end — name, party, date, time, the table held. The owner gets an iOS app that shows what needs him, seating by seating.

Client
Chef Vola's, a private restaurant
Role
Directed design and engineering agents
Work
Business rules, conversation design, AI phone line, design system, iOS app
Status
Live
Chef Vola's app, Home
HomeWhat needs the owner, and how full the room is tonight.
A reservation request with its verdict
A requestThe verdict, other times to offer, and a card hold for big parties.
Tonight, seating by seating
TonightEvery seating with its covers and tables.
01 · The Problem

Regulars Call. Calls Got Missed.

Chef Vola's doesn't take online reservations. Regulars call. Calls got missed, the room's real capacity lived in the owner's head, and nobody kept a record of guests. A booking platform priced by the cover could not fix any of that, because the problem was never the booking form — it was that nobody was answering the phone.

  • Requests come in by phone, at any hour.
  • The owner checks the app one-handed, mid-service, in a dark room.
  • The kitchen can only take so many tables at once.
02 · Two Interfaces

The Guest Never Sees a Screen. The Owner Never Answers a Phone.

One system, two front doors, and almost nothing shared between how they look. That split is the whole design, and it decided everything after it.

The guest's interface

A voice and twelve keys

No app, no form, no link to tap. Everything the guest can do has to be sayable, and everything they hear has to be remembered long enough to answer. There is no back button on a phone call.

The owner's interface

One hand, in a dark room

Read at arm's length during service, between tables. Big targets, type that survives a dim room, and every screen opens with the verdict, not with the data you'd have to dig through to get there.

What they do share is the one thing that matters: the same capacity rules. The line reads them mid-call and the app reads them on screen, so a guest and the owner are never told two different things about the same table.

03 · The Call

The Conversation Is the Product

The design work was the conversation: which question comes next, what counts as an answer, how long to wait for one, and what the line says when it does not get one.

01
The callA voice answers and holds a five-way menu. Callers say their name and key in the party size, the date and the time.
02
Checked liveThe line reads the real tables while the caller is still on the phone, and offers the nearest open times if the seating is full.
03
Read back, then bookedThe whole request is said back before anything is held. Larger parties get a link to hold the table with a card.
04
ConfirmedThe guest gets a text. The owner sees the booking in the app, on the same capacity the line just read.
Artifact · the conversation map

Every turn the line can take, the keys that move between them, and what happens when a seating is full. Drawn against the running code, not from memory.

04 · The Script

Every Line Written, Including the Ones for Going Wrong

A voice interface has no empty state you can look at, so the script is the screen. It carries the prompt, what counts as an answer, how long the line waits, and the sentence it says when the answer does not come — which is most of the writing, because most of a phone call is recovery.

One turn, as written

“What time works best, {name}? Enter it, then press pound. For seven o’clock, press 7. For seven thirty, press 7 3 0.”

Not a time “My apologies, I didn’t catch that time. Our seatings run from four thirty to ten P M.” — the correction teaches the range rather than repeating the question.

Silence Asks this question again. It never drops the caller back to the greeting.

Artifact · the spoken script

Nine turns, each with its recovery lines and the business rules it has to say out loud. Kept against the deployed code — it drifted once, and the drift is noted on the page.

05 · How I Trained It

How I Trained It to Listen

A few of these were settled before a line was written. Most were learned from the line getting it wrong, in production, on real calls — a spelled name coming back as “tea” and “eye,” a pocket dial looping all night, a trailing pound landing in the next question. Training a voice is mostly listening to what it mishears, then writing the sentence that fixes it.

  • Spoken for the name, the keypad for every number. A phone line mishears digits, and nobody can key a name.
  • The alphabet goes in the recognizer’s hints. Callers with an unusual name spell it, and without the letters in there, T A I T Z comes back as “tea,” “eye.”
  • The better speech model on one field only. The name is the only answer where a mis-hear books the wrong person.
  • Pound means “I’m done” on every question, with no digit cap — so a habitual trailing pound never bleeds into the next question as a stray keypress.
  • Silence re-asks the same question. Waiting too long, or a late pound, never restarts the call.
  • Longer to answer where there is more to weigh: four seconds for the party size, twelve for the read-back, ten for a list of alternatives.
  • The correction teaches instead of repeating. A bad time is answered with the range, not with the same question again.
  • The read-back changes its words when the table can be taken on the spot — “to confirm” rather than “a request, not confirmed until we contact you.” The line never promises what it cannot hold.
  • A caller who spelled their name hears it spelled back. They spelled it because they expected to get misheard.
  • Full is not a dead end: the nearest open times, the waiting list, or another date. No version of that turn ends the call empty-handed.
  • Three silent passes and the line says goodnight. A pocket dial used to loop here forever.

The consent line moved too. It used to play the moment someone pressed one, before there was anything to consent to. Now it plays at the close, on every outcome. That is the only version that is true.

06 · Requests

Every Request Opens With a Verdict

This is where the owner's half begins. Requests are sorted into open, conflicts, and booked. Each one says whether the time works — open, nearly full, or full — with the tables that would seat the party and other times to offer. A name the line only heard is flagged to check the spelling.

Requests, sorted for review
RequestsSorted into open, conflicts, and booked.
A request whose time is open
OpenThe verdict first, then the tables that would seat them.
A nearly full request
Nearly fullNo table seats five, so it offers times that do.
07 · Tonight

Tonight, and the Room Behind It

The owner 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 is set in the app — how many tables of each size, night by night — so availability matches the floor, and the phone line inherits it without being told twice.

Tonight, seating by seating
TonightEvery seating with its covers and tables.
Booking a call-in
Call-inBooking a call-in with real seating times.
The room, table by table
The roomTables of each size, set night by night.
08 · Guests

Guests and Voicemail

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

Guests
GuestsEveryone who has booked.
A guest: rating, notes, visits
A guestRating, notes, and visits.
Voicemail, transcribed
VoicemailTranscribed, with Call back on the card.
09 · How I Built It

Rules First, Then the Voice, Then the Screens

  • Modeled the business rules first: hours, slots, caps, and how a request becomes a booking.
  • Worked out capacity in one place, so the app and the phone line give guests the same answer.
  • Wrote the conversation before any of it was built, and kept the script against the deployed line afterwards.
  • Designed big tap targets and type you can read at arm’s length in a dark room.
  • Wrote the specs and made every design call. AI agents wrote the code. I reviewed every screen before it shipped.
10 · What Happened

The phone line and the iOS app are live. They replaced a $30,000 a year OpenTable contract the owner had been using for the backend only. Every call becomes a request the owner can see, and the room's capacity is written down for the first time.