Inspiration
Thrift shopping is essential for a circular economy, but it comes with major barriers. In-person thrifting requires hours of digging through racks at multiple stores, while online platforms like Depop are overwhelming. There’s thousands of poorly-tagged listings with inconsistent photos making finding your style nearly impossible. We saw an opportunity to use AI's strength in visual pattern recognition to solve both problems. By filtering through hundreds of images instantly and learning your aesthetic preferences, Thrift Tinder cuts search time from hours to minutes while promoting environmental responsibility through secondhand shopping.
What it does
Thrift Tinder is an intelligent application that leverages AI to provide personalized thrift shopping recommendations. By combining Depop product data, our application helps users find personalized articles of clothing that match their unique style. When a user swipes right, the system intelligently gathers similar items, analyzes the description of the item, and uses tags to understand style preferences and refine future recommendations. The system analyzes swiping patterns and liked item characteristics to identify the user's style profile, considers product descriptions and metadata from Depop listings, and integrates this with visual similarity matching to provide curated clothing recommendations tailored to individual taste.
How we built it
We developed a platform that combines web scraping, database management, and a beautiful frontend. Our Python scraping script collects and processes data from Depop, gathering product images, prices, descriptions, sizes, and category information. The recommendation engine employs similarity matching algorithms that learn user preferences from swipe behavior, considering factors like style tags, and clothing category using Gemini. This data is stored in MongoDB Atlas, enabling fast query performance and scalable data retrieval. The frontend uses Dart with Material3 to create a modern Tinder-like swiping experience, while our Flask backend handles communicating with the database, combining user swipe history with product metadata to generate personalized clothing recommendations in real-time.
Challenges we ran into
While optimizing our web scraper, we extracted product information from Depop listings and stored it in MongoDB Atlas. After collecting hundreds of listings, we created Gemini prompts to automatically generate descriptions and tags for better categorization. However, we forgot to clear our test data from the database before running the LLM prompts, which resulted in processing two hundred test entries. This wasted API credits and added 30 minutes of unnecessary processing time, teaching us the importance of data cleanup before running batch operations on LLMs.
Accomplishments that we're proud of
We successfully created a comprehensive thrift shopping ecosystem that combines web scraping automation, intelligent data processing, personalized recommendation algorithms, and an intuitive interface. Our system effectively processes this information to provide curated clothing recommendations that consider both user style preferences. The recommendation engine successfully identifies patterns and similarities in user swipe behavior, enabling truly personalized shopping experiences that improve over time. The Flutter implementation achieves smooth, native-feeling animations in its swipe interactions while maintaining fast loading times and responsive performance, effectively incorporating real-time preference learning and dynamic content updates.
What we learned
This project deepened our understanding of web scraping techniques and their practical implementation at scale. We gained expertise in data extraction and normalization across dynamic web pages, NoSQL database operations with MongoDB, and the intricacies of building recommendation systems that learn from user behavior. We also learned how to effectively implement and integrate AI models like Gemini to enhance our recommendation capabilities and provide intelligent product matching. Developing the swipe-based recommendation engine taught us about effective data modeling strategies and pattern recognition in user preference data. Additionally, we learned how to effectively combine different types of product metadata to create personalized shopping experiences for thrift shoppers.
What's next for Thrift Tinder
Add RAG capability for MongoDB Atlas to expand model context Add MCP extensions to permit AI Agents to search on their own Polish UI and improve UX
Log in or sign up for Devpost to join the conversation.