My role: Lead UX Designer & Frontend Developer · 2019–2025
The Modern Milkman

Reducing customer service contacts by 70%

How a self-serve issue reporting flow transformed a scaling CS crisis into an automated resolution system, giving customers control and freeing an entire support team.

CS contact rate before

0 %

CS contact rate after

80 %

Time to see impact

1 WEEK

CS contact rate before

0 %

CS contact rate after

80 %

Time to see impact

1 WEEK

01 - The Problem

A company scaling fast. A support team not scaling with it.

The Modern Milkman grew from a small Lancashire milkround to a subscription grocery service with hundreds of thousands of customers across the UK and US. As the customer base expanded, delivery complexity grew, and with it, the volume of people contacting customer service about missing items, damaged goods, and delivery instructions not being followed.

By 2022, around 80% of customers who had a delivery issue were reaching out directly to the support team, by phone, live chat, or email. Each contact required a human agent to investigate, verify, and resolve. It wasn’t sustainable.

"The support team was handling thousands of contacts for problems that followed entirely predictable, resolvable patterns. Every one of those conversations could have been a flow."

The challenge wasn’t just operational. Customers wanted speed. Waiting on hold or in a chat queue to report a missing pint of milk is a frustrating experience. The solution needed to serve both sides: reduce load on the team while making resolution genuinely faster and easier for the customer.

02 - Discovery

Understanding the shape of the problem

Working alongside the product and customer service teams, I analysed the most frequent contact reasons. Three categories dominated: missing items, damaged goods, and delivery instructions not being followed (for example, a driver not leaving an order in a safe place, or leaving items somewhere they’d be found by someone else).

 

Each of these had a clear resolution path. Missing items: credit or redelivery. Damaged goods: credit or redelivery. Delivery instructions not followed: a formal record of the issue plus credit or future redelivery. There was no ambiguity in how the business wanted to respond, the resolution logic was already well-defined. What was missing was a way for customers to trigger it themselves.

 

I also looked at where customers were going when they had a problem. Most landed on the Help page, specifically to find a phone number or live chat button. That became the intervention point.

03 - Design

A guided flow, not a form

The core design principle was simple: don’t make customers think. Each step should present one clear question. The flow needed to feel helpful, not like you were filling out a complaints form.

1. Entry point: "Report an Issue"

Rather than burying this in a menu, a clear CTA button was added to the Help page. Customers chose the specific delivery they had an issue with, rooting the conversation in a real order rather than an open text field.

2. Issue categorisation

Customers selected the type of problem from a short list: missing items, damaged items, or delivery instructions not followed. This branched them into the right flow immediately.

3. Item-level detail

For missing or damaged items, customers selected exactly which products from their order were affected, no free-text guesswork. They then described what happened in a free-text field, keeping context human without relying on it for resolution logic.

4. Resolution choice

Customers chose their preferred outcome: account credit (applied instantly) or redelivery (with a date selector). Giving the customer this choice was important, it made the resolution feel fair and personal rather than automated.

5. Automated confirmation

Credit was applied to their account immediately. Redeliveries were scheduled without any agent involvement. Customers received confirmation. The loop closed without a single human in the chain.

For delivery instruction issues, the flow captured what the driver had failed to do, both as a record for the business and as context for any follow-up. This branched to a goodwill credit automatically, with additional compensation options if items were also damaged as a result.

04 - Constraints & Trade-offs

Shipping an MVP, not a masterpiece

As with most real product work, the path from ideal to shipped involved compromise. Stakeholder alignment, technical feasibility, and the pressure to test quickly all shaped the final scope. An MVP was agreed with the intention to iterate once we had real usage data.

 

This is a discipline I’d applied across multiple projects at The Modern Milkman, identifying the minimum version that genuinely tests the hypothesis, shipping it, and using real behaviour to drive the next iteration rather than assumptions. The self-serve flow was a clear case where getting something out quickly was more valuable than holding for a perfect solution.

05 - Outcomes

Impact visible within a week

The drop in CS contact rate was measurable within days of launch. Customers adopted the self-serve flow quickly, when the path to resolution is faster and more convenient than calling or chatting, the choice is straightforward.

CS contact rate: 80% → 10%

The overwhelming majority of delivery issue contacts were eliminated. The support team could focus on genuinely complex cases rather than high-volume, predictable queries.

Faster resolution for customers

Credit applied instantly. Redeliveries arranged without waiting. Customers got their resolution in under two minutes rather than waiting in a queue.

Richer issue data

Structured reporting meant the business could see patterns in delivery issues, which drivers, which routes, which product categories, in a way that unstructured CS logs never allowed.

Scalable by design

As the customer base continued to grow, the CS contact volume didn't grow with it. The system scaled with the company without requiring proportional headcount increases.

For delivery instruction issues, the flow captured what the driver had failed to do, both as a record for the business and as context for any follow-up. This branched to a goodwill credit automatically, with additional compensation options if items were also damaged as a result.

06 - Reflections

What I took away from this project