← Selected work
Work
Customer Operations
Systems architecture

Customer Journey Operating System

A complete communication architecture spanning purchase through long-term customer success.

Operating ModelWorkflow DesignOrchestrationAutomation StrategyLifecycle ArchitectureService Design

Sanitized for publication. Company names, partner names, product names, internal systems, and customer material have been removed. What is shown here is the operating logic.

01

Purpose

Ten stages of a customer relationship, treated as one system rather than a folder of messages.

Rather than treating communications as isolated emails, I designed an operating system that connected every stage of the customer lifecycle into a single coordinated experience. Every communication had a trigger, an owner, a decision point, a business objective, and a customer outcome.

The goal was not simply sending better messages. The goal was reducing uncertainty, improving operational visibility, decreasing inbound support, and creating a customer journey that felt intentional from beginning to end. The messages are the visible surface of the thing. The architecture underneath is the work.

02

The operating model

Start with the shape of the whole operation, not with the first message it sends.

Figure 01 — The lifecycle spine

Ten stages, one continuous state machine. Select a stage to open its operating detail below. Redrawn as structure only: no company, partner, platform, or customer material appears anywhere on this page.

03

The problem

A journey that behaved like a set of unrelated departments.

The customer experience was assembled from parts that had each been designed correctly and had never been designed together. Purchase belonged to one team, fulfillment to another, the physical work to an outside partner, and everything after activation to nobody in particular. Between each of those boundaries sat a gap, and in every gap the customer supplied their own interpretation.

The most expensive gap was a multi-week wait with almost no contact in it. The second was a readiness problem discovered at the door instead of at the desk. The third was a clarification case with no owner and no clock. None of these were writing problems. They were architecture problems that showed up as writing problems, which is why previous attempts to fix them with better copy did not hold.

04

Lifecycle stages

Each stage carries a business objective, a customer objective, a trigger, a decision, and an owner. Expand any stage.

Business objective

Convert a purchase into an operational record that the rest of the system can act on, with every downstream stage able to read the same state.

Customer objective

Know that the order actually landed, and know roughly what happens next without having to ask anyone.

Operational problem

Purchase and fulfillment lived in different systems with different vocabularies. The customer was in the operation before the operation knew it, which meant the first hours after the highest-intent moment of the relationship were the quietest.

Solution

Treat the purchase as the originating business event rather than a marketing conversion. Everything after it inherits one order state, one timeline, and one set of expectations written once.

Trigger

The purchase itself, recorded as the operation's starting event.

Automation

An order record is established and the customer's timeline begins.

Human touchpoints

None required. If a person has to touch this, the design has failed.

Decision logic

Is this a standard order, or one that needs a closer look before entering the normal path?

Expected outcome

The customer is inside a defined journey almost immediately, not inside a queue that nobody has told them about.

Business objective

Prevent the first wave of inbound contacts, which are almost entirely the same question asked in different words: did this work and when will it happen.

Customer objective

Confirmation, a timeline, and a clear next step.

Operational problem

Confirmation existed but stopped at the transaction. It told the customer what they had bought and nothing about what the next several weeks would involve, so support absorbed the difference.

Solution

Rebuild confirmation as the first page of the operating manual: what was received, what happens in what order, who does each part, and what the customer needs to do before anything else can proceed.

Trigger

The order is confirmed.

Automation

A confirmation goes out with a timeline and a first task for the customer.

Human touchpoints

None. Exceptions route to operations rather than interrupting the flow.

Decision logic

Is a reliable estimate available, or does the message fall back to a wider range?

Expected outcome

Uncertainty at the highest-anxiety moment is replaced with a sequence the customer can hold in their head.

Business objective

Establish an authenticated relationship early, so the wait period has a channel and activation later has a head start.

Customer objective

Get in without a password ritual, and find something worth doing today.

Operational problem

Account creation was being asked for at the worst possible moment, weeks later on installation day, in front of a technician who was waiting. Setup friction became a first-impression problem at exactly the wrong time.

Solution

Pull setup forward to the day of purchase, remove the credential step entirely with a simple entry path, and give the empty account something to do while the product is still in transit.

Trigger

The order is confirmed.

Automation

A simple, low-friction way in is issued and kept available if it goes unused.

Human touchpoints

Operations follows up only where setup has stalled to the point it could block the next stage.

Decision logic

Has an account been created within a reasonable window? If not, change the ask rather than repeat it.

Expected outcome

Installation day starts at the interesting part instead of at a sign-up form.

Business objective

Eliminate failed visits. A visit that cannot be completed costs the field cost twice, delays the customer by weeks, and generates the most expensive category of support contact.

Customer objective

Confidence that the day will actually work, and time to fix anything that will not.

Operational problem

Readiness was being discovered at the door. Site and access conditions only surfaced when a technician was already on site, which converted an operational unknown into a customer disappointment.

Solution

A structured readiness capture completed by the customer, with guided prompts and photographs, reviewed against a set of known constraints before anything gets scheduled.

Trigger

The order enters the pre-installation window.

Automation

A capture form is issued, reminders follow if it stalls, and likely constraints are flagged for review.

Human touchpoints

A reviewer judges the submission. Photographs and edge cases are not a rules-engine problem.

Decision logic

Approved, needs clarification, or not viable at this location. Each answer opens a different path.

Expected outcome

The riskiest unknown in the journey is resolved weeks early, in writing, with the customer as a participant rather than a bystander.

Business objective

Convert readiness review into a clean routing decision, and keep clarification cases moving rather than letting them age quietly in a queue.

Customer objective

A plain answer, and if it is not yes, a specific reason and a real option.

Operational problem

Clarification cases were the silent failure of the operation. A submission that was almost right would sit, unanswered, until the customer chased it or gave up. Nobody owned the middle answer.

Solution

Split the outcome into three explicit paths, then give the clarification path its own follow-up rhythm and a clear point at which it gets escalated to a person, whether or not anyone remembers to check.

Trigger

The readiness review is completed.

Automation

A path is selected, relevant guidance is issued, and follow-up is scheduled and tracked.

Human touchpoints

A call within a day on any outcome that is not a yes. Bad news in writing only is not a decision, it is an exit.

Decision logic

What is standing in the way, and what is the alternative we are prepared to offer for it?

Expected outcome

The middle case stops being the case that disappears. Cases resolve or move forward, but they do not sit.

Business objective

Protect the operation through the longest silence in the journey, where uncertainty converts directly into inbound contacts, cancellations, and lost enthusiasm.

Customer objective

Know it is still happening, and have something to do in the meantime.

Operational problem

The stretch of near-silence between approval and scheduling was the single highest-risk gap in the system. The excitement generated at purchase had nowhere to go and decayed into doubt, then into tickets, then into cancellations.

Solution

A defined recurring rhythm with a purpose per beat: confirm motion, orient, prepare the space, build familiarity, report status, then hand off. Plus one conditional interruption if the estimate is going to slip.

Trigger

Readiness is approved, and the rhythm runs until the handoff event occurs.

Automation

A regular sequence keeps the customer informed and updates the estimate everywhere at once when it changes.

Human touchpoints

Operations owns the delay call and any account where the estimate has shifted more than once.

Decision logic

Is the order still inside its expected window? If not, interrupt the rhythm with a corrected date rather than continuing as usual.

Expected outcome

The wait becomes a period of preparation instead of a period of doubt, and the delay conversation happens on the operation's terms rather than the customer's.

Business objective

Hold the experience standard across a field network that the operation does not directly employ, and capture the outcome accurately enough to trigger the right next path.

Customer objective

Know when, know who, know what to do, and know it worked.

Operational problem

The most memorable moment of the relationship was delivered by a partner, and the operation was learning the outcome late and secondhand. A failed visit and a completed visit looked the same in the record for hours.

Solution

Design the day as a sequence with clear owners: confirmation, preparation guidance, arrival window, completion capture, and an exception path with same-day acknowledgement to the customer.

Trigger

The appointment is scheduled, then the completion or exception outcome.

Automation

Reminders, a preparation checklist, and an immediate response once the outcome is known.

Human touchpoints

Field partner performs the work. Operations owns every exception promptly.

Decision logic

Completed, could not be completed, or nobody was there. Three different situations with three different recoveries.

Expected outcome

The handoff to a third party stops being a blind spot. The customer hears from the operation before they think to call it.

Business objective

Convert an installed unit into an actively used one, because everything measured afterward, retention, sentiment, referral, is downstream of first use.

Customer objective

Get one good experience quickly, without reading anything.

Operational problem

Installation was being treated as the finish line. The operation celebrated completion while the customer sat in front of an unfamiliar product with no obvious first move, and the drop-off happened quietly in the first week.

Solution

A short activation window that reads actual first use and adapts to it. One clear action, then a check, then either reinforcement or a smaller ask.

Trigger

Installation is completed, followed by a usage check within an early window.

Automation

Day-zero orientation and a usage check that branches to reinforcement or to a gentler first step.

Human touchpoints

Outreach on accounts still inactive at the end of the window, prioritized by value and signal, not alphabetically.

Decision logic

Has a first real use been recorded? Encourage what happened, or reduce the ask.

Expected outcome

The behavior that predicts retention gets established while the customer still has the energy the purchase gave them.

Business objective

Detect disengagement while it is still reversible, and separate recoverable customers from finalized losses so effort goes where it can change an outcome.

Customer objective

Be noticed for the right reason, and be given a reason to come back that fits their situation.

Operational problem

Disengagement was only visible after it had become churn. By the time a cancellation arrived, the useful window had closed months earlier, and outreach was uniform regardless of why the customer had stopped.

Solution

Continuous signal reading paired with a rule that the response has to match the reason rather than the symptom. Inactivity from a life event is not the same problem as inactivity from confusion.

Trigger

Usage drops, sentiment shifts, support patterns change, or a contract milestone approaches.

Automation

Signals are noticed and prioritized. Machines notice; they do not decide.

Human touchpoints

Operations selects the response and owns the account until the state changes or is closed out.

Decision logic

Recoverable or finalized, and if recoverable, what kind of reason is behind it?

Expected outcome

Predictable operating rhythm around risk instead of a quarterly surprise, and effort concentrated where it changes something.

Business objective

Make sentiment a live input to the operation rather than a quarterly slide, and route each response into the action it deserves.

Customer objective

Be heard by a person when it matters, and be invited to participate when it does not.

Operational problem

Surveys were being collected and reported, but almost nothing happened between the response and the report. Detractors and promoters received the same silence, which taught customers that answering had no effect.

Solution

Sort responses on receipt into distinct paths with different obligations: recovery with clear ownership, a light follow-up prompt, and an advocacy invitation. Then re-measure the same customer to see whether the recovery held.

Trigger

A survey response is received.

Automation

Immediate sorting, ownership assignment where recovery is needed, and a follow-up measurement scheduled.

Human touchpoints

Personal outreach on every low score. Recovery is not a template.

Decision logic

Which path applies, and if recovery, did the score actually move on the follow-up measurement?

Expected outcome

Feedback becomes a closed loop with a measurable recovery rate, and the customers most likely to advocate are asked while they still feel like it.

05

How it runs

Original diagrams, redrawn from the logic rather than from any source material.

Figure 02 — Trigger map
BUSINESS EVENTWHAT THE SYSTEM DOESorder_createdConfirmation, expectation set, app entryaccount_createdSetup path closes, profile prompts beginsurvey_submittedReadiness review queuereadiness_approvedWait-period sequence startssla_breach_predictedProactive delay notice, new estimateappointment_scheduledPreparation checklist, remindersinstall_completedActivation sequence, first-use pathno_usage_7dRe-engagement branchsurvey_score_receivedPromoter, passive, or recovery routecancellation_requestedStatus-aware unwind, four branches
Every communication in the system is bound to a business event. If an event cannot be named, the message does not ship.
Figure 03 — Decision logic at the readiness gate
Readiness reviewApprovedMove to schedulingClarificationEnter reason loopNot viableExplain, offer optionsCLARIFICATION LOOP · REASON TYPES, EACH WITH ITS OWN PATHSurface typeOverhead spacePower accessWall structureTrim obstructionNon-standard environmentEscalating cadence, then a personMessageTextMessageCallMessageEscalate
The middle answer is the one that fails operations. Giving clarification its own reason types, guidance, and clock is what keeps cases from aging.
Figure 04 — Ownership transitions
WHO HOLDS THE CUSTOMER, AND WHENAutomationOperationsField partnerCustomerConfirm, set upSubmit detailsReview, decideWait cadenceSchedule, installExceptionsActivationEVERY DASHED LINE IS A HANDOFF. UNNAMED HANDOFFS BECOME SILENCE.
Four parties hold the customer at different moments. The design work is in the dashed lines, not in the boxes.

Six more figures cover sequencing, automation, escalation, unwind paths, cadence, and stuck-order recovery.

06

What it solved

Operational outcomes, not campaign metrics.

  • Reducing customer uncertainty during the periods where nothing visible is happening
  • Improving transparency into a fulfillment chain the customer cannot see
  • Lowering inbound support demand by answering the predictable question before it is asked
  • Clarifying ownership at every handoff between automation, operations, the field, and the customer
  • Eliminating the communication gaps where cases quietly age
  • Reducing manual work on the cases that never needed a person
  • Improving activation in the window where first use still happens
  • Increasing engagement by giving the waiting period something to do
  • Creating a predictable operating rhythm around risk, delay, and recovery

Figures tied to an identifiable organization are deliberately omitted. The architecture is the publishable part.

07

Why it mattered

The principles this work is built on, and the ones I have carried forward.

  1. 01

    Communication is an operational system

    A message is the visible end of a workflow. If the workflow underneath it is undefined, no amount of rewriting fixes the experience. The work is in the trigger, the owner, and the decision, not in the sentence.

  2. 02

    Every message should exist because a business event occurred

    If a communication cannot name the event that fires it, it is a campaign, not an operation. Events are auditable, testable, and consistent. Calendars are not.

  3. 03

    Automation should reduce uncertainty, not remove humanity

    Automate the facts and the timing so that people are free for the ambiguity, the judgment calls, and the bad news. The point of the machine is to protect human attention for the moments that need it.

  4. 04

    Every customer state deserves an intentional response

    Approved, waiting, delayed, stalled, inactive, unhappy, leaving. Each is a real state that a real person is living in. A state with no designed response is a state where the customer writes their own story.

  5. 05

    Great operations feel invisible because the system absorbs complexity

    The customer should never see the routing logic, the partner handoff, or the exception path. They should only notice that they were never confused and never had to chase anyone.

08

Reflection

The instinct in most organizations is to fix the customer experience by rewriting what the customer reads. That work is visible, fast, and almost never durable, because the confusion is usually produced somewhere upstream of the sentence. The version of this that held was the one that started with the state machine: what states can a customer be in, what event moves them between states, and who is accountable in each one.

What I would do differently is instrument the gaps first. Most of the design energy went into the stages that already had activity in them, when the highest return sat in the two places where nothing was happening at all. Silence is the cheapest thing to fix and the most expensive thing to leave alone.