AI customer support agent for classifying tickets, finding knowledge-base answers, and drafting replies.

Context
Customer support teams are expected to reply quickly while still giving accurate, consistent, and context-aware answers. That pressure becomes harder when repeated questions arrive across billing, account access, onboarding, product issues, cancellations, and technical problems. The work is repetitive, but the consequences of a wrong answer can still be meaningful for the customer.
A support inbox can look simple from the outside, but each ticket carries operational context. An agent needs to understand the customer's intent, urgency, account state, related policy, and whether the issue can be solved directly or should be escalated. If that information is scattered across old tickets, knowledge-base pages, notes, or chat history, the agent starts from a weak position every time.
Zirvello was built around that gap. The project treats AI as a preparation layer for human support work, not as a replacement for the agent. Its purpose is to make tickets easier to classify, research, draft, review, and resolve while keeping the final customer-facing decision in human hands.
Problem
The first slowdown in support often happens before the answer is written. A customer may describe an issue vaguely, choose the wrong category, omit account context, or mix multiple concerns in one message. Agents then spend time identifying the intent, deciding urgency, and searching for relevant policy or troubleshooting guidance before they can respond.
That manual triage creates inconsistency. One agent may find the correct article quickly while another gives a less complete answer. Escalations can also lose context when the next person cannot see why the case was flagged, what was already checked, or which information supported the previous response.
The product problem was to reduce that preparation burden without hiding the reasoning. A useful support system should structure the ticket, retrieve relevant knowledge, suggest a draft, and preserve enough context for the agent to accept, edit, or escalate the response with confidence.
Solution
Zirvello gives each incoming ticket a guided path. The system classifies the issue by topic, intent, and urgency, then retrieves matching knowledge-base context before generating a response draft. The draft is not treated as a final answer; it remains a reviewable artifact inside the ticket workflow.
The agent can inspect the suggested answer, review the supporting context, change the tone, correct missing details, or escalate the case when the issue needs a specialist. This keeps AI assistance close to the work that slows agents down while preserving human accountability for customer-facing communication.
The product is strongest when framed as support operations software. The value is not only faster text generation. The value is a clearer workflow where tickets become classified work items with context, draft replies, escalation states, and measurable support activity.
My role
I created Zirvello as a solo full-stack MVP, covering the product framing, support-domain workflow, interface structure, backend logic, and data model. I treated the build as an operations system rather than a generic chat interface because customer support needs ticket state, review flow, escalation, and reporting.
The implementation scope focused on the complete support loop: ticket intake, classification, urgency labeling, knowledge-base retrieval, AI draft generation, agent review, escalation handling, status updates, and support analytics. Each feature was chosen because it contributes to how a real support queue moves from raw customer message to resolved case.
The key product decision was to keep the agent in control. A fluent generated reply is not enough in support. The system has to show the source context, preserve edits, expose status, and make escalation easy when the safest answer is not an immediate generated response.
Product workflow
The workflow begins when a customer message enters the system as a ticket record. That record can carry the original message, customer context, category, urgency, status, retrieved knowledge references, response draft, review outcome, and escalation state. Treating the ticket as a structured record makes the support process easier to inspect than a plain inbox thread.
After intake, the system analyzes the issue and retrieves related knowledge-base material. The goal is to give the agent a strong first read: what the customer is likely asking, how urgent the issue appears, and which internal guidance may apply. The generated draft then uses that context as a starting point instead of acting like an unsupported answer.
The agent reviews the draft, edits it if needed, resolves the ticket, or escalates the case. Once the ticket moves forward, the system keeps the outcome attached to the record so team leads can later review issue patterns, escalation volume, response quality, and recurring support gaps.
System architecture
The MVP is organized around a web dashboard, backend ticket logic, PostgreSQL-style support records, knowledge-base data, vector retrieval, response drafts, and analytics views. The frontend makes the queue, review flow, and ticket detail screens usable, while the backend coordinates classification, retrieval, and generated output.
The core records include tickets, customers or request metadata, categories, urgency levels, knowledge-base references, generated drafts, escalation states, review outcomes, and resolution status. That data model is what makes the product feel like a support operations tool instead of a one-off prompt wrapper.
Retrieval is an important boundary in the system. A draft response is more trustworthy when the agent can see which knowledge-base content influenced it. That makes the answer inspectable and gives the agent a way to catch missing context, outdated policy, or cases where escalation is safer.
A production version would need stronger evaluation sets, permission rules, support-tool integrations, audit trails, and monitoring for answer quality. The MVP focuses on proving the workflow pattern first: intake, classify, retrieve, draft, review, escalate, and learn from support activity.
Current status
Zirvello is a working MVP that demonstrates a human-reviewed support triage flow. It shows the core product behavior needed to move tickets from raw customer messages into classified, context-backed, reviewable support work.
The current version is best understood as a functional proof of concept for support operations. It is not positioned as a deployed support platform with live customer traffic, but the workflow is concrete enough to demo, evaluate, and extend with realistic ticket data.
The next level of maturity would involve testing with representative support tickets, measuring draft usefulness, checking classification quality, adding integrations with existing helpdesk tools, and building clearer evaluation around when the system should recommend escalation instead of drafting an answer.
Outcomes
The main outcome of Zirvello is a support workflow where tickets are no longer only raw messages. They become classified work items with issue context, retrieved references, draft replies, status movement, and escalation paths that can be reviewed by an agent.
From an engineering perspective, the project strengthened my work with AI-enabled workflow design, retrieval-backed responses, ticket data modeling, generated-output review, and dashboard interfaces where users need to inspect the system's reasoning before acting.
From a product perspective, Zirvello shows that useful support AI should reduce repetitive preparation while keeping responsibility with the support agent. The strongest value is not automatic replying; it is helping humans respond faster with better context.
Reflection
Zirvello taught me that AI support products need restraint. It is tempting to design the system around automatic replies, but customer communication often involves policy, empathy, account context, and edge cases that should remain reviewable.
The project also made source context feel central. A support draft is much more useful when the agent can see why it was suggested, what material it used, and where the answer may need human judgment. Without that visibility, AI output can feel fast but difficult to trust.
The broader lesson is that AI features become more credible when they are embedded inside a workflow with records, statuses, review states, and clear user control. Zirvello gave that idea a concrete support-operations shape.