Project Info
This project did not submit a demo video on Devpost.
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 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
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.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 41
- 24
- 15
- 8
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
7 of 8 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
74 KB
Source files
33
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
hoethan231/WINC
57 files · 16.4 MB · @ 9061688
Structure
Interface
26 files · 46%Screens, components and styles rendered to the user.
Application logic
6 files · 11%Domain rules, services and shared utilities.
Data & schema
1 file · 2%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript79%
- Python18%
- Markdown2%
- CSS1%
- YAML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 25- @daypilot/daypilot-lite-react
- @radix-ui/react-aspect-ratio
- @radix-ui/react-label
- @radix-ui/react-slot
- @radix-ui/react-tabs
- @tabler/icons-react
- axios
- class-variance-authority
- clsx
- framer-motion
- next
- react
- react-big-calendar
- react-dom
- react-dropzone
- react-modal
- react-router-dom
- tailwind-merge
- +7 more
backend/requirements.txt
pypi · 9- flask
- flask-cors
- google-cloud-storage
- google-generativeai
- mediapipe
- opencv-python
- pillow
- python-dotenv
- singlestoredb
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.