Swatchless: answering "which shade matches me?" with the customer wearing it, checked against Luxy Hair's own stylists
Hair can't be returned once it's worn, so online buyers order a $127.50 swatch ring and wait a week. Swatchless gives the stylist a shortlist in two minutes: YouCam measures density and length and renders each pick on the customer, Claude chooses from 973 real pieces, and code refuses anything out of stock. Luxy's stylists' shade made the shortlist for 13 of 16 people.

The desk at 9:40 on a Monday
Dana (a composite, not a real stylist) answers the "Text a Stylist" line at an online hair retailer. Most mornings the same message comes in: a selfie, a photo of the top of the head, and "my part keeps getting wider, which fill-ins match my colour?" The honest answer today is a swatch ring in the post (Luxy Hair's costs $127.50), a week of shipping, and a purchase that cannot be returned, because hair extensions are non-returnable once opened.
Swatchless gives Dana a different answer in about two minutes. She drops both photos in. YouCam measures the customer's hair density from the head-down photo and their length from the selfie. Claude reads the measurements, looks at the selfie and the store's swatches, chooses the pieces worth trying, and has YouCam render each one on the customer from the store's own product photo. It looks at every render, drops the ones that changed the face or missed the shade, and hands Dana a shortlist with the customer wearing each pick, a cart link into the real store, and a reply in her voice.

What the desk did for the demo customer
The demo customer is a composite: both photos are AI-generated, and every page that shows them says so. In the live run from 27 October, YouCam measured medium density, with the scalp showing at the part, and length as above chest or longer. Claude chose fill-ins and a topper for the part because of the density read, shortlisted Luxy Hair's Off Black and Dark Brown and had YouCam render both on the customer, and added Ellen Wille's Espresso Mix topper without a render. The page says why: the only photos the store lists for that topper show a different, lighter shade, so a render would have shown the wrong colour. Then it drafted the reply.


What the model decides, and what the code refuses
Claude drives Perfect Corp's hosted YouCam MCP server directly, through the Anthropic MCP connector. It decides which category fits the density read, which shades to try, and which of the store's photos to use as the reference; whether a render is good enough, needs redoing, or gets dropped, after looking at every one before it may cite it; and when to stop and ask for a better photo. The code decides the rest, and the model cannot talk past it: a cited render must be one YouCam returned in this consult, made from a store photo of the same shade, so a render of one product is never shown under another; a pick with no render must say why; no product twice, at most three items; and the variant must be in stock on the store's site right now.

Against Luxy's own stylists
Luxy Hair photographs real people before they wear its hair and publishes the shade its stylists put on them. That shade is the answer. The desk gets only Luxy's "before" photo, never sees that person as a reference, and picks from the 30 Luxy shades that have a trusted on-model photo. All 18 people ran. For 2 of them every trusted photo of their shade was a photo of them, so once those were excluded the desk could not be offered it at all; those rows are reported as not offerable and counted on neither side. Of the other 16, the stylists' shade was on the shortlist for 13 and was the first pick for 8. Picking at random would land the first pick about one time in thirty. In 5 of the 8 first-pick misses, Luxy's shade was the desk's second pick: Off Black before Jet Black, Light Gray before Dark Gray, Dark Brown before Chocolate Brown.

The same 18 people ran again with YouCam off: the same model, photo and swatches, no YouCam tools. With YouCam off, Luxy's shade was on the shortlist for 12 of 16 and the desk could show 0 of 16 wearing anything. The first pick matched 8 of 16 either way. YouCam rendered 15 of the 16 with it on; the one photo it could not render was taken from behind, with no face in it.

After the reply, it keeps watching
An out-of-stock pick is refused and goes on the watch list. A daily job re-reads the store's live stock and, when the piece is back, renders it on the customer again and drafts the follow-up for the stylist to send. The catalogue behind all of it is 973 fill-ins, toppers, hairpieces and headcovers in 230 shades, read from Luxy Hair, Halo Couture and Ellen Wille's public product feeds, with every product photo classified once so the agent is only offered front-facing photos the try-on can use. Swatchless is not affiliated with any of the stores.

What is not claimed
The 13 of 16 is graded by Luxy's stylists, not by me, but sixteen people is a small benchmark, and the stylists' shade is one team's choice rather than the only right answer. A one-person difference between running with YouCam and with it off (13 against 12 on the shortlist) is within what a sample this size can move by chance, and the first pick matched 8 of 16 with or without it, so I do not claim YouCam picks better shades; it measures the density that decides fill-ins versus length, puts the shade on the customer before they buy hair they cannot return, and gives the desk a render to reject when it changes the face. A render shows the finished look, not how a piece clips in or how much of the part it hides, and the site says so under every shortlist. Density needs a head-down photo and hair type needs three photos; without them the desk says what it could not measure rather than guessing. The demo customer is an AI-generated composite, and the stylist in the story is a composite too.
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
View the project
Possessed: your link checker is green, and eight of those links now open a casino
A link checker asks one question: did the server answer? When a domain expires and someone buys it, the answer is still 200. Possessed is a GitHub Action where Gemma 4 reads each passing link against the Internet Archive's capture from the day it was added, and points the possessed ones back at the original. On DEV's 1,000 most-loved posts it found 183 such links.

Last Seen: I taught an eleven-year-old drone to find a person from one photo, and to ask before it follows anyone
Last Seen gives a 2015 DJI Phantom 3 one photo and a search area. OpenCV 5 finds and compares every person, Claude decides where to look next, and a human answers "Is this them?" before the drone follows anyone. Flown live in a park: found on the first scan at 0.85, followed for 90 seconds, 49 pins on the coordinator's map.