Giacomo Mantovani

Case study

Conversational product search over 2M+ products: 90%+ of responses fully correct

Estyl is a conversational fashion assistant on Google Cloud, with a catalogue of over 2 million products. We rebuilt its product retrieval with hybrid vector search, structured filters, filter relaxation and re-ranking. The evaluation was strict: a response counted as correct only if every item in it matched the request. Over 90% of responses were fully correct.

Key numbers

2M+products in the catalogue
90%+of responses fully correct
95%+of responses with one or two wrong outfits at most

The problem

People ask in plain language: "a navy linen shirt under €80 in size M". Vector search on its own returns items that look similar and ignores size, price and stock. Strict filters often return nothing at all.

What we built

  • Hybrid vector search plus structured filters on category, size, colour, price, brand and stock
  • Filter relaxation when a query is too narrow, followed by re-ranking
  • Intent detection that routes each message to product search, outfit generation, a photo query or a follow-up
  • A preference model that learns each user's taste across sessions
  • Outfit-from-photo, virtual try-on, and merchant scoping for B2B multi-tenant retrieval

I was Tech Lead AI Engineer and owned the AI and the backend.

Architecture and stack

Google Cloud: Cloud Run, BigQuery, Firestore. Hybrid vector and structured retrieval, plus an evaluation pipeline where every item in a response has to match.

Results

  • 90%+ of responses fully correct, with every item matching
  • 95%+ of responses with one or two wrong outfits at most
  • Latency and token spend per request went down while usage went up

What it means for your company

If your assistant searches a large catalogue, measure it strictly. For the person asking, one wrong item makes the whole answer wrong. Hybrid retrieval with structured filters and controlled relaxation moves that number. A bigger model won't.

Frequently asked questions

How do you build product search for an AI shopping assistant?

Combine vector search with structured filters on attributes like size, colour, price, brand and stock. When a query returns too little, relax the filters, then re-rank the results. On a catalogue of 2M+ products this gave fully correct responses more than 90% of the time.

How do you evaluate a conversational product search?

Strictly. A response counts as correct only if every item in it matches the request. By that rule over 90% of Estyl's responses were fully correct, and over 95% had one or two wrong outfits at most.

Why isn't vector search alone enough for e-commerce?

Embeddings capture style and similarity. They miss hard constraints like size, price or stock. Hybrid retrieval applies those constraints as filters and uses vectors for relevance, so what comes back looks like the request and can actually be bought.

Can one retrieval system serve multiple merchants?

Yes. Estyl's retrieval has merchant scoping for B2B multi-tenant use, so each merchant's assistant searches only that merchant's catalogue.

Next step

Want customers to search your catalogue by asking a question? We can work out what it takes.

Tell me the workflow. We scope it on a free call, then a working version is live within 10 days.

Book a scoping call