How a testimonial reply becomes a quote
A customer who fills in the reply form is doing you a favour, and they’re doing it in thirty seconds from their phone. So their reply often has a typo, a run-on sentence, or a half-finished thought. A good testimonial shouldn’t be lost to a missing apostrophe. This post walks through the one place the collector uses AI on purpose: a small, careful pass that tidies the customer’s words into a short clean quote — and a second pass that proves it didn’t change what they meant.
Key takeaways
- When a reply lands, Bedrock Haiku 4.5 trims it into a short clean quote — typos and filler only.
- A second model pass checks the clean quote against the original and flags anything invented.
- If the check fails, the raw reply is kept as-is and routed to a human instead of auto-cleaning.
- The customer always sees the exact final quote before it can be used — no surprises.
- The model never adds praise, never changes meaning, and never makes a lukewarm reply sound glowing.
From reply to quote, step by step
What the tidy pass does — and doesn’t
When a customer submits the reply form, the form’s Function URL Lambda writes the raw text to the tc-replies table and kicks off the cleanup. The cleanup is one Bedrock Haiku 4.5 call with a deliberately narrow job. The prompt says, in effect: “Here is what a customer wrote about us. Fix spelling and punctuation, remove filler words, and make it read as one clean sentence or two. Do not add any praise. Do not change the meaning. Do not make a mild comment sound enthusiastic. Return only the cleaned text.”
So “they turned our mess of a launch into something we’re actually proud of, couldnt recommend more” becomes “They turned our mess of a launch into something we’re actually proud of — couldn’t recommend them more.” Same meaning, same enthusiasm, just readable. What the pass will not do is invent a second sentence, swap “good” for “amazing,” or paper over a complaint. If a customer’s reply is actually lukewarm, the clean version stays lukewarm — and a lukewarm quote rarely makes it past the human in Part 4 anyway.
Why there’s a second pass
Even a careful prompt can drift — a model might tighten a sentence and accidentally strengthen it. So a second Bedrock call does nothing but compare. It gets the original and the cleaned version and answers one question: “Does the cleaned text say anything the original didn’t, or sound stronger than the original?” If the answer is yes, the clean version is thrown away, the raw reply is kept exactly as the customer wrote it, and the whole thing is routed to a human to handle by hand. This is the same belt-and-braces idea used elsewhere in the series: the cheap automated path handles the easy 95%, and anything the check isn’t sure about goes to a person rather than out the door.
Both calls are tiny — a few hundred input tokens and a few hundred output tokens each — so even at a couple thousand replies a month, this is a few cents. The daily tick that finds and asks customers still uses no model at all; the only AI in the whole system lives right here, on the reply.
The customer always sees the final words
The clean quote is never the end of the story. The next post covers the two gates a quote must clear, but the first one matters here: the customer is shown the exact final quote — the cleaned version, not their raw text — and asked to confirm it reads right before it can be used. If the tidy pass changed a word they don’t like, they fix it on the spot. Nobody ever finds their words altered after the fact. The model proposes; the customer disposes.
Next post: how a tidied quote clears the two sign-off gates — the customer’s permission and your approval — before it’s allowed anywhere near your site.
All posts