Case Study

    Ultra-Soft.co.uk

    An AI Sales Agent That Can't Make Things Up

    We built Ultra Soft, a UK water treatment company, a custom AI agent that runs their entire catalogue in live chat: sizing softeners, routing to the right filters, quoting live prices, and capturing commercial leads. Its defining feature is that every price, product code, stock level, and link comes from a real catalogue lookup, enforced by code, not by prompt instructions.

    1,035 tests passing
    100% accuracy gate
    550+ products handled
    Zero broken links
    Cross-model validated
    Ultra-Soft Water Softeners Logo

    The Challenge

    Generic AI chat invents prices, recommends discontinued products, and confirms policies that do not exist

    A deeply technical catalogue of 550+ products: softeners, filtration, reverse osmosis, UV, salt, resin, and spare parts

    Correct sizing is an engineering question: household occupancy, pipe size, boiler type, and local water hardness

    Prices, stock, and sale offers change in WooCommerce daily, so any answer written by hand goes stale

    Commercial enquiries from hotels and factories arrived in the same chat as small salt orders, with no routing

    Zero tolerance for a wrong price or a fabricated product: one bad answer costs a sale and the client’s trust

    Our Solution

    A full-catalogue sales agent covering every category: 550+ products, sized and matched to each customer’s situation

    Live WooCommerce pricing, stock, and sale prices overlaid on every answer, with the saving called out

    Deterministic sizing logic in tested Python: occupancy limits, install-kit selection, contaminant-to-filter matrix

    Commercial lead capture for hotels, laundrettes, and factories, straight into a pipeline with an admin view

    Human handoff inside Zoho SalesIQ, the live-chat tool their team already uses, with the full transcript carried over

    A second AI from a different model family reviews every answer before it reaches the customer

    01 / How It Works

    Facts It Can't Fake

    The architecture is the product. Three layers stand between the model and the customer, so a wrong price or an invented product simply cannot reach the chat.

    Layer 01

    Facts come from tools, not memory

    The conversational model can only get prices, SKUs, stock, specs, and links by calling catalogue tools during that same turn. It never sees the full catalogue and never states a fact it did not fetch. Grounded in tool output, or it does not ship.

    Layer 02

    Business rules live in tested code

    Every rule was ported from prompt text into deterministic Python with unit tests pinning each clause, plus a plain-English spec the client can read 1:1. Prose rules degrade as catalogues grow. Tested code does not.

    Layer 03

    A different model audits every answer

    A Claude validator from a different model family checks each response before the customer sees it: every price must trace to a tool result, every link must be on an allowlist of real URLs, and prices a customer asserts get flagged, not accepted. A different family means no shared blind spots.

    Under the hood

    Conversational AI
    OpenAI GPT-4o in a tool-calling agent loop (model swappable by config)
    Response validation
    Anthropic Claude reviewer (cross-model-family) plus server-side SKU, price, and URL checks
    Backend
    Python / Flask, PostgreSQL
    Commerce
    WooCommerce (CSV bulk sync + REST live pricing), live sitemap URL resolution
    Chat surface
    Zoho SalesIQ webhook bot with native operator handoff, plus a standalone web demo
    Testing
    pytest (1,035 tests), rule-derived oracle gate, live scenario batches, adversarial audits

    02 / The Proof

    Proof, Not Promises

    Every number here is backed by the repo's own test suite and reports. Nothing is a claim we cannot run on demand.

    1,035

    automated tests passing across rules, adapters, guardrails, and regression pins

    100%

    on an 89-case accuracy gate built from the client’s own business rules, run on every change

    144

    customer sizing profiles verified end to end against the client’s own business rules

    550+

    products with prices, stock, and links pulled live from the catalogue on every answer, never typed by hand

    136

    live conversation scenarios run end to end, with 32 fixes shipped from what they surfaced

    0

    broken product links, verified against the live site and pinned so it cannot regress

    03 / Admin Dashboard

    Command Centre

    Custom-built admin dashboard for managing 1,049 products, tracking 2,896 AI conversations, and monitoring agent performance.

    UltraSoft Admin Overview showing products and conversations stats

    Overview Dashboard

    Real-time stats: 1,049 products synced, 2,896 AI conversations handled.

    UltraSoft Products management with SKUs, prices and categories

    Product Management

    Full inventory control with SKUs, pricing, and category management.

    UltraSoft Conversations panel showing AI agent responses

    Conversations

    Review AI interactions with detailed product recommendations.

    04 / The Engineering

    Built to Be Doubted

    Trust in production is not a prompt instruction. It is architecture, automated exams, and adversarial pressure applied relentlessly before launch.

    A rival model checks its work

    Every answer is audited by a second AI from a different model family before the customer sees it. Prices must trace to a live catalogue lookup, links must be on an allowlist of real URLs, and anything unverified is blocked, not shipped. Two model families means no shared blind spots.

    An exam on every change

    We turned the client’s business rules into an 89-case accuracy exam that runs on every single code change, and the agent needs 100% to ship. Underneath it, 1,035 automated tests pin every rule, guardrail, and past fix so nothing quietly regresses.

    Red-teamed before launch

    We attacked our own agent with adversarial audits and 136 live scenarios built to make it lie: invented policies, fake discounts, wrong prices asserted with total confidence. Thirty-two fixes shipped before a single customer ever saw it.

    05 / Safe Delivery

    Shipped Without Risking Production

    The client's live operation never paused while we built. Deployment discipline is part of the product.

    Isolated environments

    Everything is built in its own isolated environment with separate routes, database tables, and ports. Nothing touches the client’s live operation until it has earned the right to.

    Gates before go-live

    New behaviour has to pass hundreds of pinned test cases before cutover. If a change alters a single answer, the suite catches it before a customer ever could.

    Additive, never destructive

    Proven data and logic are never edited in place. Changes land alongside what already works, so there is always a known-good state to stand on.

    Reversible cutover

    Go-live is a documented two-step plan with a rollback that takes minutes: one environment variable flips the system back to its previous state.

    06 / Interactive Demo

    Try UltraAgent Yourself

    Ask about household size, water hardness, or a specific product. This is the real agent, not a video: every price, product, and link in its answers is fetched live from the catalogue as you chat.

    UltraAgent · Live Demo
    Live PricingUltra Soft logo

    Every price and link fetched live from the catalogue · validated before display

    07 / AI Search Visibility

    Getting Ultra Soft Cited in AI Search

    Beyond the AI agent, we're positioning Ultra Soft's content so ChatGPT, Google AI Overviews, and Copilot recommend them when users ask about water softeners.

    What we're doing

    Mapped the "money queries": prompts like "best water softener for hard water area" that trigger AI answers
    Building citation-ready pages with answer-first content, comparison tables, and structured FAQs
    Schema markup and internal linking plan so AI engines can parse and trust the content
    Trust upgrades: enhanced About page, expert author profiles, and verified customer proof
    AI visibility tracking dashboard to monitor citation appearances across AI platforms

    Why it matters for Ultra Soft

    When someone asks ChatGPT "What's the best water softener for a 4-person household?", Ultra Soft should be the brand that gets cited. That's a customer with high purchase intent, ready to buy.

    With 550+ products and deep domain expertise already powering UltraAgent, the knowledge base is there. We structure it so AI platforms can find, trust, and reference it.

    08 / Any Industry

    We Build This for Any Industry

    The pattern, not the plumbing, is the product. Any business with a catalogue, price list, or service menu has the same failure mode: generic AI chat will misquote it. The fix is architectural, and it travels.

    Insurance

    Eligibility rules turned into an automated exam the agent has to pass on every change.

    Med-spa

    Treatment matching grounded in a real menu, never the model’s imagination.

    Industrial parts

    Deep catalogues where a wrong part number means a costly return.

    Property lettings

    Live availability and pricing pulled from the system of record, never guessed.

    Whatever your source of truth is today, an ERP, a legacy database, or a hand-tuned spreadsheet, we connect to it, overlay live data, and turn your business rules into an automated exam the agent has to pass on every single change. That is what makes it safe to put in front of your customers.

    Want an Agent That Can't Make Things Up?

    Let's talk about building a tool-grounded, rule-driven AI agent for your catalogue, priced and proven the same way.