Borrelle.
  • Accueil
  • Projets
  • Blog
  • Services
  • Contact
|

© 2026 Borrelle

Politique de confidentialité et condition d'utilisation
Tous les projets
janv. 2026Livré

BetterMail — Lecture & Automatisation d'Emails Repensées

Next.jsLangChainLangGraphGmail APISupabaseClerkTailwind CSSShadcn
BetterMail — Lecture & Automatisation d'Emails Repensées

Problème

La boîte mail est l'un des outils les plus utilisés au quotidien — et pourtant l'un des moins agréables à parcourir. L'interface traditionnelle liste des emails de façon linéaire et froide, sans aucun sens de la continuité ou du contexte. Lire une conversation à plusieurs échanges revient à ouvrir et fermer des mails individuels en espérant reconstituer le fil.

À ça s'ajoute la charge mentale des actions répétitives : trier, répondre aux mails standards, archiver, labelliser. Des tâches qui consomment un temps disproportionné par rapport à leur valeur réelle.

Enfin, déléguer cette gestion à un outil IA soulève une question légitime : où vont mes données ? La plupart des solutions envoient le contenu des emails à des APIs cloud propriétaires, sans contrôle réel sur ce qui est traité ou stocké.

Solution proposée

BetterMail est une interface web connectée à la Gmail API qui repense entièrement la façon dont on lit et gère ses emails.

La lecture est restructurée façon thread de réseau social : les échanges s'affichent de manière continue et chronologique, avec les participants, les réactions et le contexte de la conversation immédiatement visibles — sans avoir à ouvrir chaque message individuellement.

La couche d'automatisation est construite sur LangChain et LangGraph, qui permettent de composer des agents capables de prendre des décisions en plusieurs étapes : lire un email entrant, évaluer son contenu, décider de répondre automatiquement ou d'alerter l'utilisateur, et exécuter l'action correspondante.

Toute l'inférence IA repose sur un LLM open source auto-hébergé, garantissant que le contenu des emails ne quitte jamais l'infrastructure contrôlée par l'utilisateur. La confidentialité n'est pas une option, c'est une contrainte de conception.

La persistance est gérée par Supabase (PostgreSQL), dont le modèle relationnel est idéal pour stocker les threads, métadonnées, règles d'automatisation et historiques d'actions. pgvector est utilisé pour indexer le contenu des emails et permettre une recherche sémantique rapide via LangChain.

L'authentification est assurée par Clerk, avec connexion OAuth Gmail pour l'accès à l'API.

Étapes de réalisation

  1. Intégration Gmail API — Mise en place de l'authentification OAuth2 via Clerk, récupération des threads et messages, gestion des scopes de lecture et d'envoi, synchronisation incrémentale des nouveaux emails.
  2. Modélisation des données Supabase — Schéma relationnel pour les threads, messages, expéditeurs, labels et règles d'automatisation. Activation de pgvector pour l'indexation sémantique du contenu.
  3. Interface de lecture — Développement de la vue thread avec Next.js, Tailwind CSS et Shadcn UI : affichage continu des échanges, bulles de message, indicateurs de participants, navigation entre threads sans rechargement.
  4. Pipeline d'automatisation LangGraph — Conception des agents sous forme de graphes d'état : chaque nœud correspond à une étape de décision (classifier l'email, choisir une action, rédiger une réponse, exécuter). LangChain gère l'interface avec le LLM et les outils Gmail.
  5. Intégration LLM open source — Connexion à un modèle open source auto-hébergé via une API compatible OpenAI, configuration des prompts pour la classification, le résumé et la rédaction d'emails.
  6. Recherche sémantique — Embeddings des emails au moment de l'ingestion, stockés dans pgvector, exposés via une barre de recherche qui comprend le sens des requêtes plutôt que de faire du matching mot-clé.

Difficultés surmontées

La principale difficulté a été la conception des graphes LangGraph pour l'automatisation. Un agent email doit gérer des cas ambigus : un email peut être à la fois une demande d'information et une urgence, nécessiter une réponse partielle ou une escalade. Modéliser ces chemins de décision sous forme de graphes d'état lisibles et maintenables a demandé plusieurs itérations.

L'autre défi était la synchronisation Gmail : l'API Gmail impose des limites de quota et un modèle de pagination qui rend la synchronisation initiale d'une boîte volumineuse lente et fragile. La mise en place d'une synchronisation incrémentale basée sur les historyId Gmail a permis de rendre le processus fiable et efficace.

Enfin, faire tourner un LLM open source avec des performances acceptables pour de la rédaction et classification en temps quasi-réel a nécessité un choix soigneux du modèle et une optimisation de l'infrastructure d'hébergement.

Résultat

BetterMail démontre qu'il est possible de construire un client mail intelligent, agréable à utiliser et respectueux de la vie privée — sans dépendre d'APIs propriétaires pour l'inférence IA. La combinaison LangGraph + LLM open source + Supabase offre une architecture solide, extensible, et entièrement sous contrôle.

← Retour aux projets