Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2025 - Gally @ SymfonyCon - Building an AI Prod...

2025 - Gally @ SymfonyCon - Building an AI Product Discovery Tool with Symfony

Avatar for Romain Ruaud

Romain Ruaud

January 14, 2026
Tweet

More Decks by Romain Ruaud

Other Decks in Technology

Transcript

  1. Intro ➔ Last year: Gally as a product ➔ This

    year: Technical deep dive ➔ How Symfony powers a modern AI-ready discovery engine
  2. Recommendations Product Discovery : Not (only) a search engine Categories

    Search Merchandising Facets / Filters Recommended On sale Preorders Search … Fulltext search IA / LLM powered search Synonyms & Expansions Smart Categories Products ranking Facet management Category level facet management Ranking algorithm Boosting rules How to furnish your house Cross-content Multi-Languages Extensibility Plugins SDK API-First (composable) Up Sell, Cross Sell Personalization
  3. Context & Challenges ➔ Multi-catalog complexity, millions of products, locales…

    ➔ Hybrid search (lexical + vector + AI) ➔ Personalization ➔ Many channels ➔ Open : Merchants & agencies need power to adapt ➔ Sovereign : Product discovery data is sensitive Modern Product Discovery is complex — and must stay in control.
  4. Symfony as a Product Discovery Platform ➔ Modular ➔ Predictable

    ➔ Mature & powerful ecosystem : API Platform ➔ Long-term stability ➔ Enables platform-level design Symfony brings the structure to build a long-term, industrial, evolution-proof product.
  5. Abstraction of Search Configuration Business users define search behavior, not

    developers. ➔ Business rules in config : - searchable fields - ranking strategies - filters - synonyms - rules ➔ Symfony interprets & transform business rules in search configuration & queries ➔ No need for handcrafted search queries or complex schema definition : - no knowledge needed on Elasticsearch/Opensearch ➔ Logic stays declarative
  6. Abstraction of Search Configuration ➡ Developers no longer manually write

    search queries ➡ Symfony becomes the abstraction engine "query": { "function_score": { "query": { "match_all": {} }, "boost": "100", "boost_mode": "multiply" } }
  7. Automatic GraphQl API Generation Through Stitching ➔ API schema generated

    from user-contributed configuration (compiled, real-time) ➔ No need to write repetitive classes or code ➔ Consistent request/response ➔ API-first delivery ➔ Adaptability to data changes API stitching turns configuration into a full GraphQL API with no repetitive boilerplate.
  8. Modern Search Paradigms ➔ Lexical search : “caveman” search, BM25

    algorithm was born in 1976 → ”nike shoes” → display exact matches ➔ Vector search : allowing semantic matching → ”ski outfit” → matches “ski jacket”, “ski pants”, “ski helmet” … ➔ Conversational search : real-life shopping experience with an agent → ”i’ll do my first trail soon, help me finding shoes” ➔ All combined when needed + taking rule-based ranking into account Modern search is hybrid — and Symfony allows assembling the right strategy.
  9. How Symfony routes all this ➔ GraphQL entry point receives

    the query → Synonym Service rewrites if needed → Spellchecker Service dispatch the proper query type with a pre-flight analysis → forges an “exact match” query if possible : specific analyzers, tokenizers, etc… → forges a “fuzzy match” query either : deal with typo tolerance → Ranking Applier Service inject the scoring according to business configuration → Query is executed on Elasticsearch / Opensearch → If no results are found, it’s automatically replayed with Vector Search enabled → Results are returned to the end-user, ranked as the merchant wishes. Symfony logic decides how to execute the query, not the developer.
  10. Omnichannel Product Discovery at Scale ➔ Unified product information across

    all channels ➔ API-first architecture (Symfony + API Platform) ➔ Real-time synchronization with Catalog data ➔ Consistent experience on web, mobile, kiosk, POS, marketplaces One engine. All channels. Same logic everywhere
  11. Omnichannel Product Discovery at Scale One engine. All channels. Same

    logic everywhere Vendor tablet in physical shop End User Your cloud ecosystem A chatbot agent GraphQL GraphQL or REST Frontend E-Commerce App Index omnichannel data and leverage on cloud based features Frontend app
  12. Conversational Product Discovery ➔ Conversational logic runs externally in Python

    ➔ AI transforms natural language into valid GraphQL queries ➔ Symfony exposes “knowledge APIs” to guide the AI : → Reduces hallucination by giving structured business knowledge to the LLM → Merchants business rules remain applied ➔ Search execution stay in the Gally backend : → Predictable results AI generates the query. Symfony validates and executes it.
  13. Conversational Product Discovery AI generates the query. Symfony validates and

    executes it. 3. Summarize user needs & generate the GraphQl query : "query": { "text": "screw", "size": "2" } LLM 4. Execute the query and get screws of good size, from the Fisher brand promoted by the merchant, and in stock. 1. Explain his needs : “which screws should I use for hanging a mirror in my bathroom ?” End User 2. Retrieve structured knowledge about screws in merchant catalog : - sizes = 2”, 4”, 5” - material : concrete, sandwall Python AI Agent 5. Sees relevants, in stock but merchandized screws Merchant 0. Promote products : - in stock - brand Fisher
  14. Leveraging AI Without Surrendering Control ➔ Transparent scoring ➔ Overrides

    possible ➔ Governance & safety ➔ No black box AI enhances search without losing predictability.
  15. Lessons Learned & Business benefits Choosing to build Gally on

    top of Symfony enabled: ➔ Faster onboarding for merchants, fewer PHP custom developments ➔ Business teams empowered to change relevance without developers ➔ Lower total cost of ownership compared to SaaS competitors ➔ Smooth transition from classical search → hybrid AI search ➔ All while staying Open Source and Sovereign Symfony is a powerful foundation for building future-proof AI-driven software.
  16. Romain RUAUD Creator [email protected] Any questions ? Daniel GUIZADO Channel

    Manager [email protected] Book a demo on our booth or on https:/ /meetgally.com#demo