Aller au contenu
La nuit, à la halte de la prospection : le téléphone de l’outil, à côté de la cabine rouge, montre la fiche d’une entreprise inventée et, en bas, le bouton rouge Appeler. Plus loin, de dos, je me tiens devant le fichier d’appels géant.

IVÉté · 2026CRM et file d’appel · NELINK

Prospection

Tout est lisible le temps que ça sonne.

Pour qui
Moi, au téléphone avec des artisans pour NELINK, mon agence web.
Ce que j’ai fait
L’espace interne de l’agence, avec Claude Code : CRM, calendrier, tâches et une file d’appel pour le pouce.
Statut
Livré le 6 août 2026. Ici, des entreprises inventées.

En bref · 30 secondes

Le problème

Trois jours de prospection dans Excel : 30 appels, environ 45 % de décroché, aucun rendez-vous, et trois relances datées qui risquaient d’être oubliées.

La décision

Un écran tenu d’une main : une fiche conçue pour être lue en trois secondes, un seul bouton Appeler, l’issue demandée au retour.

Le résultat

49 sur 49tests des règles métier

2 hle lendemain, pour relier chaque appel au CRM

Chaque appel arrive seul dans le CRM, chaque rendez-vous dans le calendrier. Une issue saisie hors réseau attend sur le téléphone et repart seule.

L’étude

Trois minutes, quatre actes

Pour qui

Moi. Pour NELINK, mon agence web à Neuchâtel, j’appelle des artisans et des PME de Suisse romande, debout, un téléphone Android à la main.

J’ai pensé l’outil pour deux moments précis : pendant que ça sonne, et juste après avoir raccroché. Au bureau, le même espace sert de CRM : les comptes, les projets, le calendrier, les tâches et le journal de tout ce qui s’est passé.

Le problème

Trois jours de prospection suivis dans Excel : 30 appels, environ 45 % de décroché, aucun rendez-vous, et trois relances datées en attente, qui risquaient d’être oubliées.

Un mot faussait même les chiffres : dans le tableur, « Rappeler » voulait dire « personne n’a décroché », pas « rappelez-moi ». Recomptés avec une définition claire, les mêmes 30 appels donnent 13 réponses, là où le tableur en comptait 5.

Le diagnostic que j’ai écrit dans ma spécification : le problème n’est pas de trouver des contacts, c’est de suivre ceux qui ont répondu.

Les décisions

Une décision par geste de l’appel : lire, appeler, conclure, relancer. Chacune porte sa raison, que j’ai écrite en commentaire dans le code de l’outil.

  • Lisible en trois secondes. Le nom, puis tout de suite l’état du site web : c’est la première phrase de l’argumentaire. L’ordre des blocs suit l’ordre dans lequel on a besoin de l’information pendant que ça sonne. Aucun score n’est affiché : « montrer 87/100 à côté d’un nom pousse à bâcler les fiches basses ».
  • Un seul geste, au pouce. Un gros bouton Appeler, fixé en bas de l’écran, avec le numéro dans le libellé. Un battement lent du bouton a été ajouté à 12 h 11, puis retiré quatre minutes plus tard. La fiche, elle, n’a aucune animation : « on lit cet écran en parlant ».
  • L’issue demandée au retour. En revenant de l’app Téléphone, la feuille d’issue s’ouvre toute seule : sept boutons, du plus fréquent au plus rare. « Demander un geste de plus pour saisir l’issue, c’est accepter qu’elle ne soit pas saisie. »
  • Aucune relance sans date. « Répondu, à recontacter » exige une date, sans valeur par défaut : « une date par défaut posée en silence serait une relance que personne n’a décidée ». Et les libellés corrigent l’Excel : « Pas de réponse » et « Répondu, à recontacter » ne se confondent plus, même en lisant vite, d’une main.

Le résultat

Le module arrive le 6 août 2026 en une seule livraison : la file d’appel, le registre des appels, le lien vers le CRM et 49 tests des règles métier, qui passent tous.

Une issue saisie hors réseau attend sur le téléphone et repart seule dès que la connexion revient. Les numéros protégés par l’astérisque de l’annuaire sont exclus dans la base de données, pas seulement à l’écran.

Le lendemain matin, en deux heures, je renverse une règle de ma propre spécification : chaque appel crée ou met à jour la fiche du compte dans le CRM dès le premier contact, et un rendez-vous fixé arrive seul dans le calendrier.

Je l’ai construit avec Claude Code : 52 des 100 commits du dépôt portent Claude comme co-auteur. Pas encore fait : la génération de contacts depuis Google (« Générer 10 leads ») attend ses clés d’accès.

Essayez

Passez un appel

Lisez la fiche, appelez, raccrochez : au retour, l’issue vous est demandée. Une relance exige une date.

Données inventées

ZRH 09:41Démo

07Prospection

1 en retard

Hot leadPrévu le 25.09.2026Tentative 3

Électricité Horizon Sàrl

Électricité · Neuchâtel, NE

Site obsolète

Site existant mais dépassé. Parler refonte, pas création.

horizon-elec.example

Google4.6/ 537 avis

AdresseRue des Draizes

Installations électriques, bornes de recharge, photovoltaïque.

079 000 27 64Mobile

Appels précédents 2

  • Répondu, à recontacter22.09.20265′12″

    Le patron est intéressé, veut voir des exemples. Rappeler dans trois jours, le matin, il est au dépôt.

  • Pas de réponse19.09.20260′38″

I · Lire la ficheRien dans le CRM pour l’instant.Tout le journal

Le déroulé

  1. Lire la fiche

    L’anneau autour du téléphone compte trois secondes, le temps que ça sonne : qui est-ce, et dans quel état est son site ? Le nom, puis l’état du site, première phrase de l’argumentaire. Aucun score n’est affiché.

  2. Appeler

    Un seul bouton, en bas, au pouce, avec le numéro dans le libellé. Ici, l’app Téléphone est simulée : aucun appel ne part.

  3. Donner l’issue

    De retour dans l’outil, la feuille d’issue s’ouvre toute seule. Sept boutons, du plus fréquent au plus rare.

  4. Dater la relance

    « Répondu, à recontacter » exige une date. Essayez d’enregistrer sans : l’outil refuse, et dit pourquoi.

Dans le CRM, au même moment

  1. Rien pour l’instant. Passez l’appel : chaque geste s’inscrit ici, comme dans le journal de l’outil.

Coupez le réseau pendant l’appel : l’issue attend sur le téléphone, puis repart d’elle-même au retour de la connexion.

À essayer aussi

  • « RDV fixé » : une date, une heure, et le rendez-vous part au calendrier.
  • « Pas de réponse » sur le traiteur : quatrième essai, la fiche sort de la file.
  • Les onglets Historique et Stats, le bouton Suivant, ou un balayage sur téléphone.

La version interactive n’a pas pu démarrer. La version interactive demande JavaScript. Voici ce qu’elle montre.

Fiche d'une entreprise inventée dans l'outil réel : hot lead, site obsolète, note Google, numéro mobile, bouton Appeler rouge en bas.
1. La fiche d’une relance, bouton Appeler en bas.
Feuille d'issue de l'outil réel : sept boutons, de « Pas de réponse » à « À qualifier », Annuler et Enregistrer.
2. Au retour, la feuille d’issue s’ouvre seule.
Feuille d'issue avec « Répondu, à recontacter » choisi, sans date : message « Une date de relance est obligatoire. »
3. Sans date, la relance est refusée.
Confirmation « Relance le 30.09.2026 » en haut de la file, et la fiche suivante qui arrive.
4. Enregistré : « Relance le 30.09.2026 ».

Ces quatre écrans viennent de l’outil réel, avec des entreprises inventées.

Entreprises et numéros inventés, les mêmes que dans les films de l’outil réel. Aucun appel n’est passé, rien ne quitte votre navigateur.

Preuves

Ce que vous pouvez vérifier

L’outil réel, filmé

Le vrai code de l’outil, lancé en local avec une base de démonstration aux entreprises inventées. Sur ordinateur, un lien d’appel n’ouvre aucune application : un écran « App Téléphone (simulée) » la remplace, et un point blanc marque chaque toucher. Tout le reste est réel : l’appel créé côté serveur, l’issue enregistrée, le CRM et le journal qui se remplissent. Seule la durée d’appel affichée est avancée, pour ne pas attendre trois minutes.

Un appel, du début à la fin · 28 sLa fiche d’un prospect chaud (hot lead), Appeler, retour dans l’outil : la feuille d’issue s’ouvre seule. « Répondu, à recontacter » est refusé sans date, puis enregistré avec une date : « Relance le… », et la fiche suivante arrive.
Un rendez-vous qui arrive seul au calendrier · 25 s« RDV fixé » avec une date, une heure et un interlocuteur : « Passé au CRM ». Dans le calendrier, le rendez-vous est déjà là, créé automatiquement dans le CRM.

Au bureau : le CRM complet

Le téléphone sert à appeler ; le reste de l’espace sert à suivre. Captures de l’outil réel, avec des entreprises inventées.

Données inventéesTableau de bord de l'espace interne : tâches ouvertes, projets actifs, prospects chauds, liste « À faire » avec les relances en retard, relances programmées.(Voir l’écran entier)
Tableau de bordIl répond à quatre questions, dans l’ordre : quoi faire, qu’est-ce qui est chaud, qu’est-ce qui vient de bouger, qu’est-ce qui tourne.
Données inventéesListe des comptes du CRM en tableau : compte, statut modifiable sur la ligne, prochaine action avec les retards, budget vide, contacts, date de mise à jour.(Voir l’écran entier)
CRMLes comptes en tableau, chaque colonne triable. Le statut se change sur la ligne, avec les mots de l’appel, pas ceux du pipeline. Aucun budget n’est inventé : la colonne reste vide tant que personne ne l’a saisi.
Données inventéesFiche CRM d'une entreprise inventée : identité, étape Qualifié, prochaine action dans cinq jours, fil d'activité où chaque appel apparaît avec son issue, sa durée et sa note.(Voir l’écran entier)
Fiche d’un compteChaque appel passé depuis le téléphone arrive dans le fil du compte, avec son issue, sa durée et sa note. L’étape se déduit de l’issue.
Données inventéesCalendrier sur six semaines, avec la colonne « À venir » : les rendez-vous « Appel vidéo NELINK » fixés au téléphone y figurent.(Voir l’écran entier)
CalendrierSix semaines glissantes plutôt qu’un mois : « le mois est une unité de calendrier mural, pas une unité de travail ». Un rendez-vous fixé au téléphone y arrive seul, pour 45 minutes.
Données inventéesListe des tâches : relances en retard, premiers appels, tâches de projet et de compte, dans une seule liste filtrable par source.(Voir l’écran entier)
TâchesUne seule liste de tout ce qu’il y a à faire : relances, premiers appels, tâches de projet et de compte. Chaque ligne ouvre l’écran où l’action se fait.
Données inventéesRegistre des appels sur ordinateur : filtres par texte, issue, canton et période ; chaque appel avec sa date, l'entreprise, l'issue, la durée et la relance.(Voir l’écran entier)
Registre des appelsLe registre de tous les appels, filtrable par issue, canton et période. Il remplace le tableur ; l’export CSV garde les colonnes de l’Excel, dans le même ordre.
Données inventéesJournal d'audit en lecture seule : horodatage, action (ouverture d'appel, issue, connexion), acteur de démonstration, entité et origine.(Voir l’écran entier)
JournalTout ce qui se passe est tracé, en lecture seule, et visible dans l’outil : « une trace que personne ne consulte ne sert à rien ».

Données inventées

Avec
Claude Code, Next.js, TypeScript, Postgres, Drizzle, Zod, Auth.js, Vercel
Pour qui
Moi, au téléphone avec des artisans pour NELINK, mon agence web.
En entretien
À voir : l’outil réel, sur mon téléphone.
Sources des chiffres (11)
  1. Avant l’outil : trois jours dans Excel, 30 appels, environ 45 % de décroché, aucun rendez-vous

    Ma spécification du module Prospection (données des trois premiers jours d’appels)

  2. « Rappeler » voulait dire « personne n’a décroché » ; recomptés, les 30 appels donnent 13 réponses au lieu de 5

    Spécification et définition figée du produit (« réponse obtenue »)

  3. Fiche lisible en trois secondes, dans l’ordre de l’appel ; aucun score affiché

    Code de la fiche (LeadCard.tsx), mes commentaires

  4. Battement du bouton Appeler ajouté à 12 h 11, retiré à 12 h 15, le 7 août 2026

    Historique du dépôt (deux commits)

  5. Feuille d’issue ouverte seule au retour, sept issues du plus fréquent au plus rare ; aucune relance sans date

    Code de la feuille d’issue (OutcomeSheet.tsx) et validation Zod

  6. Issues gardées hors réseau et rejouées ; numéros protégés (astérisque de l’annuaire) exclus en SQL

    Code du module Prospection (useCallSession.ts, call.ts)

  7. Module livré le 6 août 2026 en un commit (48 fichiers) ; 49 tests sur 49 qui passent ; fusion avec le CRM le lendemain, 7 août

    Dépôt de l’agence, tests relancés le 24.09.2026

  8. Le 7 août, en deux heures : fusion avec le CRM, chaque appel crée ou met à jour la fiche du compte ; rendez-vous de 45 min au calendrier

    Historique du dépôt (7 commits de 10 h 49 à 12 h 45) et code du pont CRM

  9. 52 des 100 commits portent Claude comme co-auteur

    Historique du dépôt, lu le 24.09.2026

  10. Génération de contacts depuis Google (« Générer 10 leads », jamais automatique) pas encore active : clés d’accès à fournir

    Notes du projet (CLAUDE.md)

  11. Captures et films : l’outil réel lancé en local le 25.09.2026, base de démonstration, entreprises inventées

    Captures du chantier, avec leur protocole (durées d’appel affichées obtenues en avançant l’heure de départ)

La suite du chemin

Contact

Parler de ce projet

Je peux vous montrer l’outil réel en entretien, sur mon téléphone.

Contact

Écrivez-moi

Une question sur un projet, un entretien, une journée à organiser : je vous réponds moi-même.

Dès
octobre 2026
Lieu
Cornaux (NE)