Most shopping begins with more. Kasane begins with what is already yours.
Kasane turns a real wardrobe into a measurable decision system. It maps the colour and role of every owned piece, tests one-garment additions against Sanzo Wada colour combinations and practical constraints, then recommends the single gap that unlocks the most genuinely distinct outfits.
YouCam makes that decision visible: first on the wearer with Clothes V4, then across four occasion-matched settings with Background Change and five-second Video V2 clips, before Kasane hands the shopper to a real retailer page.
The goal is not more shopping. It is one purchase that earns its place.
| Starting evidence | Kasane result |
|---|---|
| 10 owned pieces | 1 evidence-backed wardrobe gap |
| 86 Wada combinations evaluated | 4 distinct colour-valid outfits |
| 103 historical palette colours | 9 owned pieces used across those looks |
| 1 creator goal | 4 settings + 4 five-second creator clips |
The winning demo recommendation is an oxblood bottom. It connects cloud blue, soft neutrals, warm earth tones, and denim into four different Wada-valid assignments. A separate, dated retailer record then provides a real product-page handoff; it is clearly labeled as the closest live match, not the generated prototype SKU.
Kasane does not claim that taste is objective or that Sanzo Wada's work is a scientific law. It makes one subjective styling decision repeatable, inspectable, and falsifiable:
- Observe — the user's own wardrobe is the dataset.
- Measure — garment colours are normalized to hex, converted to CIELAB, and compared with CIE76 colour distance.
- Form a hypothesis — find Wada combinations that are exactly one compatible garment slot away from completion.
- Test it — insert each candidate into the wardrobe and rerun every eligible combination.
- Verify — count only distinct garment assignments with unique pieces and compatible slots.
- Constrain — account for occasion, climate, budget, size, stock, delivery, returns, and creator-feed direction when those inputs exist.
- Visualize — use YouCam to show the recommendation on the wearer and translate it into creator-ready contexts.
This moves fashion advice from “trust the recommendation” to “inspect the evidence.”
- Browse the original family wardrobe, including pieces that do and do not contribute to the result.
- Open the Kasane scan: one useful gap, four outfits unlocked.
- Inspect the owned garments and Wada IDs behind every outfit.
- Preview the oxblood trouser on the wearer through YouCam Clothes V4.
- Reveal four complete looks: creative office, café catch-up, coastal escape, and gallery night.
- Open four verified YouCam background settings and bring each one to life as a five-second clip.
- Play the complete 20-second creator set and continue to a dated retailer product page.
| YouCam capability | How Kasane uses it |
|---|---|
| AI Clothes Virtual Try-On V4 | A same-origin server relay uploads an approved shopper photo and worn lower-body reference, creates a lower_body task with change_shoes: false, polls it, and returns only the result needed by the browser. |
| AI Photo Background Change | Four one-time API tasks placed the four Wada-valid looks into office, café, vacation, and gallery-party settings. |
| AI Video Generator V2 | Each setting was animated into a genuine five-second vertical clip with garment-preserving motion prompts. |
| Demo safety | The eight creator outputs are saved and explicitly labeled. Their generation routes were removed after capture, so judging cannot accidentally repeat billed calls. |
The YouCam bearer credential exists only in the server environment. It is never placed in a VITE_ variable, committed to source, returned to the browser, or written to logs. The default frontend mode uses a dated verified Clothes V4 output; live Clothes mode is opt-in.
The saved creator run used 36 units once: 16 for four Background Change results and 20 for four five-second videos. All eight upstream creator tasks were deleted after the outputs were downloaded.
See the complete YouCam integration note for the request flow, trust boundary, fallback behavior, and retention rules.
flowchart LR
W["Wardrobe inventory"] --> K["Kasane deterministic ranker"]
C["Climate, occasion and commerce constraints"] --> K
D["86-entry Wada working subset"] --> K
K --> R["Verified gap + four outfit mappings"]
R --> UI["React / TypeScript experience"]
UI --> CW["Same-origin Worker relay"]
CW --> YC["YouCam Clothes V4"]
R --> CS["Creator-scene manifest"]
CS --> SAVED["Saved Background Change + Video V2 outputs"]
P["Dated retailer record"] --> UI
The ranking engine is fully contained in this repository and deterministic. The interactive product is separated into the Kasane application, reusable mobile runtime, creator feature, YouCam browser client, server-only relay, data fixtures, and verified media.
See Architecture for module responsibilities and the security boundary.
engine/ deterministic gap ranker, tests and Wada subset
src/KasaneApp.tsx wardrobe, gap, evidence and commerce experience
src/features/creator/ four-scene creator-set interaction
src/integrations/youcam/ browser-side verified/live adapter
src/mobile/ reusable mobile runtime and interaction primitives
src/data/ deterministic inputs, outputs and product record
worker/ server-only YouCam relay and SPA hosting boundary
public/assets/kasane/ optimized wardrobe and verified YouCam media
tests/ Worker contracts and mobile-runtime tests
docs/ architecture, API, sourcing and asset provenance
Requirements: Node.js 22+ and npm.
npm ci
npm run generate:kasane
npm run devThe local experience works without a YouCam key because verified mode is the default. Copy .env.example only when changing non-secret client configuration. Live credentials belong in the hosting provider's server-side secret store.
npm run test:engine
npm run check:runtime
npm run generate:kasane
npm run build
npm run test:sites
npm run test:runtime- The bundled data is an 86-entry working subset, not the full 348-combination Wada corpus.
- Photo-derived hex values and CIE76 distance are prototype approximations; lighting, fabric sheen, white balance, and camera processing affect colour.
- “Colour-valid” does not verify silhouette, construction, fabric, layering, cultural context, size, or fit.
- Personal or complexion analysis was disabled for this demo.
- Virtual try-on is an appearance simulation, not a size or fit guarantee.
- Saved YouCam outputs are dated verified results, not fresh generations.
- Retail price, size, stock, delivery, and returns remain controlled by the retailer and must be checked on its product page.
- The ranker preserves Wada plate IDs and cites the historical source path in engine provenance.
- The product image in Kasane is generated; no H&M product imagery is redistributed. The retailer handoff is a dated verified link documented in Product sourcing.
- Packshots, portraits, saved try-ons, backgrounds, and videos are included only to demonstrate this project. Personal/demo media is not licensed for reuse. See Asset provenance.
Kasane is a hackathon prototype and a product thesis: the digital wardrobe should not merely remember clothes. It should help every future purchase create more value from what a person already owns.



