Here's something I didn't know before working at 11Sight: the average car dealership service department misses a significant chunk of inbound phone calls during peak hours. Not because they don't care. The phones ring off the hook at 8 AM when everyone's dropping off their car, and again at 5 PM when everyone's picking up. Every missed call is a missed service appointment, and every missed appointment is lost revenue.
The idea was simple: build an AI agent that answers the phone, has a natural conversation with the customer, and books, cancels, or reschedules service appointments. The execution was not.
What the agent actually does
The 11Sight AI agent is a voice-based conversational system that handles the entire appointment lifecycle. A customer calls the dealership, the agent picks up, greets them (by name if they're returning), gathers the relevant information (vehicle make, model, what's wrong with it), finds an available time slot in the dealership's calendar, and confirms the appointment. Sends a text confirmation. If the conversation gets too complex or the customer asks for a human, it hands off to a live agent without dropping the call.
Under the hood, this means orchestrating a few components: speech recognition transcribing the caller's words in real time, natural language understanding extracting intent and entities (is this a booking, a cancellation, or a question about parts?), dialog management keeping the conversation on track while handling the unpredictable paths real humans take, and integration with the dealership's management system to read and write actual appointments.
The backend was Rails, Redis for session state and real-time pub/sub, backed by Postgres. I led development of the AI agent stack: the conversational layer, the integration logic, and the pipeline that turned raw speech into structured appointment data.
What breaks at scale
Building an AI agent that works for one dealership is a demo. Building one that works for sixty is a product.
The first thing that breaks is the assumption that callers speak clearly. They don't. They mumble, they have regional accents, they're calling from noisy service bays, they put the phone down and yell at their kid mid-sentence. The speech recognition layer needs to handle all of this, and "handle" in practice means "fail gracefully and ask for clarification instead of hallucinating."
The second thing is dialog flow. In a demo, conversations follow a happy path: "Hi, I'd like to book an appointment." "Sure, when would you like to come in?" Real calls are chaos. People open with their VIN number. They launch into a five-minute monologue about the noise their car makes. They ask about pricing before they've said what service they need. The dialog manager has to absorb all of these entry points and still navigate to the same outcome: a confirmed appointment.
Third: integration. Every dealership uses a different DMS (dealer management system), and they all have different APIs, different data models, different ideas about what an "appointment" even is. Normalizing across sixty backends while maintaining reliable reads and writes is a challenge that has nothing to do with AI and everything to do with boring, unglamorous systems integration.
Why this matters beyond car dealerships
By the time I left 11Sight, the AI agent had expanded to more than sixty dealerships and become one of the startup's main selling points. What started as a side experiment, not even the company's primary focus, became a core product.
The bigger picture here is about where AI agents are going. The car dealership use case is narrow, but the pattern is everywhere: millions of businesses where the front line of customer interaction is a phone call, and most of those businesses can't staff enough humans to pick up every time. Voice AI agents aren't replacing customer service. They're covering the gaps that have always been there.
The core challenge of agent engineering — how do you build a system that understands enough about a specific domain to be actually useful, not just conversationally fluent? — is what carried over to my next role. The difference between a chatbot and an agent is that an agent does things. It reads calendars, writes appointments, sends confirmations, escalates when it should. That integration with real systems and real consequences is what makes agent engineering hard, and interesting.