All work
16 · back office · ai assistance
Laravel Nova AI copilot
Staff ask about a loan or draft a customer reply without leaving the admin panel, and every draft waits for a person to review and send it.
- Client
- US consumer lender
- Role
- Full-Stack & AI Engineer
- Period
- Devinware LLC · ongoing
Problem
Support staff switched between the admin panel, the contact-centre tool and documents to answer customers, and early AI drafting lived inside the contact-centre plugin.
How it works
- 01Open customer contextStaff open the copilot with a loan or customer attached.
- 02Stream a draftA Node.js agent gathers approved knowledge and account facts; the draft streams into every open tab over WebSockets.
- 03Review and editStaff copy, edit or reject the suggestion.
- 04Staff sendA person sends the reply. Nothing is sent automatically.
What I built
- A custom Laravel Nova tool in Vue 3: streaming chat, loan search and context, a draft-reply mode and a mode for proposing knowledge-base changes.
- Grounded reply drafting: drafts use approved knowledge and the customer’s account facts, personal data is redacted before any model call, and every figure must come from real account data, or the assistant declines to draft.
- A TypeScript Node.js service that takes jobs from Laravel through a Redis queue and streams answers back over a WebSocket server with heartbeats, multi-tab sessions and automatic reconnect.
- An LLM health dashboard in Nova: cost per draft, latency by model version, evidence coverage and how much staff edit the drafts.
- Moved reply drafting out of the contact-centre plugin into this one panel, with tests that guard the removal.
Guardrails
- The assistant drafts; staff decide and send.
- Role-gated: support agents see a reduced mode.
How it was verified
- Pull requests that touch an AI path replay a reviewed evaluation set in CI before merge.
- Component tests cover the chat and drafting modes; Node unit tests cover transport, concurrency and rate-limit retries.
Result
One place for AI help across the back office, with cost and quality visible by model version.
media note
Client systems are under NDA, so this case study uses words and a diagram instead of screenshots.