Comms manager

An agentic system for generating, evaluating, and routing multi-channel customer communications at enterprise scale

The Problem

It shouldn’t take four to six weeks to send a customer email. But at enterprise scale, across multiple brands — Expedia, Hotels.com, Vrbo — with separate requirements for email, SMS, push notifications, and in-app messaging, that was the reality. The bulk of that time wasn’t spent making communications better. It was eaten by design reviews, legal sign-offs, compliance checks, and routing content to the right people in the right order. None of that overhead was creating value for the traveler on the other end.

The deeper problem was that communications were being managed individually rather than holistically. Each email, each push notification was treated as a standalone artifact. Nobody was looking at the full journey a customer received across every channel and asking: does this actually make sense as a whole? Are we telling travelers the right things at the right time? Are we genuinely serving them, or just generating volume?

The Invention

Architecture diagram

UMP Comms Manager is a fully agentic communications pipeline that accepts a natural language prompt or a JIRA ticket URL and generates all four channel formats simultaneously — email, SMS, push notification, and agent payload. Each channel is scored automatically by a built-in evaluation system called Helm, which assesses quality and compliance using the organization’s own definition of “good.” Based on those scores, the system determines a risk tier and automatically routes content to the appropriate reviewers — Legal, Design, Compliance — generating a complete approval package along the way.

Helm wasn’t invented for this project. It was a content evaluation model the content design team had already developed internally — and it was brilliant. Recognizing its value and integrating it into the agentic pipeline gave it a context where it could operate at scale, automatically, across every piece of content the system generated. That’s the architectural insight that made the whole system coherent.

The goal wasn’t just to make content generation faster. It was to create a system that could look at an entire customer communication journey and ask whether we were actually doing right by the traveler.

The Build

Product screenshot

The system was built as a production-architecture multi-agent system using LangGraph 1.0.2 for orchestration, with a Next.js 16 and React 19 frontend, OpenAI GPT-4o as the underlying model, and CopilotKit’s AG-UI protocol for the human-AI interaction layer. State management runs on Zustand; the monorepo architecture uses Turborepo with pnpm workspaces.

The parallel generation architecture — all four channel agents running simultaneously rather than sequentially — wasn’t just an efficiency decision. It created the conditions for holistic evaluation. When email, SMS, push, and chat are generated and scored together, patterns emerge. You can see where a message is working across channels and where it isn’t. You can start asking whether a given piece of content even belongs on every channel at all.

This was built using AI-assisted development tools — Claude Code and Cursor. The ability to take a complex multi-agent architecture, learn LangGraph from scratch, and ship a working production-quality system using modern AI tooling is the capability itself. That’s what building looks like in 2025 for someone who knows how to work with these tools effectively.

The hardest parts weren’t the agent architecture — that became clear once the workflow was properly mapped. The real friction was in the integrations: connecting clean new architecture to existing Expedia systems that hadn’t been designed with this kind of automation in mind.

The Vision

UMP Comms Manager was weeks away from its internal presentation when a layoff ended the work before it found its audience. It’s included here as a case study because of what it demonstrates, not because it shipped.

The short-term value was clear: reducing a four-to-six week process to something closer to two weeks, while improving consistency and compliance across every piece of content. The longer-term vision was more significant. Once you can compose communications reliably at scale across channels, the foundation exists for genuine one-to-one personalization — the right message, on the right channel, for the right traveler, at the right moment in their journey. That’s not just an efficiency play. That’s a fundamentally different relationship between a travel brand and its customers.

Previous
Previous

Trip Matching

Next
Next

The Investigation