← Back to Overview
AI-Powered Customer Service Cockpit
CONCEPT

AI-Powered Customer Service Cockpit

A locally running language model as an assistance layer for support teams, with no cloud involved and the AI never deciding on its own

April 2026

Project

AI-Powered Customer Service Cockpit

Technologies Used

Next.jsOpen-Weight LLMvLLMMLXGCPPostgreSQLStreamingLive TranslationContext & Agent OrchestrationPrivacy

Challenge

Support teams handle a large number of recurring requests every day. Each message has to be read, classified, and answered, a repetitive, time-consuming process that quickly becomes a bottleneck at high volume and crowds out the focus on the genuinely tricky cases.

The idea: an assistant cockpit that automatically prepares incoming requests, delivers a short assessment, and proposes a draft reply, as a starting point for the team members, not a replacement. It should let them work faster and more consistently without taking the decision out of their hands.

I set two constraints as guardrails for the concept from the very beginning:

  • Privacy first: inference runs on self-controlled infrastructure instead of handing content to a third-party LLM provider
  • Reliability over false confidence: the AI assists but never invents facts, and every reply stays in human hands before it is sent

Solution

To show that the concept holds up, I built it as a prototype: a cohesive system in which team members work from request to send-off in a single, reactive interface. Three guiding ideas shape the architecture.

Preparation in real time

New requests are automatically prepared in the background, so a short assessment and an editable draft reply are already waiting when a ticket is opened. The output appears visibly as a stream instead of making team members wait for a finished result.

Self-controlled and privacy-friendly

The AI operations run on your own infrastructure using an open-source language model, instead of handing content to a third-party LLM provider. The inference layer is deliberately portable: locally on Apple Silicon (MLX) for development and prototyping, and designed for production as GPU serving (vLLM) on self-controlled cloud infrastructure. Processing stays within your own environment, a prerequisite for use in sensitive contexts.

Assistance, not automation

The cockpit proposes, a human decides. Every reply is reviewed and approved before it is sent, and adjustments to the proposal remain traceable. Speed and accountability are not mutually exclusive.

Structured output instead of free text

The language model does not respond with loose text but with a JSON object against a fixed schema: category, urgency, sentiment, draft reply. The output is validated as it arrives, and if it violates the schema, the call is retried with the validation error in context. This turns a probabilistic model into a building block the rest of the system can rely on deterministically.

Event-driven pipeline

New requests trigger a background worker via the database's native event system (LISTEN/NOTIFY), which processes the preparation by priority. The result flows into the interface as Server-Sent Events, and the same stream is simultaneously persisted to the database via tee(). No polling, no duplicate inference, and the interface is always up to date.

Removing language barriers: live translation

An extension of the concept uses the same local language model as a live translator: customer and agent each communicate in their own language. Incoming messages appear live in the support team's language, and outgoing replies are translated into the customer's language, which is detected per message instead of being fixed in a setting. Two principles keep this robust: the original always remains the unchanged source of truth, with translations living alongside it as their own cached layer. And outgoing translations go through the same human review as any other draft. Since inference stays local, no content leaves your own infrastructure here either.

Code Examples

Results

The prototype shows that the pattern holds up end to end. Routine work is taken off the team's plate, keeping them free for the demanding cases:

  • Automatic preparation of every request with a compact assessment and a draft reply
  • Editable drafts, multilingual and in different tones
  • Self-controlled inference (locally via MLX, scalable via vLLM on GPU), no third-party LLM provider, privacy-friendly
  • Reactive interface with live updates instead of waiting for finished results
  • Live translation in both directions: each side reads and writes in its own language, the original remains the source of truth
  • Human-in-the-loop: traceable approval and adjustment of every reply

The crucial part remains the interplay of human and machine: the AI delivers a good starting point, while responsibility for the final reply stays with the human.

Comments

No comments yet. Go ahead and start.