-
-
Hairloom: keep a hair passport before treatment, then try wigs, your own hair and headwear on the same face
-
The hair passport: YouCam's hair type, frizz, length and face readings, cap size and a measured shade
-
GIF
Drag the mirror: Anjali at week 4, and her own hair put back by YouCam's Hairstyle Try-On
-
Try: every wig in the boutique on her face, ranked by how close it is to the hair she kept
-
Thinning: Hair Volume and Hair Extension try-ons on a photo of thinning hair
-
The fitter's brief, decrypted in the fitter's browser: passport, shortlist and a pull list in her shade
-
For boutiques: the ROI model, with every assumption labelled
-
How Hairloom is built
-
Evidence: every YouCam task we ran, including what failed
Try the free demo (no photo needed) · Fitter desk · Evidence · For retailers · Code (MIT)
Choose your wig while you still have your hair
About two in three people on chemotherapy lose their hair (JAAD), usually two to three weeks after the first cycle (ACS, CRUK). Cancer charities say to choose a wig before that, while a fitter can still see your colour and style. But a worn wig can rarely be returned, so many people end up buying at the worst moment, matching from memory.

Hairloom moves the choosing earlier, and puts it on your own face:
- Keep a hair passport. Three photos while your hair is still yours, read by YouCam (curl, frizz, length, face shape and brows), plus your head size for the cap and a hair colour measured on the device and matched to a wig shade code.
- Try wigs before and after. At week four, YouCam's Hairstyle Try-On puts your own hair back, using the kept photo as the reference. Then every wig in the boutique, on your face, ranked by how close it is to the hair you kept, and recoloured to your shade.
- Brows and headwear. Brows often thin weeks later, so Makeup Try-On rebuilds them in the shape you kept. Headwear is tried on with the face kept exactly as it is.
- One sealed link to your fitter. Encrypted in the browser, with the key only in the link, so our server can't read it. The fitter sees the passport, the shortlist on your face, and a pull list in your shade with the right cap.

It also covers alopecia areata (a monthly photo record and a topper-or-wig plan), pattern thinning (volume and clip-in previews on a photo of thinning hair), men, and how wigs are paid for in India, the UK and the US.
The 11 YouCam APIs, and what each does here
Run counts are from the evidence page, which lists every task we kept: 246 runs, 235 succeeded.
| YouCam API | Job in Hairloom | Runs |
|---|---|---|
| AI Hairstyle Virtual Try-On | Every wig on your week-4 photo; your own hair back, from the kept photo | 95/95 (18/18 of them on real photos) |
| AI Hair Color Virtual Try-On | The wig in your measured shade code | 12/12 |
| AI Hair Type Detection | Curl pattern for the passport (three photos) | 5/5 |
| AI Hair Frizziness Detection | Frizz, from the same three photos | 5/6 |
| AI Hair Length Detection | Length, which ranks wigs | 5/5 generated, 2/5 real |
| AI Face Attribute & Ratio Analyzer | Face shape and brow shape and colour | 0/5 real at default strictness, 5/5 at "flexible" |
| AI Makeup Virtual Try-On | Rebuilt brows in the kept shape and shade | 9/9 |
| AI Image Generator (image to image) | Headwear that keeps the face; the demo's week-4 photos | 45/45 |
| AI Hair Volume Virtual Try-On | Fuller hair on a photo of thinning hair | 9/9 |
| AI Hair Extension Virtual Try-On | Clip-in length | 8/8 |
| AI Skin Analysis | An optional cosmetic skin check once a treatment cycle | 3/3 |
For a wig fitter's AI assistant: an MCP server
https://hairloom-studio.vercel.app/api/mcp (Streamable HTTP) has six tools. match_wigs ranks a boutique's own stock against a client's passport and returns a pull list in their shade; the others give shade codes, the demo stock, a demo try-on, dates around treatment and the unit cost of a fitting. It never sees client photos.
What we measured, including what failed
- Wig try-on on real photographs: 18 of 18 succeeded, including 8 of 8 on shaved heads. We publish the results, not the pictures, out of respect for the people photographed (nine Unsplash portraits, credited in NOTICE).
- Face reading: 0 of 5 everyday portraits read at the default angle strictness, and 5 of 5 at
face_angle_strictness_level: "flexible". - Hair length: 2 of 5 on slightly turned portraits.
- Beyond the hair: on one bearded man, both wig try-ons removed the beard. On a black-and-white portrait, the try-ons came back in colour.
- Colour: measured from product photos, 5 of 16 wigs came back as their listed shade code, and the measurement reads darker. So stock shows the listed code, measurement only ranks closeness, and the fitter confirms against swatches.
- Volume: the volume templates fill out the lengths and sides, but not a thin crown. The studio says so, and sends the client to a fitter for a topper.
What we learned about the YouCam API, and what we'd ask for
- Hair type and frizz need three same-size photos in one order (front, face to the right of the image, then to the left). We order the side photos from face landmarks, so a swapped upload still reads. Ask: name the photo that failed, or accept any order.
- Hairstyle try-on works on a bald head. The docs list
error_hair_too_short, but every bald and shaved source succeeded. Ask: document it; it opens a medical market. - Hair colour comes back as a category label, not a measurement, so we measure the hair pixels ourselves. Ask: a measured hair colour with a confidence, as eyebrow colour already is.
- Hat and scarf try-on restyle the whole person, so headwear uses image-to-image with an instruction to keep the face. Ask: a keep-identity flag.
- The volume and extension templates are all in the "Female" category. Ask: men's templates and a crown topper template.
Who pays

- Patients: never.
- Wig boutiques: a draft ₹399 + GST per fitter brief. A full fitting is 41 YouCam units ($1.97–2.26). At the labelled defaults, one extra wig sold a month covers the briefs.
- Wig brands: embed a free-per-view widget, and pay ₹99 per shop session, capped at 10 units.
- Hospitals, wig banks and CSR sponsors: ₹150 per sponsored passport, so 500 patients cost ₹75,000. Health care is an eligible CSR activity under section 135 of India's Companies Act.
- Pilot: eight weeks with one oncology wig bank in India. It succeeds if 60% of patients keep a passport before hair loss, fitting visits fall by 25%, and 80% of wigs are still worn at four weeks.
How we built it

Next.js 15 on Vercel. The YouCam key stays on the server, a whitelist builds every request body, and task handles are HMAC-signed. Units are reserved before a task and refunded on failure, and a daily cap, a judge allowance and a call limiter protect the shared balance. Every task is deleted at YouCam once the result is fetched, on tab close too, with a daily sweep for anything left over. Photos and the passport stay in IndexedDB, hair colour is measured on the device (MediaPipe hair segmentation, CIEDE2000), and fitter links are sealed with AES-GCM in the browser. 39 tests, green CI.
Built during the submission period (Oct 2026). The code is MIT.
Built With
- google-cloud
- mediapipe
- model-context-protocol
- next.js
- react
- typescript
- vercel
- web-crypto
- youcam-api
- zod

Log in or sign up for Devpost to join the conversation.