Swatchless : répondre à « quelle teinte me va? » avec la cliente qui la porte, vérifié contre les propres stylistes de Luxy Hair
On ne retourne pas des cheveux portés, alors les clientes en ligne commandent un anneau d'échantillons à 127,50 $ et attendent une semaine. Swatchless donne une courte liste à la styliste en deux minutes : YouCam mesure et rend chaque choix sur la cliente, Claude choisit parmi 973 vraies pièces, et le code refuse ce qui est en rupture. La teinte des stylistes de Luxy était dans la liste pour 13 personnes sur 16.

Le comptoir, un lundi à 9 h 40
Dana (un personnage composite, pas une vraie styliste) répond à la ligne « Écrivez à une styliste » d'un détaillant de cheveux en ligne. Presque chaque matin, le même message arrive : un égoportrait, une photo du dessus de la tête, et « ma raie s'élargit, quelles rallonges vont avec ma couleur? » La réponse honnête aujourd'hui, c'est un anneau d'échantillons par la poste (celui de Luxy Hair coûte 127,50 $), une semaine de livraison, et un achat qu'on ne peut pas retourner, parce que les rallonges ne sont pas retournables une fois ouvertes.
Swatchless donne à Dana une autre réponse en deux minutes environ. Elle dépose les deux photos. YouCam mesure la densité des cheveux de la cliente sur la photo du dessus de la tête et leur longueur sur l'égoportrait. Claude lit les mesures, regarde l'égoportrait et les échantillons du magasin, choisit les pièces qui valent un essai, et demande à YouCam de rendre chacune sur la cliente à partir de la propre photo produit du magasin. Il examine chaque rendu, écarte ceux qui ont changé le visage ou raté la teinte, et remet à Dana une courte liste avec la cliente qui porte chaque choix, un lien de panier vers le vrai magasin, et une réponse dans sa voix.

Ce que le comptoir a fait pour la cliente de démo
La cliente de démo est un personnage composite : les deux photos sont générées par IA, et chaque page qui les montre le dit. Dans l'exécution en direct du 27 octobre, YouCam a mesuré une densité moyenne, avec le cuir chevelu visible à la raie, et une longueur sous la poitrine ou plus. Claude a choisi des rallonges et un toupet pour la raie à cause de la densité, a retenu Off Black et Dark Brown de Luxy Hair et demandé à YouCam de rendre les deux sur la cliente, et a ajouté le toupet Espresso Mix d'Ellen Wille sans rendu. La page dit pourquoi : les seules photos que le magasin affiche pour ce toupet montrent une autre teinte, plus pâle, alors un rendu aurait montré la mauvaise couleur. Ensuite, il a rédigé la réponse.


Ce que le modèle décide, et ce que le code refuse
Claude pilote directement le serveur MCP YouCam hébergé par Perfect Corp, par le connecteur MCP d'Anthropic. Il décide quelle catégorie convient à la densité mesurée, quelles teintes essayer et quelle photo du magasin prendre comme référence; si un rendu est assez bon, doit être refait ou est écarté, après avoir examiné chacun avant de pouvoir le citer; et quand s'arrêter pour demander une meilleure photo. Le code décide du reste, et le modèle ne peut pas le contourner : un rendu cité doit être un rendu que YouCam a retourné dans cette consultation, fait à partir d'une photo du magasin de la même teinte, pour qu'un rendu d'un produit ne soit jamais montré sous un autre; un choix sans rendu doit dire pourquoi; aucun produit en double, trois articles au plus; et la variante doit être en stock sur le site du magasin à ce moment-là.

Contre les propres stylistes de Luxy
Luxy Hair photographie de vraies personnes avant qu'elles portent ses cheveux et publie la teinte que ses stylistes leur ont mise. Cette teinte est la réponse. Le comptoir ne reçoit que la photo « avant » de Luxy, ne voit jamais cette personne comme référence, et choisit parmi les 30 teintes Luxy qui ont une photo sur mannequin fiable. Les 18 personnes ont été traitées. Pour 2 d'entre elles, chaque photo fiable de leur teinte était une photo d'elles-mêmes, alors une fois ces photos exclues, le comptoir ne pouvait pas du tout se voir proposer la teinte; ces lignes sont déclarées non proposables et ne comptent d'aucun côté. Des 16 autres, la teinte des stylistes était dans la courte liste pour 13 et en premier choix pour 8. Un choix au hasard tomberait juste environ une fois sur trente. Dans 5 des 8 premiers choix ratés, la teinte de Luxy était le deuxième choix du comptoir : Off Black avant Jet Black, Light Gray avant Dark Gray, Dark Brown avant Chocolate Brown.

Les mêmes 18 personnes ont été traitées de nouveau avec YouCam désactivé : le même modèle, la même photo et les mêmes échantillons, sans les outils YouCam. Avec YouCam désactivé, la teinte de Luxy était dans la courte liste pour 12 sur 16 et le comptoir ne pouvait montrer aucune des 16 personnes portant quoi que ce soit. Le premier choix concordait pour 8 sur 16 dans les deux cas. Avec YouCam, 15 des 16 ont été rendues; la seule photo impossible à rendre avait été prise de dos, sans visage.

Après la réponse, il continue de surveiller
Un choix en rupture de stock est refusé et va sur la liste d'attente. Une tâche quotidienne relit le stock du magasin et, quand la pièce revient, la rend de nouveau sur la cliente et rédige le suivi que la styliste enverra. Le catalogue derrière tout ça compte 973 rallonges, toupets, postiches et couvre-chefs en 230 teintes, tirés des flux de produits publics de Luxy Hair, Halo Couture et Ellen Wille, avec chaque photo produit classée une fois pour que l'agent ne se voie proposer que des photos de face utilisables par l'essayage. Swatchless n'est affilié à aucun de ces magasins.

Ce qui n'est pas revendiqué
Le 13 sur 16 est corrigé par les stylistes de Luxy, pas par moi, mais seize personnes, c'est un petit banc d'essai, et la teinte des stylistes est le choix d'une équipe plutôt que la seule bonne réponse. Un écart d'une personne entre l'exécution avec YouCam et sans (13 contre 12 dans la courte liste) est dans ce qu'un échantillon de cette taille peut faire varier par hasard, et le premier choix concordait pour 8 sur 16 avec ou sans, alors je ne prétends pas que YouCam choisit de meilleures teintes; il mesure la densité qui décide entre rallonges et longueur, met la teinte sur la cliente avant qu'elle achète des cheveux qu'elle ne peut pas retourner, et donne au comptoir un rendu à rejeter quand il change le visage. Un rendu montre le résultat final, pas la façon dont une pièce s'attache ni ce qu'elle cache de la raie, et le site le dit sous chaque courte liste. La densité demande une photo du dessus de la tête et le type de cheveux, trois photos; sans elles, le comptoir dit ce qu'il n'a pas pu mesurer au lieu de deviner. La cliente de démo est un personnage composite généré par IA, et la styliste de l'histoire est aussi un personnage composite.
Swatchless: a hair retailer's stylist answers "which shade matches me?" with the customer wearing it, measured and rendered by YouCam, picked by Claude from 973 real pieces
Voir le projet
Possessed : votre vérificateur de liens est au vert, et huit de ces liens ouvrent maintenant un casino
Un vérificateur de liens pose une seule question : le serveur a-t-il répondu? Quand un domaine expire et que quelqu'un l'achète, la réponse est encore 200. Possessed est une GitHub Action où Gemma 4 lit chaque lien approuvé contre la capture de l'Internet Archive du jour de son ajout, et redirige les liens possédés vers l'original. Sur les 1 000 billets les plus aimés de DEV, il en a trouvé 183.

Last Seen : j'ai appris à un drone de onze ans à retrouver une personne à partir d'une seule photo, et à demander avant de suivre qui que ce soit
Last Seen donne à un DJI Phantom 3 de 2015 une seule photo et une zone de recherche. OpenCV 5 trouve et compare chaque personne, Claude décide où regarder ensuite, et un humain répond à « Est-ce que c'est elle? » avant que le drone suive qui que ce soit. Piloté en direct dans un parc : trouvé dès le premier balayage à 0,85, suivi pendant 90 secondes, 49 épingles sur la carte.