Home - amanda-zambrana/What2Wear GitHub Wiki
Project Overview
What2Wear is a mobile app designed to help users manage their wardrobe by enabling the creation of a digital inventory of one's physical wardrobe. It aids users in self styling through outfit shuffling of one's wardrobe to create new outfits or by AI-generation of full outfit suggestions. All created outfits can be saved in custom style boards, where users can store their favorite styles to be easily accessed anytime! What2Wear will also give outfit recommendations based on local environmental factors, providing users with advice on how to dress for the daily weather.
Project vision
Our vision is that What2Wear changes the way users think about fashion. The time-consuming and frustrating task of choosing an outfit becomes simple, fun, and convenient with What2Wear! Self-styling is no longer something you have to do at home in your closet, instead, you can browse your wardrobe anywhere, anytime! Users can mix and match their inventory, browse smart shuffle outfit combinations, and receive style suggestions based on weather -- all from any location.
The ultimate vision for What2Wear is of a mobile application providing both free and premium features.
- The free tier features include clothing/accessory upload, outfit shuffle / smart shuffle, style board creation and organization, weather suggestions, as well as social interaction with other user accounts.
- The premium tier of What2Wear will include additional features such as outfit analytics, integrated calendar planning, and an integrated shopping feature.
Project Scope
Throughout the course of this semester, we plan to accomplish the creation of a mobile application interface that includes the following major features, developed in the following order according to importance for app functionality:
- Basic application that allows users to create an account
- Users can upload images of their inventory, categorize them, and store them in their digital wardrobe
- Enable the outfit shuffle feature (simple outfit shuffle allowing users to randomly mix and match their clothes to create outfits). Enhance the feature to allow users to filter their shuffle (ex: filtering out certain colors or styles of clothing).
- Integrate the WeatherAPI to provide daily environmental factors in order to suggest certain clothing type in the case of severe weather conditions
- Enhance the outfit shuffle to include smart shuffle, which uses AI to suggest coordinating/matching entire outfits from the user's personal wardrobe.
If these features are achieved before the duration of the semester is up, we will move on to including more features. Additional features will be developed in the following order:
- Image background removal API, automatically removing backgrounds from all images of clothing and accessories uploaded to a user's digital wardrobe (enhancing application aesthetics)
- Outfit analytics based on outfits stored in user style boards
- Calendar integration for outfit planning
- user interaction features, allowing users to view and interact with one another's digital wardrobes
- Integrated shopping / wishlist feature
Roles
- Project Lead: Amanda
- Project Manager: Amanda
- Architect / Tech lead: Amanda, Siddharth
- Developers: Amanda, Siddharth, Harsha, Meghana, Karthik
- DevOps / Automation: Siddharth, Karthik, Harsha
- Test Engineer: Meghana, Siddharth, Harsha
- UX Designer: Amanda, Meghana, Siddharth
- Requirements Engineer: Amanda
Project Risks
- User Experience: The user experience is very important for an application like What2Wear. We need to ensure that we create a user-friendly UI that is conducive to a pleasant user experience. There is a risk in developing a UI that is too complex, confusing, or messy for users to actually enjoy. We need to put time and care into the UI/UX development to avoid this.
- APIs: There is risk with Weather APIs, as they can have downtime, inaccurate data, or limited coverage for certain regions. So, we should use a reliable source like OpenWeatherMap API with fallback options. We should also make sure the communicate to the users if and when there is a time that weather data is unavailable at that moment.
- React App: Since we are building a React mobile app, the cross-platform nature of it might lead to inconsistent experiences between iOS and Android users. To avoid this, we need to thoroughly test the app on both platforms, and consider building native features to ensure better performance.
Assumptions
- Assumes that there is access to consistently accurate weather data via third-party APIs.
- Assumes that users are willing to trust AI-suggested outfits as being worthy of wearing. Some users may prefer more manual control over their choices (these users do not have to use the smart shuffle feature, instead, they can use the simple random outfit shuffle feature which they can manually manipulate to filter out certain clothing styles and colors as well as lock individual categories of clothing).
- Assume that users will have modern smartphones capable of running the app and supporting image uploading and processing features. Older devices could potentially face performance issues.
- Assumes that users will have consistent internet access for fetching weather data and gaining AI-powered outfit suggestions.
- Assumes that users' clothing will fall into conventional categories such as pants, shirts, shoes, dresses, etc. Any unconventional or hybrid types of clothing might cause classification issues for the AI models used.
- Assumes that the AI recommendations will align with cultural and seasonal fashion trends. There is potential for outfit suggestions to not always feel relevant in certain regions or cultural contexts.