Inspiration
We were inspired by the daily challenge many people face when deciding what to wear. Whether it’s the desire to dress appropriately for the weather or an event, or simply a need for inspiration, people often waste time and effort in front of their closets. We wanted to make the process easier and more enjoyable by creating an app that not only considers the weather and vibe of the day but also maximizes the use of the clothes people already own.
What it does
Our app, WINC (Walk-in Closet), generates outfit suggestions from a user’s own closet based on the user’s current weather and mood or vibe for the day. Users upload their clothing items into the app, and WINC curates complete outfits, giving them inspiration and maximizing the utility of their wardrobe. The app ensures that the outfits are not only fashionable but also practical, giving users more confidence in their daily dress choices. It also promotes sustainability by encouraging users to rediscover and restyle the clothing they already have.
How we built it
- Frontend: We used Next.js with Typescript and styled it with Tailwind CSS to create a fast, responsive, and highly interactive user interface. This allowed us to focus on a smooth user experience across devices.
- Backend: The core of our application is built in Python using Flask, handling user requests, clothing item categorization, and outfit generation logic.
- Data Storage: SingleStore was implemented for its powerful and easy-to-use capabilities to manage our data and, most importantly, perform efficient vector searches to match user-inputted vibe to the clothes in their wardrobe.
- Machine Learning: We used Google Gemini to perform image segmentation and image-to-text analysis, which singles out the clothing from the background, tags items based on categories, and provides intelligent outfit suggestions.
- Weather Integration: OpenWeather was used to integrate real-time weather data, allowing the app to suggest weather-appropriate outfits.
Challenges we ran into
This was our first time using Next.js with TypeScript, so we faced a learning curve as we developed the project. As a team of four working on both the front end and back end, we encountered challenges in merging the two sides to create a fully functional app. On the backend, we had issues storing images as blobs in the cloud and running them through segmentation, as well as connecting our two databases. We also struggled with getting CORS to work properly on Mac, which added to the complexity of the project.
Accomplishments that we're proud of
We’re proud of building WINC from the ground up, especially the backend, where we tackled complex tasks like image storage, segmentation, and database integration. Also creating a clean and intuitive UI/UX design, ensuring the app is easy to use and visually appealing. Despite the challenges of learning Next.js and TypeScript for the first time, we worked through these obstacles as a team and delivered a fully functioning app.
What we learned
It was our first time using Next.js along with TypeScript, so through this project, we learned how to navigate using these frameworks and languages, deepening our understanding of building responsive and performant web applications. For the backend, it was the first time using SingleStore and working with Google Gemini, so we became more comfortable working with databases and, more generally, adapting to new technologies. We also learned the importance of using version control effectively — such as making atomic commits, and git pushing and pulling often so there won’t be millions of conflicts.
What's next for WINC
Future features of WINC will include the ability to add more items, like shoes, one-pieces, and accessories, to create complete outfits. Within the dashboard, it’ll allow users to create their own outfits and update their Outfit Log. This log will train the AI to suggest more personalized outfits and avoid duplicating looks within an appropriate short timeframe. Users will also be able to save and favorite their outfits, as well as edit tags on their clothing items. There will also be a mobile app that will enable users to easily snap pictures of their clothes directly from their phones.
Built With
- flask
- google-gemini
- next.js
- python
- react
- singlestore
- tailwindcss
- typescript


Log in or sign up for Devpost to join the conversation.