AI that answers shoppers from your own data, with your staff in control

Shoppers ask the same questions all day: is it in stock at my store, what are the dimensions, do you deliver, what are your hours. A retailer with many locations needed those answers to be instant and correct, and its staff needed help keeping hundreds of product pages and policy answers up to date.

We built a set of AI features into the retailer's Mage-OS and Hyvä store. The AI writes answers and drafts content. The store's own data supplies the facts, and staff decide what is published.

The challenge

Off-the-shelf chatbots answer from what a language model "knows". For a retailer that is the wrong source: stock, prices and policies differ by location and change every day.

  • Answers had to be local: a product can be on the floor in one store and unavailable in another, and each location has its own hours.
  • Wrong answers cost sales: a confident "we don't carry that" sends a shopper away, and an invented return policy creates a dispute.
  • Thin product data: the AI can only answer what the catalog says, and many products had little more than a name and a price.
  • The storefront could not slow down: AI replies take seconds. A busy chat could not be allowed to tie up the servers that render product pages.
  • Customer privacy: conversations go to an outside AI provider, so names, contact details and order numbers had to stay out of what it receives.
  • Staff stay in charge: nothing the AI drafts may reach a customer until a person has approved it.

What we built

Each feature below lists what the AI does and what people do.

  • A shopping assistant in a chat drawer. It answers product, stock, delivery, store-hours and policy questions for the shopper's selected store, shows matching product cards with add to cart, finds the item at the nearest other stores when it is not available locally, and looks up an order's status. AI: writes the reply from the facts it is given. Code: finds the products, the stock and the policy text. Staff: write the knowledge base and can watch, reply or take over a chat.
  • Short product summaries for every product. A compact fact summary (size, colour, material, function) is generated for each product and used by the assistant as its reference. New products are summarised automatically on a schedule. An optional vision pass reads the product photos to add facts that are only visible in the images, such as the number of pieces in a set. AI: writes the summaries. Staff: switch the vision pass on and fix the source data when a summary is thin.
  • A product copy helper in the admin. On the product edit form, one button builds a prompt from the product's facts, current copy and photos. Staff paste it into the AI tool they prefer and paste the answer back, and the helper fills the description, short description and SEO fields. AI: writes a draft outside the store. Staff: review it and press Save. Values over the field limits are refused, and an existing URL key is never overwritten.
  • Answers drafted from unanswered questions. Questions the assistant could not answer from the knowledge base are logged. When the same question has come in at least three times, a nightly job asks the AI for a draft answer and saves it switched off. Staff: edit the draft and activate it, or delete it.
  • Promote to FAQ. A reviewer reading past chats can turn a good answer into a curated FAQ in one step. Phone numbers and the store name are replaced with neutral wording, and similar existing FAQs are shown so nothing is duplicated.
  • A chat summary for managers. When a shopper asks for a person or leaves a callback request, the manager sees a five-line summary (what they want, what was discussed, which store, the status and the next step) above the transcript.
  • Learning from thumbs-down votes. When a shopper marks an answer unhelpful, the AI classifies the failure (wrong products, wrong information, missing knowledge and so on) and names what to fix, so the team works from a sorted list.

How it works

One chat question, from the shopper's message to the reply:

  1. The shopper asks. The store accepts the message, checks rate limits and returns in a fraction of a second. The question waits in a queue.
  2. The store gathers the facts. Code, not AI, decides what the question is about and collects the matching products and their summaries, stock at the shopper's store, store hours, knowledge-base entries and curated FAQs. Clear shopping questions and clear complaints are sorted by rules; only messages that remain ambiguous get a quick extra AI check to decide whether product cards belong in the reply.
  3. Private details are removed. The shopper's name becomes a placeholder, and order references, email addresses, phone and card numbers are stripped from the copy that goes to the AI provider. The full conversation stays in the store's own database for staff.
  4. A background worker calls the AI. One process handles many conversations at once, outside the web servers that render pages. If the worker stops, a scheduled job picks up waiting questions so chat becomes slower but keeps answering.
  5. The reply comes back. The chat drawer checks for the answer every few seconds and shows it with product cards and action buttons, such as add to cart, a callback form or the store's phone number.
  6. The team reviews and improves. Votes, unanswered questions, drafted answers and summaries land in admin screens where staff approve, edit or reject them. Approved answers are used from the next question on.

Under the hood

  • Platform: Mage-OS (Magento 2.4) with a Hyvä theme. The chat drawer is Alpine.js, so it adds very little to page weight.
  • AI providers: one AI layer with interchangeable providers. The live chat uses a hosted commercial model; the bulk product summaries run on a self-hosted open model (Qwen 2.5 through Ollama), so summarising the whole catalog costs nothing per call. Each task's prompt, model and limits are set in the admin and kept under version control, so any change can be rolled back.
  • Queue and worker: a database job queue, a background worker under systemd and scheduled jobs for the nightly drafts, summaries and checks. Chat requests run in their own PHP worker pool behind their own rate limit, apart from the storefront.
  • Quality checks: a fixed set of test questions runs every night and alerts only when a regression is confirmed on a re-run. A separate nightly check replays every "we don't have it" answer against the real product search, without AI, and flags the ones that were wrong. A comparison tool runs the same chat question through several AI providers side by side, so model choices are based on results.
  • Cost and safety switches: a spending guard and a circuit breaker for provider failures, a main on/off switch, chat per store, and a staff-only mode for testing in production.
  • The retailer's ERP: stock per store and order status come from data the retailer's ERP already sends to the store.

What it changed

The shopping assistant went into production in September 2026. Two results were measured before launch:

  • Faster answers: after we rewrote the instructions so the AI answers only what was asked, the average reply time on our 10-question test set dropped from 7.7 to 5.2 seconds, and the slowest from 19.5 to 9.0 seconds (measured with the real chat pipeline). Every expected fact was still in the answers.
  • No storefront slowdown: in a load test on the development server with 100 simultaneous chats against a simulated AI provider, storefront pages answered as fast as without the chats (95th percentile 168 ms during the test, 182 ms before it).

What the business can now do:

  • answer stock, size, delivery and hours questions for the shopper's own store at any hour;
  • send shoppers to the nearest other store that has an item instead of losing the sale;
  • see which questions customers ask that the site cannot answer yet, with a draft answer waiting for review;
  • write product descriptions and SEO fields from a prepared prompt instead of starting from a blank page;
  • hand a chat to a person with the context summarised, and let staff reply or take over at any time.

Could this work for you?

This fits stores whose answers depend on their own data rather than on general knowledge:

  • retailers with several locations, where stock, prices or hours differ per store;
  • stores with large or technical catalogs where shoppers ask about dimensions, materials and compatibility;
  • teams that spend hours writing product copy and answering the same questions by email or phone;
  • businesses that want AI help but need a person to approve what customers see.

We build AI features on Mage-OS and Hyvä around the data you already have, with your team approving what goes live. If your store is still on Magento 1 or an older Magento 2 theme, we can move it first: see our Magento 1 to Mage-OS and Hyvä migration and Magento 2 to Mage-OS and Hyvä upgrade, or browse all migration options.

See what else we offer on our services page, or tell us what your customers ask most and we will tell you how we would approach it.