Alot Labs
Menu
Work
Deployments Lab Live Writing
Firm
About Capabilities Services Method Pricing Careers The commitment Compare the alternatives Book the briefing
← All deployments
Case study · Deployment 05

frontline

A 24/7 support agent and a marketing rep, streaming in real time, with a command center where a human can read every conversation the machines are having.

Customer-facing agents Streaming chat Command center Typed API contract
TypeCustomer-facing agents StatusIn production — run at our own expense StackTypeScript · Express · Postgres · React Runs inSelf-hosted today · your VPC on engagement
The problem

Most companies bolt a chatbot onto a website and call it AI support. It answers at machine speed and fails at machine scale, with nobody watching. The requirement is two-sided: customers get an agent that responds instantly and stays on-message; the business gets full visibility into what that agent says on its behalf.

2
agents with separate personas — a support answer and a sales answer never share a prompt
24/7
availability at machine speed — the queue never opens because it never forms
100%
of conversations readable in the command center — every word said in your name
1
API schema from which both ends are generated — front and back cannot drift apart
What it does
01
Two agents, two jobs

A 24/7 support agent handles product questions and troubleshooting; a marketing rep handles the top of the funnel. Separate personas and objectives on one platform — a support answer and a sales answer should not share a prompt.

02
Streams like a person types

Replies stream token-by-token over server-sent events — no spinner, no wall-of-text dump.

03
A command center, not a black box

Live stats and a full conversation browser: every exchange either agent has had, readable by the team it represents.

04
A contract between front and back

The API schema is the single source of truth: types and client hooks are generated from it, so the dashboard, the chat surface, and the backend cannot silently disagree about the shape of a conversation.

Stack: TypeScript monorepo — Express API over Postgres with a typed ORM, OpenAPI-generated schemas and query hooks, React + Vite front end, Claude behind both agents.

Architecture
Customer on your site, any hour Chat surface streams token-by-token, SSE Typed API 1 OpenAPI schema, both ends generated Postgres every exchange stored Support agent product questions, 24/7 Marketing rep top of the funnel 2 personas — never one prompt Command center your team reads 100% of it live stats · full conversation browser
The decisions that matter
100% visibility is the feature

The hard part of customer-facing AI is not generating replies; it is letting the business supervise them. Every conversation either agent has ever had is stored and browsable, and the command center was built first-class, not as an admin afterthought. If a machine speaks in your name at 3am, you can read exactly what it said at 9.

2 agents, because one prompt cannot serve two masters

A support answer optimizes for resolution; a sales answer optimizes for the next step. Blending them in one persona produces the worst of both — support replies that upsell, sales replies that troubleshoot. frontline keeps 2 agents with separate personas and objectives on one platform, so each conversation is judged by its own standard.

The demo tells the truth

Our public demo runs the real interface against recorded conversation data, with streaming reproduced token-by-token — a faithful replay, clearly labeled.

In production

Both agents ran against a live SaaS product surface: real conversations, live stats in the command center, streaming chat end to end. Built and operated by us.

What we would deploy for you

Agents trained on your product and your voice, deployed on your site and channels, with the command center in your team's hands — and escalation to a human wired wherever you draw the line.

Related deployments
Book the briefing Send the workflow