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 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 12%.

That is a support-volume change after the language shipped. It is 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