Closet is an AI-powered fashion discovery platform that revolutionizes how people find clothing they'll actually love. Users swipe through curated fashion items from premium brands like Princess Polly, Edikted, Alo Yoga, and Vuori. Our LinUCB (Linear Upper Confidence Bound) machine learning algorithm learns from each swipe, creating increasingly personalized recommendations while maintaining diversity to introduce users to new styles they might not have discovered otherwise.

Key Features: - Tinder-style swipe interface for intuitive fashion discovery - Real-time ML learning that adapts to user preferences instantly - 5,000+ curated products from 8 premium fashion brands - Diversity constraints prevent recommendation bubbles - Smart caching for lightning-fast performance - Batch processing for a smooth user experience

How we built it

  1. Frontend: React Native with Expo for cross-platform mobile development, featuring smooth gesture handling and premium black-themed UI design.
  2. Backend: Node.js with Express serving a robust REST API, MongoDB for data persistence, and intelligent caching layers.
  3. ML Engine: Custom implementation of the LinUCB algorithm with 26-dimensional feature vectors processing category, brand, price, color, and style attributes. The system uses upper confidence bound exploration with diversity constraints to balance personalization with discovery.
  4. Data Pipeline: Curated and processed over 5,000 fashion products through automated web scraping, data cleaning, feature engineering, and quality validation pipelines.
  5. Architecture: React Native App → REST API → LinUCB Engine → MongoDB → Caching Layer

Challenges we ran into

  1. Algorithm Complexity: Implementing LinUCB from scratch required deep understanding of multi-armed bandit theory and careful tuning of exploration vs exploitation parameters.
  2. Data Quality: Cleaning and standardizing fashion data from multiple brands with inconsistent schemas, handling corrupted image URLs, and creating meaningful feature vectors.
  3. Real-time Performance: Balancing ML computation speed with recommendation quality, implementing innovative caching strategies, and optimizing database queries for sub-second response times.
  4. Frontend Integration: Managing complex state with batch processing, handling API race conditions, implementing smooth swipe mechanics, and graceful error handling for production stability.
  5. Diversity vs Personalization: Preventing filter bubbles while maintaining high recommendation relevance required sophisticated constraint algorithms and careful parameter tuning.

Accomplishments that we're proud of

  1. Production-Ready ML System: Built a sophisticated LinUCB recommendation engine that processes 26-dimensional feature spaces with real-time learning capabilities.
  2. Advanced Data Processing: Successfully curated, cleaned, and processed 5,000+ premium fashion products with 94.2% data completeness and automated quality validation.
  3. High-Performance Backend: Achieved 85%+ cache hit rates, <200ms response times for cached requests, and robust duplicate prevention with 409 conflict handling.
  4. Smooth Mobile Experience: Created an Instagram-quality swipe interface with 60fps animations, professional loading states, and intelligent image preloading.
  5. Smart Diversity Algorithm: Implemented sophisticated diversity constraints that maintain recommendation quality while introducing users to new styles and brands.
  6. Enterprise-Grade Architecture: Built scalable systems supporting 100+ concurrent users with comprehensive error handling, monitoring, and graceful degradation.

Built With

Share this project:

Updates