Inspiration

We’ve all seen how common it is for people to overspend on clothes, only to wear them once or twice a year. Yet despite having full closets, millions still struggle to decide what to wear each day, often overwhelmed by too many choices. After talking to our peers, we realized how frequently people forget what they own or avoid certain pieces because they’re harder to style. We wanted to build something that not only simplifies choosing outfits but also helps people reconnect with their wardrobes and cut down on wasteful buying habits.

What it does

Wearhouse is an AI-powered mobile app that turns your real closet into a smart, interactive wardrobe. Users simply upload photos of their clothes, and the app builds a virtual closet where everything is organized and easy to browse. From there, Wearhouse’s stylist algorithm generates five outfit combinations using the user’s own pieces, adapting each look to the occasion, whether it’s a game day, date night, or formal event, even factoring in context like weather. As users rate each outfit, the system learns their preferences and refines future recommendations. With its virtual try-on feature, Wearhouse goes beyond text: creating a personalized AI avatar that lets users see how each outfit would actually look on them.

How we built it

Wearhouse was built using Expo, a React Native framework, alongside a Flask-based backend that handles AI processing. Google’s Gemini 2.5 Flash Image (nano-banana) was used for clothing and avatar image generation, while Gemini 2.5 Flash was used for the recommendation system. Additionally, we integrated Firebase services, specifically Firestore, for storing and retrieving user data and wardrobe items. We also experimented with a CLIP model that generates a vector embedding for each image, trying to capture hidden meanings between different clothing items. We can then use these embeddings to infer a user’s intended style and match outfits to those preferences.

Challenges we ran into

We initially found it difficult to implement accurate clothing recognition, and to arrive at a recommendation framework based on user preferences was a challenge, as well as carefully managing API calls and data handling when passing data between Flask and React Native. Our team also encountered many roadblocks with regard to generating the user avatar with the respective outfits for the “try it on” feature. Additionally, since our generative AI functionality required significant processing power, we needed to ensure that users didn’t have to wait too long between requests, and they didn’t consume too many credits.

Accomplishments that we're proud of

We’re especially proud of the app’s cohesive experience, from the Gemini clothing recognition pipeline to the AI stylist capable of interpreting user queries and contextual factors. Since our app is designed to make people look stylish, we knew we had to make the app itself stylish, which is why we included sleek animations. Our project’s virtual try-on feature and UI also contributed to giving the platform an interactive feel, making outfit planning more enjoyable.

What we learned

While building Wearhouse, we significantly developed our knowledge of creating mobile applications with AI integration, specifically improving our understanding of image capture, preprocessing, and prompt engineering, as well as efficient data management. Additionally, we developed experience working with large language models and cloud-based storage services such as the Google Cloud Platform.

What's next for Wearhouse

Wearhouse will help users rediscover the full potential of their wardrobes while also making outfit planning more efficient and personalized. Moving forward, we plan to develop social sharing features so users may exchange or recommend outfit ideas. We also hope to enhance the virtual try-on experience with real-time pose estimation and visualization, as well as adding a "compatibility score” derived from creating embeddings for outfits that can provide a measure of how likely a user is to like a recommendation.

Share this project:

Updates