Abbeal
tripadvisor logo

Travel-tech / Marketplace resto · Paris + Europe

Tripadvisor (TheFork) : du Symfony/SolR à la reco IA hybride.

TheFork (filiale Tripadvisor depuis 2014), plateforme de réservation resto européenne. Backend Symfony 3 + Node.js + RabbitMQ + SolR à l'origine — augmenté aujourd'hui d'embeddings Mistral 7B, search Algolia, reco LLM-augmented et observabilité Datadog full-stack.

KPI

Hybrid

moteur de reco IA

Durée

Engagement initial 2017-2018

Équipe

1 ingés

Hub(s)

Paris + Europe

React NativeAlgoliaMistral 7BpgvectorApache KafkaDatadog

TheFork (filiale Tripadvisor depuis 2014). Plateforme de reservation resto europeenne, des dizaines de millions d'utilisateurs, des dizaines de milliers de restaurants partenaires. La promesse : trouver le bon resto au bon moment, et y reserver en deux clics. Notre travail : le pipeline qui rend cette promesse tenable.

Le point de depart (2017-2018)

Racem integre cote backend resto-tech. Stack initiale : Symfony 3 + Node.js + RabbitMQ pour le messaging asynchrone + SolR pour la recherche. Mission : tenir la charge sur les pics resa du soir et du week-end, et faire evoluer le moteur de recherche au-dela du simple matching nom + ville.

Ce qui a ete livre

  • Index SolR optimise pour la recherche restaurants (geo, cuisine, dispo temps reel, prix moyen)
  • Workers RabbitMQ pour le traitement async des resa, notifications, sync POS partenaires
  • Refacto du back Symfony : extraction de bounded contexts (resa, catalog, fidelite, reviews)
  • Observabilite et profilage : reduction de la p95 sur les endpoints critiques
  • Documentation des conventions de code et onboarding des devs juniors arrivants

La stack qu'on deploie aujourd'hui

Sur le meme metier (search resto, reco personnalisee, conversion sur creneau dispo), voici ce qu'on assemble aujourd'hui :

  • Algolia comme moteur de search principal : geo, faceting, typo tolerance, latence sub-100ms cote edge
  • Embeddings Mistral 7B sur les fiches resto et les avis : recherche semantique 'dimanche midi en famille avec terrasse calme'
  • pgvector pour stocker les embeddings et les profiler par utilisateur (preferences cuisine, prix, ambiance)
  • Moteur de reco hybride : collaborative filtering + LLM-augmented (Claude Sonnet en re-ranker sur le top 50)
  • Apache Kafka comme bus d'evenements (resa, no-show, cancellations, sync POS) avec replay sur incident
  • Datadog full-stack : APM + RUM + logs structures + alerting astreintes weekend / soir

Pourquoi c'est dur

  • Latence : un user a < 800 ms d'attention avant de scroller. Search edge non-negociable
  • Pic horaire : 19-21h en semaine, x4 du QPS moyen, et personne ne pardonne une indispo a 19h45 un samedi soir
  • Donnees resto bruitees : menus changeants, fermetures imprevues, photos perimees
  • Cold start utilisateur : un nouveau venu n'a pas d'historique, mais doit avoir une reco pertinente en 2 ecrans
  • Conformite RGPD sur les profils embeddings : duree de conservation, droit a l'oubli, opt-out reco

Ce que cette mission a appris a Abbeal

TheFork a ete notre premier engagement serieux sur une marketplace haute frequence. On y a appris a optimiser le SolR de l'epoque, puis a passer a Algolia + embeddings sans casser le SLA, et surtout : qu'un moteur de reco mediocre peut couter 5 a 10% du GMV en silence. C'est ce qu'on rejoue aujourd'hui chez les autres marketplaces resto / loisirs / voyage qui basculent sur du LLM-augmented ranking.

// À lire ensuite

Un cas similaire chez vous ?

Parler à un architecte