Inspiration
Computer science majors don't dress well. Trust us, we can speak from personal experience. We've noticed that it's often difficult to express and explore our sense of style, and dive into the world of fashion for the very first time. To solve this problem, we wanted to create a platform that focuses on making different styles of fashion easily accessible to others while creating communities that are brought together for their mutual interests in similar aesthetics.
What it does
FitFinder (patent pending) allows users to takes an initial diagnostic, which provides them with a variety of clothing images to "rate". We took inspiration from Tinder's filtering system by allowing users to swipe right if they enjoyed the clothing style in the image, or swipe left if they didn't. This allowed our algorithm to learn and adapt to the user's preferences until it had successfully classified the user's sense of style. In addition, users have the option to save their favorite images from the diagnostic, and showcase them in their profile. The diagnostic would output 4-8 fashion tags to classify their style. Further, we utilized generative AI with AWS Bedrock to generate a four-word style to encompass the tags. For example, the generated style could be something along the lines of “preppy summer-casual” to summarize the tags “short-sleeves”, “plaid”, and “cotton”.
From there, the user can access the “Discover” page. There, FitFinder will recommend a list of profiles from other users across the world who share similar aesthetics, and display a similarity score for the two users. Users then have the ability to follow each other, and even message them in-app in real time. People can connect over their mutual interests and recommend fashion advice to each other, allowing them to form lifelong friendships.
Finally, users can edit and customize their profile, being able to edit one-line bios, upload a profile picture, and customize their fashion tags. By creating a community where fashion exploration is accessible through connection, we can dream of a world where computer scientists stay inside in style.
How we built it
We started with finding a good dataset - one simple Google search for fashion datasets led us to find the DeepFashion dataset, which thankfully had tens of thousands of different outfits that were categorized by what sorts of outfits they were - what material, what pose, etc. From there, we began with just the recommendation algorithm. Our algorithm works entirely without any AI - all mathematics based. For every possible value of every category that a piece of clothing can have (e.g. "made out of cloth" or "wearing a ring"), the app keeps track of how a user responds to that aspect through a series of arrays of integers. Every time a piece of clothing is considered favorable, the algorithm increments all the different attributes of that clothing. Every time a piece is unfavorable, the algorithm decrements all those attributes. Then, when that user wants another piece of clothing, the algorithm goes through all 44k images and finds the outfits that have the highest matches to categories that were most favorable to the user, prioritizing those next. We then decided to host the dataset through Amazon S3 as it allowed us to rapidly upload all of the images to an external database. We utilized the Boto API to quickly upload all 44k images in one hour when it was expected to take nearly 12 through Amazon's Web Console. We also used PostgreSQL to host all of the user data since most of us had experience with that from a previous project. Our backend was made entirely with Flask as it was the easiest to get started with. We also utilized Amazon Bedrock to generate summaries based on the top clothing aspects for any user. For the backend, we decided to use Flutter because we felt we had the most experience with it. All of us ended up working on the backend as it was the one area of the project that needed the most consistent maintenance.
Challenges we ran into
One of the biggest challenges we ran into was focusing on too wide of a scope. At the beginning, we wanted to implement at least three other major features, including a marketplace to sell/trade clothes and even two-step authentication system. However, about halfway through the project, we realized that we had bitten off more than we could chew, and that we would have to scale down our project in order to finish in time. We ended up making a priority list of the main features we wanted to implement to ensure we at least had a minimally viable product by the end of the Hackathon.
Another major issue we ran into was trying to learn Flutter for the very first time. Some members of our group had never used Flutter before, so we spent a long time trying to watch flutter tutorials to get the fundamentals down. This greatly slowed down our progress, and took up time that should have been spent actually creating our project.
Accomplishments that we're proud of
By creating a social media app, our team learned the complexities of the frameworks we often overlook. We were able to implement a math based algorithm, that didn't involve AI which we were very proud of. We also tackled new languages and frameworks like Flutter and AWS Bedrock which we learned and applied in Fit Finder. This application was a milestone for all of us in terms of collaborative coding, which forced us to prioritize key app features. The integration of front end to back end code was also something all of us were very surprised and proud of.
What we learned
During the development process, we learned how to create a product from end-to-end using a structured tech stack, with front-end, back-end, and a database. We learned how to use flutter to create and organize a hierarchy of widgets, which are singular components that describe what the view should look like. We also learned how to organize data in PostgreSQL through key value pairs. We implemented large datasets and classified each image. Finally, we learned how to get properly debug and prioritize different features of the app properly.
What's next for FitFinder
We want to emphasize connectivity and user experience with a refined explore page that suggests clothing based off a user’s liked and not liked clothing. We want to implement a marketplace for users to sell and trade their clothing, allowing users to further bond and connect over what fashion they love. We really want users to find the fashion and style that feels true to them, and by, for example, giving the algorithm the ability to classify preferred color, users will be better equipped to fine tune and be recommended the clothes that are perfect for them.
Built With
- amazon-web-services
- bedrock
- dart
- flask
- flutter
- postgresql
- python
- s3

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