Inspiration
We were inspired to make fashion discovery as addictive and personalized as TikTok or Instagram. The goal was to reinvent how users find clothing, moving beyond static catalogs to an engaging, swipe-based experience that truly understands individual style.
What it does
Clozyt provides a dynamic, swipe-based fashion discovery platform. It learns your unique style in real-time with every swipe, using machine learning, embeddings, and vector search. The system intelligently balances showing you items similar to what you've liked (exploitation) with introducing new, unexpected styles (exploration), ensuring a constantly fresh and personalized feed.
How we built it
We built Clozyt by representing both clothing items and user preferences as numerical vectors. Item vectors combine CLIP image embeddings with metadata like price and brand. User preferences are captured by two distinct vectors: a long-term_vector for stable style and a short-term_vector for immediate interests, both updated using Stochastic Gradient Descent (SGD) with different learning rates. These vectors are stored and queried in a Pinecone vector database. The frontend, built with Next.js and TypeScript, provides a smooth, Tinder-like swipe UI that integrates seamlessly with our backend's real-time recommendation engine.
Challenges we ran into
Initially, we faced challenges in ensuring our recommendations were rich enough, as early versions primarily relied on visual features, ignoring crucial metadata like price or brand. Balancing exploitation with exploration was another hurdle, as was preventing single "bad" swipes from permanently skewing a user's feed. We also considered backend performance for real-time updates.
Accomplishments that we're proud of
We successfully implemented a dual-vector SGD learning system that accurately adapts to user preferences in real-time, balancing long-term style with short-term interests. We're proud of our innovative hybrid recommendation strategy, which combines vector similarity with a 20% exploration rate to keep the feed engaging. The seamless, addictive swipe UI, built with modern web technologies, also stands out as a key achievement in usability.
What we learned
We learned the power of vector-based representations in capturing complex fashion attributes and user preferences. The application of SGD for real-time, personalized model training proved to be a robust and effective approach. We also gained insights into the critical balance between stability and responsiveness in recommendation systems, leading to our dual-vector design.
What's next for Cloyzt Track: Making Fashion Search Addictive
Next, we plan to enhance our learning rates to be dynamic, adjusting based on user history (e.g., higher for new users). We'll explore maintaining separate like/dislike vectors for even greater nuance and implement time-decay for older swipes. Further innovations include diversity constraints to prevent repetitive recommendations and tracking more implicit signals like time spent on a card.
Log in or sign up for Devpost to join the conversation.