The most useful AI I built wasn't customer-facing

When people talk about putting AI in a business, they almost always mean the front of the house. A chatbot that answers customers. A recommendation widget. Something a shopper can see.

That’s where the attention goes, and I understand why. It’s the visible, demoable part. It’s the thing you can screenshot.

The two AI systems I built that actually changed how much work got done were neither of those. Nobody outside the team ever saw them.

They sat in the back, cleaning up things humans didn’t want to clean up and assembling things humans didn’t have time to assemble. That turned out to be worth far more than anything I could have pointed a customer at.

Here are both, concretely, because the specifics are the whole point.

One: turning email praise into displayable reviews

Here’s a thing that surprised me. A lot of our best reviews never came through a review form. They came in as emails.

Customers would just reply to a message, or write in, to say how much they loved the product. That’s the most genuine kind of praise you can get. And it was sitting uselessly in an inbox where no future customer would ever see it.

The problem is you can’t just paste someone’s email onto your product page. It’s full of things that shouldn’t be public: the person’s full name, their email address, sometimes their order details or something personal they mentioned in passing.

The raw text is messy too. Email signatures, quoted threads, typos, formatting that looks wrong on a website.

So someone would have to read each one, get the customer’s permission to use it, strip out everything private, tidy the wording without changing the meaning, and only then put it up. Doing that by hand, at any volume, is the kind of task that just doesn’t get done.

So I built a pipeline around it. We collected the email reviews, and only used ones where the customer had given consent to display them.

Then a language model, Gemini, did the cleanup pass on each one:

  • Strip out personal information
  • Remove the signature and quoted-reply clutter
  • Fix obvious typos
  • Format it into a clean, consistent review, without rewriting the customer’s actual words or inflating the sentiment

It also scored each one against a simple policy, so anything unusable got flagged rather than published. What used to be an inbox nobody had time to mine became a steady supply of real, clean, consented reviews on the site.

The honest framing is about ratios. Most of these emails were straightforward once the private bits were removed. A small number needed a human to look closely.

The model handled the bulk pass so a person only had to review the flagged minority. The human stayed in the loop on consent and on the edge cases, which is exactly where a human should be. The model did the tedious middle.

Two: a pre-call briefing tool that made agents sound like they knew you

The second one is less obvious and, I think, more useful.

When a support agent or VA is about to call a customer, there’s a chunk of dead time at the start of every call. Or worse, right before it, where they dig through tabs to figure out who this person is.

What did they order. Did something go wrong. Have they contacted us before. Is there anything I should know.

It’s a few minutes of scavenging per call, done by someone who is good at talking to people and shouldn’t be spending their time as a search engine.

So I built a tool that does the scavenging first. Before the call, Gemini reads the scattered context, order history, prior tickets, and the order notes, and writes a short brief. Here’s who they are. Here’s what they bought. Here’s the likely reason for the call. Here’s anything worth knowing going in.

I used the fast, cheap tier of Gemini on purpose. The thing runs on every single call, and a model that’s good enough and costs almost nothing per run beats a smarter one you can’t afford to call constantly.

The time saved is the boring benefit. The real one is warmth.

Shopify order notes are full of human detail that nobody has time to catch live. A note might say the order is a birthday gift for the customer’s mom.

The brief surfaces that, so the agent can open with “and happy birthday to your mom” instead of a flat “how can I help you.” The customer feels known.

That tiny touch, knowing it’s a gift, knowing there was a delay last time, knowing they’re a repeat buyer, is the difference between a transaction and a good call. It was sitting in the data the whole time. The agent just couldn’t dig it out fast enough on their own. Now they don’t have to.

What actually made them work

In both cases the model was the easy part. Getting Gemini to clean up a review or summarize some customer context is close to trivial now. The work was everywhere around it.

For the review pipeline, the sensitive part was consent and privacy. The rule was simple and non-negotiable: only display reviews from customers who agreed to it, and never let a shred of personal information through.

Getting a model to reliably strip names, emails, and stray personal details took real care, because a single leak is a real problem, not a cosmetic one. Defining “clean” precisely was most of the job.

For the briefing tool, the hard part was the plumbing. Pulling context from several different places, deciding what actually belongs in a brief versus what’s noise, and formatting it so an agent can absorb it in five seconds rather than read a report.

None of that is AI. It’s ordinary data engineering, and it’s the part that decides whether the clever bit ever does anything useful.

The model was maybe ten percent of each project. The other ninety was making it fit a real workflow that real people depended on.

Where they broke

I want to be honest about the limits, because the failures taught me more than the wins.

The review model was reliably good at the obvious cleanups and occasionally too eager. Once in a while it would smooth a customer’s wording enough that it stopped sounding like them, or trim a detail that was actually part of the charm.

The fix was to constrain it. Clean and redact, don’t rewrite.

On the privacy side I never fully trusted it to be the only line of defense, so a human stayed on the consent step. A confident model is not a careful one, and with personal data you don’t get to be wrong.

The briefing tool had a subtler failure. It would sometimes state a guess as confidently as a fact. A wrong assumption about why the customer was calling, in the same tidy tone as the real details.

An agent who trusted it too much could walk in mis-oriented. Or worse, cheerfully wish a happy birthday based on a note the model misread.

The fix was to keep facts and guesses visually separate in the brief, so the agent knew which parts were solid and which to confirm in the conversation.

The lesson I keep coming back to

The version of AI that gets talked about is the one that performs for an audience. The two that earned their place for me did the opposite.

They removed a tax, quietly, on work nobody had time for. Praise stuck in an inbox that finally made it to the site. A call that opens with a genuine happy-birthday instead of a fumble.

I think that’s where a lot of the real value is right now, and it’s underrated precisely because it isn’t visible. There’s no demo, nothing to screenshot.

You just notice, a few weeks in, that a task nobody could keep up with is suddenly handled. And that the people who used to grind through it are spending their attention on the part that actually needed a person.

It’s not exciting to look at. It just works, and it keeps working, which is more than I can say for most of the AI built to be looked at.

Nikhil Sharma

Nikhil Sharma

I'm Nikhil Sharma. I write about Shopify, paid ads, email, and the systems I build for the DTC brands I work with.