Applied AI operations
From an AI Conversation to a Confirmed Handoff
A helpful conversation is not permission to send someone’s details to a sales team. I built a separate, editable confirmation step and kept its data path distinct from chat analytics.
Senior AI Engineer · M.S. Computer Science, Tsinghua University · See the products I built
In this article · 5 sections
The engineering decisions
- Keep local chat, redacted analytics and submitted contact details in separate data paths.
- Let the visitor edit and explicitly confirm the handoff summary.
- Measure actual lead delivery separately from generating an answer or opening the chat.
The handoff needed its own product flow
The assistant could explain products and point to approved sources, but some questions still needed a person. The tempting shortcut was to send the conversation to the team as soon as the model classified a visitor as interested. That would have conflated conversational assistance with an intentional contact request.
I made the handoff a separate form. It showed an editable summary, separate email and phone fields, product and solution categories, optional room dimensions and the visitor’s message. The interface explained that the team would receive the information only after the visitor selected Confirm and send. The model could help prepare context, while the visitor controlled what was submitted.
Three stores, three purposes
The first version kept recent conversation history in the browser for seven days, capped at 24 messages, with a Clear action. The application server did not retain full conversations or AI answers. Contact details and the confirmed summary entered the lead system only through the submitted handoff form.
Analytics had a different purpose and a smaller payload. With analytics consent, redacted question-level events recorded the result type, page, source identifiers, latency and model. Full conversations, generated answers, names and contact details were excluded. The documented retention cap was 30 days. These are implementation policies, not a claim that every possible downstream system has the same retention behavior.
| Path | Content | Trigger |
|---|---|---|
| Browser history | Recent conversation | Local use, with clear and expiry |
| Question analytics | Redacted event and outcome | Analytics consent |
| Human handoff | Contact details + confirmed summary | Explicit form submission |
Model availability must not gate contact
Provider failure or the daily call limit should not leave the visitor at a dead end. The assistant still returned the closest verified sources and offered human follow-up. The lead form remained useful independently of whether a model answer had just succeeded.
This also made operational failure easier to explain. A generated answer, a saved lead and a notification accepted by the receiving service are different events. Counting chat openings as conversions would hide failures between those steps.
Evaluate the path, not just the prose
The July acceptance work separated deterministic routing checks from live model-answer checks. The handoff itself used a deliberately labeled test lead and verified that the receiving team channel accepted the expected fields. That establishes a tested integration path, not an increase in sales or a customer conversion rate.
Operational reporting tracked no-source answers, fallback outcomes, explicit feedback, actual lead records and notification delivery separately. Those observations can identify whether the knowledge is incomplete or the handoff is broken. A single answer-quality score would not locate either problem.
Make the transfer legible to the visitor
The reusable decision was to make each boundary visible: what stays in the browser, what is measured, what the visitor is sending and whether delivery succeeded. That gave the assistant a useful role in customer support without letting a conversational inference stand in for the visitor’s action.
Project context and evidence
Written from my July 2026 U.S. assistant implementation and test-acceptance records. Public links below support the product and attribution context. Internal project records are summarized, with customer records, credentials, and employer source code omitted.
- GolfJoy U.S. preview ↗
Public product context, separate from the historical acceptance fixtures.
- GolfJoy engineering case study ↗
Public product interfaces and attribution for the delivered projects.
