Skip to content

Repository files navigation

πŸ‘” FitCheck.AI

Your closet-aware fashion critic.
FitCheckAI is a personal AI stylist that tags your clothes, roasts your fits, and builds outfits - all through an interactive Streamlit UI.

πŸŽ₯ Demo Video:https://youtu.be/s57yTOkLLwY


πŸš€ Features

🧠 1. Outfit Analyzer (LangChain + Qwen)

Upload a photo of your outfit and get a brutally honest AI critique, including:

  • Style breakdown
  • Score out of 100
  • Savage one-liner

All results are saved to MongoDB and de-duplicated using perceptual hashing.

🧺 2. Smart Closet Tagging (CLIP)

Upload individual clothing items - the AI classifies:

  • Item type (shirt, shoes, etc.)
  • Color (black, white, etc.)
  • Setting (indoor/outdoor)
  • Formality
  • Gender style

Saved in a consistent JSON format and stored in /Closet.

🧩 3. Outfit Generator

Generates full outfit recommendations based on:

  • Location (indoor/outdoor)
  • Formality (casual/formal)
  • Gender
  • Preferred color

Color compatibility rules are applied (e.g. blue pairs with beige, white, brown, etc).


πŸ› οΈ Tech Stack

ComponentTool / Library
UIStreamlit
Fashion CritiqueLangChain + Qwen2.5 VL (3B, quantized)
Image TaggingCLIP (openai/clip-vit-base-patch32)
DatabaseMongoDB Atlas
Data FormatJSON / .jsonl

πŸ—‚οΈ Project Structure

.
β”œβ”€β”€ fitcheck/
β”‚ β”œβ”€β”€ Fashion AI Advisor.py # Main Streamlit app
β”‚ β”œβ”€β”€ analyze_outfit.py # Outfit critic logic
β”‚ β”œβ”€β”€ tagging.py # Tagging with CLIP
β”‚ β”œβ”€β”€ tag_closet_items.py # Bulk closet tagger
β”‚ β”œβ”€β”€ test_Analyze_Outfit.py # Unit test for LangChain outfit critique
β”‚ β”œβ”€β”€ test_tag.py # Unit test for tagging module
β”‚ β”œβ”€β”€ testmongoconnection.py # MongoDB connection test
β”‚ └── pages/
β”‚ β”œβ”€β”€ 1_Add_to_Inventory.py # Upload and tag closet items
β”‚ └── 2_Get_Outfit_Suggestion.py# Outfit recommender (rule-based)
β”œβ”€β”€ Closet/ # JSON-tagged clothing items
β”œβ”€β”€ Images/ # Outfit photos
β”œβ”€β”€ designs/ # Wireframes + mockups
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ run_app.bat
└── vlm_tagging_test.ipynb # Prototype testing

πŸ§ͺ Example Output

Critique Output

Outfit Critique

Style: The outfit features a casual yet trendy ensemble consisting of a black beanie hat, a white scarf wrapped around the neck, a striped long-sleeve shirt under a black vest over jeans. The combination suggests an urban, laid-back vibe but lacks depth due to its simplicity.

Rating: 35/100

Comment: "This outfit might as well have been designed by a robot; it's so formulaic."

Closet JSON Schema

{
"image_id": "abc123",
"item_type": "Jacket",
"color": "Black",
"indoor_outdoor": "Outdoor",
"formality": "Casual",
"gender": "Men's",
"path": "Closet/jacket.jpg",
"folder": "Closet"
}

Outfit Recommender

Outfit Recommender


πŸ–ΌοΈ UI Concept Designs

These were mockups used to guide layout and flow.


Landing Page


Upload Interface


LeCritique Display


βš™οΈ Usage

Install dependencies:

pip install -r requirements.txt

Then launch the app:

streamlit run "fitcheck/Fashion AI Advisor.py"

πŸ‘₯ Team

  • Daniel Mehta
  • George Fotabong
  • Dylan Higuchi
  • Jacob DeAbreu

🧩 Notes

  • MongoDB URI is hardcoded for now (demo only - no sensitive data).

πŸ“„ License

This code is free to use, modify, and share for non-commercial purposes.
Commercial use requires prior written permission. All rights reserved.

About

πŸ‘” FitCheck.AI is your personal AI stylist. Upload outfits for savage critiques, auto-tag your wardrobe, and get smart recommendations - powered by Streamlit, LangChain, MongoDB, and VLMs like CLIP and Qwen.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages