-
-
Owner desk: appointments, PayPal holds, and look metrics (photos tried, previews rendered, looks booked).
-
Cut + color chained: YouCam AI Hairstyle (Hush cut) recolored with YouCam Hair Color (Cherry Red). Drag to compare.
-
Stylist brief: before/after, YouCam length, lightening warning, locked price and approval time.
-
YouCam Hair Length Detection sets the salon's length price tier.
-
Locked quote: color goes on after the cut, so a shorter cut lowers the length price.
-
The salon's real color menu on the client's photo (YouCam Hair Color preset Copper).
-
Start: add a selfie (with photo consent) or use the pre-rendered sample.
Inspiration
Hair color is the most expensive service a small salon sells, and it is booked blind. The client says "honey blonde" and pictures one thing while the stylist pictures another; salons price color by hair length, so the surcharge appears at the chair; and a no-show on a two-to-three-hour color slot costs the salon the most. Those three problems sit on one booking.
What it does
- Your photo, your length. YouCam Hair Length Detection classifies the client's hair, and LookLock turns the term into the salon's length price tier.
- The real menu, on you. Each color service maps to YouCam Hair Color (presets such as Copper Red and the Caramel ombre, or hex palettes tuned to the salon's own Cherry Red, Honey Blonde and Ash Gray). Each cut maps to a YouCam AI Hairstyle (hair-transfer v2.1) template. Picking a cut and a color chains them: the cut renders first and is recolored.
- A locked quote. Color goes on after the cut, so a cut that shortens the hair lowers the length price. The total, duration and deposit are stored on the booking and never go up at the chair.
- Book the look. The client picks a time and approves the look, the price and the deposit policy in one tick, then approves a PayPal authorization: a hold, not a charge. Show up and it is released.
- Stylist brief. The owner desk shows the approved look on every appointment, with before/after, the YouCam length term, a lightening warning (strand test and bond treatment), the locked price and the approval time. If a no-show fee is disputed, the approved preview is part of the evidence.
- A chat front desk can render looks on request ("show me copper") and book them with tools.
How we built it
Cloudflare Workers (D1 for looks, previews and bookings; KV for photos and renders with a 30-day TTL), YouCam API v2 from the Worker (File API upload with pre-signed PUT, task start, browser-driven polling, one status check per request), renders copied to KV immediately because result URLs expire in two hours, chaining through src_file_url, PayPal Orders v2 with intent AUTHORIZE, Workers AI for the front desk, AG Grid and AG Charts on the owner desk. Photos are resized to 1024 px JPEG in the browser so one upload fits every hair feature.
YouCam APIs used
| API | Use | Units |
|---|---|---|
| File API | client photo upload, reused by every task | 0 |
| Hair Length Detection | length tier and price | 2 |
| Hair Color | color previews (presets, ombre, palettes) | 1 |
| AI Hairstyle (hair transfer v2.1) | cut previews from 5 templates, hair_color: src |
2 |
Chaining (src_file_url) |
cut + color in one look; an already rendered cut is reused, so a combo costs 1 unit | 1 |
Challenges
- The first sample photo failed length detection (
error_face_angle_invalid, more than 10°); engine errors are now turned into plain retake tips, and the sample is a frontal portrait. - Two presets rendered off-tone on brown hair (Honey Blonde mustard, Ash Gray green); both now use tuned hex palettes.
- Units: 16 per photo, a daily ceiling, 5 photos per visitor per day, identical previews never re-run, and a pre-rendered sample so judges can try everything for free.
Honest by design
Photo consent before upload, deletion after 30 days, "AI preview, real results vary; your stylist confirms at the chair" on every preview, the length labelled as an estimate, and money that moves only through a deterministic policy engine.
What was new during the submission period
LookLock started on Oct 13, 2026 from the booking and deposit engine of ShowUp, my PayPal hackathon entry from the same week. Everything YouCam is new (client, looks, previews, length pricing, try-on page, look-aware agent tools, locked quotes, stylist brief, look metrics); the commit history shows it.
What's next
Hair density (scalp care add-on and bleach safety), hair type and frizz for treatment upsells, a stylist-side "formula" note, and Shopify-style metering for salon chains.
Try it
Press Use the sample photo (pre-rendered, no units). Try colors and cuts; cut + color combinations not yet rendered run live. Book a look, tick the box and use the PayPal card option with a test card from PayPal's sandbox card generator (developer.paypal.com/tools/sandbox/card-testing; sandbox only, no real money). Own photos work too after ticking the photo consent box.
- Live demo: https://looklock.sellerkit.workers.dev (owner desk: /desk, press Reset demo)
- Source (MIT): https://gitlab.com/globalmatchhub/looklock
Built by a solo developer in Korea. English text was written with AI assistance. Sample photo: Zoran Borojevic on Unsplash.
Built With
- ag-grid
- cloudflare-d1
- cloudflare-workers
- javascript
- paypal
- workers-ai
- youcam-api
Log in or sign up for Devpost to join the conversation.