🧠 Inspiration

We wanted more than just “scroll and filter” shopping. Most recommender apps feel static or overwhelming. So we built something playful and smart, a swipe-based interface powered by a tiny, transparent feedback loop that learns with you in real-time and even builds outfits with you on the fly.


✨ What it does

Clozyt.Flo is a smart fashion recommender with a Tinder-style swipe interface. But behind the simple UI is a powerful, multi-signal algorithm that learns and adapts with every action you take:

⚡️ Real-Time Learning: Swipe right on a black dress, and the algorithm instantly understands you're interested in black dresses. The feed adapts on the very next swipe.

✨ User Calibration: Tell the app your "vibe" for the day! Click the Calibrate button and choose a category like "dresses" or "jackets" to instantly tailor your entire feed for that session.

👕 On-Demand Outfit Completion: See a jacket you like? Click the Outfit button, and the algorithm will search the entire catalog to find the perfect pair of jeans to match, popping it up instantly.

🚀 Multi-Signal Input: The algorithm learns from more than just swipes. It gives extra weight to items you Super Like, items you Save to your wishlist, and even items you simply pause and look at for a few seconds ("Soft Like").

🧠 Balanced Recommendations: To prevent the feed from getting boring, it uses a diversity algorithm (MMR) to balance showing you what you love (Exploitation) with introducing you to new styles you might like (Exploration).

📊 Live Dev Panel: A hidden analytics panel, toggled by a secret key, shows the algorithm's "brain" in real-time, visualizing learned preferences as you swipe.


🛠️ How we built it

Backend : A robust Python backend powered by the FastAPI framework. We used scikit-learn to generate TF-IDF embeddings from product metadata and integrated Faiss (from Facebook AI) for high-speed vector similarity search.

Frontend: A slick, responsive single-page application built with React and Vite, and styled with Tailwind CSS.

Data Pipeline: A custom Python script using Pandas to ingest, clean, and categorize multiple raw CSV data sources into a single, unified products.json file ready for the algorithm.

Database (MongoDB Atlas) : Used MongoDB Atlas to store for user profiles, session state, and interaction signals (swipes, saves, super-likes), enabling fast writes and indexed reads to keep recommendations updating in real time.


🧱 Challenges we ran into

Our biggest challenge was bridging the gap between a theoretically "correct" algorithm and one that felt right to a user. We initially struggled with a slow learning rate and a repetitive feed (the classic exploitation vs. exploration problem). This forced us to go deep and implement a more sophisticated, multi-signal approach and fine-tune parameters like our learning rate (alpha) and diversity (lambda_) to achieve the perfect balance.


🏆 Accomplishments that we're proud of

We're incredibly proud of building a recommendation engine that feels truly alive. The on-demand Outfit Completion and user-controlled Feed Calibration are features that make the app feel genuinely useful and interactive, moving beyond simple item discovery to actual styling and shopping intent.

  • Swipeable shopping experience that feels smooth and fun
  • Real-time feedback engine that works end-to-end
  • Outfit matcher that actually suggests sensible combos
  • Fully functional save/bookmark system integrated into backend scoring
  • MVP-ready product that feels like a mobile app even on desktop

🧠 What we learned

This project was a deep dive into the practical realities of building a recommendation system. We learned that data quality is everything, and that the user experience of a "learning" algorithm requires careful, iterative tuning. You can't just implement the math; you have to shape it to feel intuitive and magical.

  • How to rapidly build an interactive recommendation system with feedback
  • Balancing UX and ML: even a simple scoring model feels magical if paired with good UI
  • How critical feedback loops are in commerce/product design
  • Dealing with state, hooks, and prop drilling under time pressure 😅

🚀 What's next for clozyt.flo

The current version of ClozytFlow is a robust proof-of-concept that successfully hits all the core goals of the hackathon. The architecture is designed to be highly extensible, and we have a clear roadmap for future enhancements to make the algorithm even smarter and the user experience richer.

Smarter Algorithm & Signals 🔗 Implicit Fashion Graph: Build a true 'outfit discovery' engine that understands how different items stylistically connect.

📈 Trend Sensitivity: Incorporate network-level data to boost items that are currently trending across the entire platform.

🗓️ Context-Aware Recommendations: Suggest items based on real-world context like the season, weather, or time of day.

🎲 Adaptive Exploration: Intelligently adjust recommendation diversity based on user behavior, showing more novelty when they seem bored.

Richer User Experience 📊 Fashion Personality Profile: Create a fun, shareable 'style persona' for users based on their long-term swipe history.

✨ "Surprise Me" Button: Add an on-demand discovery feature that pushes users into a completely new style zone to explore.

👥 Social Layer & Popularity: Add lightweight social proof by showing how many other users have liked or saved a particular item.

🏆 Gamification: Introduce 'Swipe Streaks' and other rewards to encourage daily engagement and discovery.

👀 "I'm Interested" Button: Implement a new user signal for high intent that temporarily influences the feed.

Platform & Infrastructure 🔄 Re-visits Signal: In a future scrollable UI, use 're-visits' (scrolling back up) as a strong positive signal.


Built with love at DevHacks S2 💖

Built With

Share this project:

Updates