Crincoli Communications
← Work Samples

Case Study—UX Content Design

Clearing the Lane

Northbeam · Reconstruction · Fictional Brand

12%Fewer Service Center calls

After about 100 assisted-checkout errors—and their buttons—shipped in production. Compared with the period before, over several months.

Reconstruction. Fictional retailer. Not production UI.
Left: developer modal. Dead-end OK. Right: same moment, recover actions. Reconstruction. Not production UI.

The Challenge

Assisted checkout already had the hard part of retail: an associate, a register, and a customer waiting. The errors made it worse.

About 100 messages in that flow had been written by developers on teams with no content designer. When something failed, a modal stopped the sale and spoke in system language. Associates could not tell what had happened, why, or what to do next. They called the IT Service Desk—often with the customer still in front of them.

The old alerts failed the job of an error: recognize, diagnose, recover. They did not explain the failure in human language, and the only button was a dead end (OK or Dismiss).

The Approach

I led with two other content designers. We owned the messages, the buttons, the consistency rules and the handoff to engineering.

We killed two paths: keep the codes and train the Service Desk, and rebuild the error component as a platform project. What shipped was one content pattern across the set.

Every message had to do three things: say what happened, say why in associate language, and offer a next step. Dead-end OK/Dismiss became a primary recover button and a secondary path when there was one. No error ID on the after-modal.

Pattern examples (reconstructions, not production strings)

Payment did not apply
Before

ERR_TND_0042: Tender application failed. Null response from payment middleware. Button: OK

After

We couldn't apply this payment. Try the card again, or choose a different payment method. Buttons: Try again · Choose another payment

Item never landed on the transaction
Before

Item scan exception. SKU not mapped in current transaction context. Button: Dismiss

After

This item isn't on the transaction yet. Scan it again, or look it up and add it. Buttons: Scan again · Look up item

Checkout timed out
Before

CTX expired. Restart session. Button: OK

After

This checkout timed out. Start the transaction again. The customer has not been charged. Button: Start new transaction

The Result

After the rewritten messages and buttons were in production, IT Service Center calls were compared with the period before. Over several months, calls dropped by 12%.

That's a support-volume change after the language shipped, where less touches by IT Service Desk equaled substantial cost savings for a large, Fortune 50 retailer. It's not a conversion rate, not an A/B on a single string, and not a claim about self-checkout. The reader of the UI was the associate, not the customer.

UX content designError messagingRetail POSContent patterns