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
- Collecte quotidiennemultiple job boards, dans n8n
- Classementun LLM note chaque annonce de 0 à 10
- Un seul storePostgres 16 avec pgvector
- Rédactionun seul appel sort de la machine
- Traceprompt, 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.
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