| --- |
| title: Personal Style Matcher |
| emoji: ✨ |
| colorFrom: pink |
| colorTo: gray |
| sdk: gradio |
| sdk_version: 5.50.0 |
| app_file: app.py |
| pinned: false |
| license: mit |
| --- |
| |
| # ✨ Personal Style Matcher |
|
|
| A Gradio app that finds your personal color profile and your **Top 3 matched |
| looks** from the [`lihicarmeli/fashion-stylist-multimodal-v2`](https://huggingface.co/datasets/lihicarmeli/fashion-stylist-multimodal-v2) |
| catalog, with real, clickable shop links for every piece. |
|
|
| ## How it works |
|
|
| 1. **Input** — upload a photo, or pick your skin tone / undertone / style / |
| gender / age / eye color from dropdowns. |
| 2. **Embed** — the photo (or a feature sentence built from your dropdowns) |
| is embedded with `openai/clip-vit-base-patch32` — the model selected in |
| Part 3 after a multi-criteria evaluation (performance, time, size, |
| integration effort) against `clip-vit-large-patch14` and |
| `siglip-base-patch16-224`. |
| 3. **Search** — a FAISS flat-L2 index over the catalog's image embeddings |
| returns the closest matches, with a 3-tier demographic fallback (strict |
| gender + age → gender only → fully open) so you never get an empty |
| result. |
| 4. **Output** — your derived seasonal color profile, plus 3 full outfit |
| cards (top / bottom / shoes / accessory), each with a real retailer |
| search link (Zara, H&M, ASOS, or Mango) and an optional one-line AI |
| stylist note generated by a small instruction-tuned language model |
| (`Qwen/Qwen2.5-0.5B-Instruct`). |
|
|
| ## Files |
|
|
| - `app.py` — the full Gradio application. |
| - `requirements.txt` — pinned dependencies. |
|
|
| No local data or model files are required — both the dataset and the |
| embedding model are streamed directly from the Hugging Face Hub on startup. |
| The first launch will take a minute or two while the catalog's 1,000 images |
| are embedded; after that, the embeddings are cached to disk for faster |
| restarts. |
|
|