HW
All work

Case study · Voice AI agent · Function calling

Voice agent for food ordering

A voice agent that answers the phone for a food ordering app: it talks like a person, takes the order and sends it to the restaurant.

Role
Sole developer
Company
24 B.E.Y.
Period
May 2025 - Dec 2025
Status
Pilot

The product

https://orders.example
A customer on a call with the voice ordering agent, next to the restaurant's order screen

Interface redesigned for this portfolio

The problem

Many customers still prefer to pick up the phone and say what they want. For a restaurant, every call takes a person away from the kitchen or the counter, and at busy hours calls are missed or orders are noted wrong.

The goal was an agent that takes those calls: it holds a normal conversation, gets the order right and hands it to the restaurant like any other order from the app.

My role

I built the agent alone at 24 B.E.Y., a German startup based in Tunis: the voice pipeline, the conversation, the functions it calls and the connection to the ordering app.

It reached the pilot stage, in English and German.

What I built

01

A conversation, not a menu of keys

The customer calls and speaks as they would to a person. There is no "press 1": the agent listens, answers out loud and asks only for what is missing.

02

It knows what you mean

Customers rarely say the name printed on the menu. Someone who asks for a "Neptune pizza" gets the tuna pizza: the agent matches what is said to what the restaurant actually sells.

03

Menu and prices from the source

Dishes, options and prices come from the menu data through function calls, and the agent tells the customer the total before confirming.

04

The whole order, with delivery

Items, quantities, options and special requests, then delivery or pick-up, the address and the timing.

05

Recommend, track, change

The agent can suggest a dish or a restaurant, give the status of an order, and modify or cancel it.

06

Into the existing system

The confirmed order is created through the ordering app's API, so the restaurant receives it exactly like an order placed in the app.

How it works

From the first word of the call to the order on the restaurant's side.

  1. 1

    The customer calls

    A phone call, in English or German

  2. 2

    Speech to text

    OpenAI speech models

  3. 3

    The agent decides

    Language model with the menu as context

  4. 4

    Function calls

    Search the menu · build the order · compute the total

  5. 5

    Voice reply

    ElevenLabs text to speech

  6. 6

    Order sent

    Created through the ordering app's API

What was hard

Sounding natural on a phone line

On a call there is no screen to fall back on. Replies had to be short, quick and spoken the way a person would say them, or the customer hangs up.

From what people say to what is on the menu

Nicknames, partial names and descriptions all have to land on a real item. Matching by meaning, then confirming with the customer, is what makes the order right.

Never inventing a dish or a price

A language model will happily make up a pizza. Every item and every price the agent says comes from a function call on the real menu, never from the model itself.

Stack

PythonOpenAISpeech to textElevenLabsFunction callingRAGMongoDBREST API

Other case studies

Want an agent that takes your calls?

I can build a voice agent that talks to your customers and acts inside your own system.