Inspiration
Fashion is a form of self-expression, but knowing how well an outfit actually fits your style, body proportions, and aesthetic goals can be hard without a second opinion. We wanted to create an intelligent fashion companion — one that doesn’t just say “nice outfit!” but explains why it works or how to improve it. FitMaxx was born from this idea: a modular AI system that understands fashion across different styles and gives users both rating on how well they wear according to their chosen style and insightful feedback.
What it does
FitMaxx is an AI-powered virtual stylist. Users upload an image of their outfit and select a clothing style (e.g., streetwear, formal, casual). FitMaxx then:
- Rates the fit with a drip score (0–100) based on how well the outfit matches the chosen style.
- Analyzes body proportions to determine how well the outfit complements the user's physique.
- Identifies clothing in the image using GPT-4o’s vision model and offers personalized feedback - whether affirmations or suggestions to improve.
All of this is shown in a clean Gradio interface.
It's modular — you can train the backend to understand any new style by feeding it labeled outfit examples.
How we built it
Frontend:
- Gradio-based UI (ui.py) that handles image uploads, style selection, and result display.
Backend:
- train.py: Trains a separate MLP classifier for each style using image embeddings from OpenAI’s CLIP model and body proportion features extracted via MediaPipe.
- predict.py: Loads the appropriate model and outputs a drip score based on the uploaded outfit.
Body Analysis:
- langtest.py and proportionmatch.py: Use pose landmarks to compute body ratios and limb proportions.
- Outputs a verdict on whether the outfit suits the user’s body proportions
OpenAI GPT-4o Integration:
- Performs vision-to-text garment recognition.
- Generates context-aware fashion analysis and improvement tips.
Challenges we ran into
Proportion detection is noisy — especially with occlusions, shadows, or uncommon poses. Tuning MediaPipe and combining it with pose-informed heuristics was tricky.
Style classification is subjective. We had to hand-label training data as high, medium, and low quality — and keep our model flexible enough to generalize from limited examples.
Making the system modular and extensible while keeping the codebase clean was a significant design challenge.
Accomplishments that we're proud of
Built a modular AI system where new styles can be added with image data.
Combined computer vision + neural networks in a pipeline that delivers actionable fashion feedback.
Delivered a clean and intuitive end-to-end user experience using Gradio.
Achieved a working blend of rule-based logic (for proportions) and ML inference (for drip scoring).
What we learned
How to integrate OpenAI’s vision APIs with user images for tailored real-time feedback.
How to use CLIP embeddings as a surprisingly powerful foundation for style classification.
The importance of body proportions in fashion analysis — and how to extract them reliably using pose estimation and custom heuristics.
How to keep a machine learning system trainable and reusable, letting users add new styles or tweak feedback loops.
What's next for FitMaxx
Multi-style comparison: Rate a fit across several styles to see which one it nails best.
Outfit recommendations: Based on body type and preferred style, suggest pieces that would improve the fit.
Improvements to the user end workflow to make training new models more seamless
Integrate OpenAI to also be trained on preferences for new custom styles
Built With
- clip
- gradio
- joblib
- langchain
- langgraph
- mediapipe
- mlp
- numpy
- openai
- pandas
- pillow
- pytorch
- rembg
- scikit-learn
- torchvision
Log in or sign up for Devpost to join the conversation.