Logo FastOrchestra

FastOrchestra

Un pipeline de candidatures sur des annonces classées

Une collecte quotidienne parcourt plusieurs job boards et classe ce qu’elle trouve. FastOrchestra reprend ces lignes classées et conserve tout ce qui suit dans son propre store : la liste retenue, l’étape où se trouve chaque candidature, les preuves datées qui la justifient, et les lettres. Chaque lettre est rédigée à partir du profil, de l’annonce et des lettres envoyées les plus proches, et chaque appel de modèle est tracé.

Une présentation de 38 secondes. La version longue dure quatre minutes et parcourt toute l’architecture.

Ce qu’il fait

Des annonces classées, avec points forts et écarts

Toutes les annonces sont classées lors d’un traitement planifié. L’interface présente chaque annonce classée avec ses indicateurs de points forts et d’écarts, met en avant les annonces sémantiquement les plus proches et signale les doublons potentiels.

Une liste retenue avec des étapes

Une annonce retenue devient une candidature sur un tableau, une colonne par étape. Chaque déplacement est daté, et les preuves qui le justifient restent attachées.

Des lettres rédigées à partir du contexte

Une lettre est assemblée à partir du profil, de l’annonce elle-même et des lettres de candidatures comparables déjà envoyées — retrouvées par le sens, et non par mot-clé. Les exemples sont vos propres lettres envoyées : le corpus grandit à chaque candidature. Les versions sont conservées, et la version courante est celle qui est partie.

Chaque appel de modèle tracé

Prompt, réponse, tokens, latence et coût arrivent dans Langfuse sous un même identifiant de trace. La fraîcheur des synchronisations, la couverture des embeddings et le coût des rédactions sont des métriques collectées par Prometheus.

Comment c’est construit

  1. Collecte quotidienne
    multiple job boards, dans n8n
  2. Classement
    un LLM note chaque annonce de 0 à 10
  3. Un seul store
    Postgres 16 avec pgvector
  4. Rédaction
    un seul appel sort de la machine
  5. Trace
    prompt, tokens, latence, coût

React 19 et TypeScript côté interface, FastAPI et SQLAlchemy 2 derrière, une seule image qui fait tourner deux processus : une API, et un worker qui vide une file conservée dans le même store. Les annonces et le profil sont vectorisés sur la machine, sur CPU : seul le prompt de rédaction en sort. L’API parle également le Model Context Protocol, ce qui permet à un assistant de lister les annonces classées, d’en retenir une et de soumettre la lettre qu’il a écrite.

React 19 TypeScript FastAPI Postgres 16 + pgvector MCP Langfuse Prometheus Helm

Envie d’un pipeline de ce type ?

Des entrées classées, un store qui vous appartient, des appels de modèle auditables après coup, et un assistant capable de piloter l’ensemble. La même structure convient au tri de leads, à la revue de documents ou à l’aiguillage d’une boîte partagée. Dites-nous ce que le vôtre doit faire.

Nous contacter