Avec ma copine, on cherche un appart à Montpellier. Et si vous avez déjà fait une recherche immobilière dans une ville où le marché est tendu, vous voyez le tableau : rafraîchir Leboncoin, SeLoger et Bien'ici plusieurs fois par jour, retomber sur les mêmes annonces, oublier de relancer une agence, perdre le fil des dossiers en cours…

Bref, le calvaire classique. Pour éviter ça, j'ai décidé de régler le problème en quelques sessions de vibe coding avec Claude Code. Le résultat : un petit système maison qui scanne les 3 plateformes à ma place, score les annonces selon nos critères, et suit l'avancement des dossiers dans un dashboard Kanban.

J'en avais parlé brièvement sur LinkedIn il y a quelques jours, et vous avez été tellement nombreux·ses à me poser des questions sur le fonctionnement et la stack que j'ai décidé d'en faire un article complet. Je vous raconte.

Un slash command Claude Code comme point d'entrée

Tout part d'une commande que je tape : /appart.

Derrière, c'est un skill Claude Code : un fichier Markdown qui décrit étape par étape ce que l'agent doit faire. C'est pratique pour transformer un agent généraliste en outil ultra-spécifique à un besoin perso.

Quand je lance la commande, voilà ce qui se passe :

  • L'agent ouvre mon Chrome via le MCP Claude in Chrome et parcourt Leboncoin et SeLoger en browser automation, en récupérant les données directement depuis les structures JSON embarquées dans les pages.
  • En parallèle, il interroge l'API de Bien'ici, qui renvoie du JSON.
  • Il déduplique les annonces entre les 3 sites et filtre ce qui ne correspond pas à nos critères structurels (quartiers exclus, budget, etc.).
  • Il score chaque annonce sur 100 selon des critères pondérés.
  • Il enrichit les meilleurs candidats en ouvrant les pages détail, puis me présente les meilleurs appartements.

Pour chaque annonce, j'ai 3 actions possibles : exporter pour en discuter, contacter l'agence, ou ignorer.

Un scoring transparent et ajustable

Toute la logique de notation tient dans un fichier criteria.json. Chaque critère a un poids, et la somme fait 100 :

Critère Poids
Budget 25
Localisation 20
Surface 15
Nombre de pièces 10
DPE / GES 10
Parking 5
Étage 5
Extérieur (terrasse / balcon) 5
Ancienneté du bâti 5

Dashboard Kanban : Rails 8, déployé avec Kamal

Une fois les annonces triées, il me restait à pouvoir suivre les dossiers en cours facilement avec ma copine. D'où un petit dashboard web en Rails 8, déployé avec Kamal sur un serveur dédié.

L'interface est un board Kanban, organisé en 6 colonnes par statut, de À étudier jusqu'à Historique. Chaque carte affiche les infos clés du bien (prix, surface, score, DPE…) et un indicateur « jours sans nouvelles » qui passe au rouge au bout de 3 jours, histoire de ne pas oublier une relance. Au clic, un modal donne le détail complet du dossier et la timeline datée des échanges avec l'agence.

Dashboard Kanban de suivi des dossiers de location, organisé en colonnes par statut de candidature
Le dashboard de suivi des candidatures, généré par Claude Code et déployé en Rails

Ce que ça m'apprend (encore une fois) sur le vibe coding

Comme pour Feedcast, l'app Rails que j'avais codée pour automatiser la diffusion de ma veille techno, ce projet n'aurait jamais existé sans Claude Code. Pas parce que c'est techniquement compliqué, mais parce que je n'aurais jamais pris le temps de le coder à la main pour une recherche de quelques mois.

Deux enseignements à retenir :

  • Les slash commands Claude Code sont un format puissant pour les workflows perso. Un Markdown bien écrit suffit à transformer l'agent en outil ultra-spécifique à son besoin.
  • Le MCP Claude in Chrome ouvre énormément de possibilités dès qu'on a besoin de faire interagir un agent avec des sites web dynamiques.

Si vous voulez monter en compétence sur Claude Code et apprendre à construire ce genre d'agents et de workflows agentiques au quotidien (dev, automatisation, productivité…), on a une formation Claude Code dédiée chez Human Coders où on couvre tout ça en profondeur.

Et au passage : si vous connaissez un appart sympa à louer à Montpellier, vous pouvez m'envoyer un petit mail 😉