Inspiration
Closet full of clothes but don’t know what to wear… Sadly we found this problem to be much too common in today’s world. A never ending stream of fashion trends and ads convince us we need to buy more, but what about making the most of what’s already at hand. Research shows that most people only wear 20% of their wardrobe regularly. We wanted to build a tool that makes fashion management fun, efficient, reducing wasted money, and overconsumption ❤️
What it does
FashionKilla is a digital outfit recommender and wardrobe manager. Upload images of your clothes, and generate context aware outfit suggestions.
Recommendations are generated by text-to-text semantic search. Gemini-2.5-flash processes the image to extract a name, clothing categories (top, bottom, dress), and keyword text description. These descriptions are embedded with a sentence transformer and cached in a Mongo database for fast retrieval and similarity search. Users can filter, and delete clothing items. Fashionkilla also handles custom image naming and background removal automatically.
How we built it
Frontend: Next.js + React + Figma (wireframes) with Tailwind CSS for a clean, responsive design. Backend: Python + FastAPI to handle basic CRUD operations, PyTorch and sentence-transformer for calculating searching vector similarities, gemini api to analyze images Database: MongoDB to store closet items with metadata Image Handling: store Base64 string for simple image retrieval and display Design: Pixel-inspired UI with a playful, approachable aesthetic.
Challenges we ran into
Initially, we experimented with using CLIP or similar models that could embed both images and text into the same vector space. It was difficult to understand how these vectors were embedded and where the extracted features came from. This led us to discover that some models were embedding images with low-level image features, like similar RGB values, rather than capturing the contextual meaning of the clothing (e.g., style, occasion, or design), making the recommendations inaccurate. Another challenge was figuring out how to store and retrieve uploaded images efficiently, as most of us had experience only with simple database types. We explored different approaches, including Base64-encoded strings, direct URIs, and cloud storage solutions like S3 and Supabase, weighing trade-offs in performance, cost, and ease of integration with our AI pipeline.
Accomplishments that we're proud of
- Fully functional end-to-end workflow: We successfully built a complete wardrobe management system, allowing users to upload, categorize, view, and delete clothing items seamlessly. Every step, from image upload to recommendation, works smoothly in real time. We’re even excited to use it for ourselves :)
- Integrating AI/ML into the project: We implemented AI-powered recommendations using Gemini API and a pretrained sentence transformer, bringing machine learning directly into a practical fun application.
What we learned
- We got to apply concepts from Linear Algebra directly to solving real problems, such as computing cosine similarity between vector embeddings for outfit recommendations.
- Developing a full-stack website from setting up the database, frontend, and backend server to figuring out how to structure and connect them together
- The importance of data preprocessing, embedding caching, and efficient query handling to maintain speed for user experience
What's next for Fashionkilla
- Train our own model so similarity scores better reflect fashion-specific context, such as style, color, time period, and context.
- Currently, each clothing category is matched independently to the event prompt. In the future, we aim to implement an algorithm that can score combinations of clothes together instead of considering each piece in isolation.
- Adding auth so users can tailor to their preferences over time. We would also like for users to see their friends' wardrobes, and potentially add clothes borrow system Provide more detailed categories, such as outerwear, shoes, and accessories.
shoutout asap ;)
Built With
- fastapi
- figma
- geminiapi
- mongodb
- next.js
- python
- pytorch
- react
- sentence-transformer
- typescript
Log in or sign up for Devpost to join the conversation.