Inspiration
We've all been there — spending an hour browsing an online store, carefully picking sizes, and then watching the delivery arrive only to find nothing fits. Every brand sizes differently, every cut drapes differently, and no shopping platform actually knows your body. The result? Frustration, wasted money, and a growing pile of return parcels.
We wanted to fix that. Not with more size charts, but with an AI that genuinely understands your body and shops for you — like a personal stylist in your pocket. That idea became FitSaathi (साथी means "companion" in Hindi), a warm, body-positive AI fashion stylist built for every body type.
What it does
FitSaathi is an AI-powered personal stylist that recommends clothing based on your actual body — not just a size label.
- 📸 Upload a full-body photo — the app analyses your proportions instantly
- 📐 Body measurement extraction — Gemini Vision reads shoulder width, torso length, hip ratio, and overall silhouette from the image
- 🔍 Semantic outfit discovery — Atlas Vector Search finds clothing that genuinely fits your shape across 50+ inventory items
- 💬 Personalised styling explanations — Vertex AI explains exactly why each outfit works for your unique body, in an encouraging and body-positive tone
- 🧠 Preference learning — your likes and dislikes are saved to MongoDB, so every session gets smarter and more personalised
How we built it
FitSaathi is a full-stack AI application built across five layers:
Frontend Vanilla HTML, CSS, and JavaScript — deliberately lightweight with a responsive, dark-themed UI. The simplicity keeps load times fast and lets the AI do the heavy lifting.
Backend FastAPI on Python 3.11, serving as the orchestration layer. Async endpoints are critical here — we're chaining multiple AI calls (vision → embedding → vector search → agent response), and FastAPI handles that concurrency cleanly.
AI Core
- Gemini 2.0 Flash for multimodal vision analysis. A single API call processes the uploaded photo and returns structured body measurements — no separate computer vision pipeline needed.
- Vertex AI Agent Builder orchestrates the stylist persona. It manages tool usage, session context, and ensures the agent stays warm, encouraging, and body-positive across every interaction.
Database — MongoDB Atlas MongoDB powers three critical functions:
- Inventory management — stores 50+ clothing items with detailed fit charts, size tags, and style metadata
- Atlas Vector Search — converts body measurements into style embedding vectors and runs semantic similarity search across the inventory, enabling discovery that goes beyond simple size filters
- Preference learning — persists user body data, likes, and dislikes so future sessions start already personalised
Infrastructure The entire application is containerised with Docker and deployable as a single image, keeping the setup reproducible and the environment consistent.
Challenges we ran into
Getting consistent structured output from vision analysis Asking Gemini Vision to return precise, machine-readable body measurements from an uncontrolled photo (different lighting, angles, clothing) required careful prompt engineering and output validation. We iterated significantly on the system prompt before measurements were reliable enough to feed into the vector search.
Designing the vector embedding schema Mapping body measurements to a vector space that produces meaningful semantic similarity was non-trivial. Early versions surfaced results that matched size but not shape. We refined the embedding structure to encode proportional ratios rather than raw measurements, which dramatically improved search relevance.
Keeping the agent body-positive at scale Styling advice can easily become discouraging. Getting Vertex AI Agent Builder to consistently produce warm, encouraging, body-positive explanations — even for edge-case body types — required careful persona design and extensive system prompt tuning.
MongoDB Vector Search index setup Configuring Atlas Vector Search with the right dimensions, similarity metric, and index definition to work seamlessly with our embedding format took more trial and error than expected, especially getting the Colab-based try-on server to talk to the same Atlas cluster.
Accomplishments that we're proud of
- 🎯 End-to-end body-aware recommendations from a single photo, with no manual measurements required from the user
- 🔍 Semantic outfit discovery using Atlas Vector Search that surfaces shape-appropriate clothing, not just size-matched items
- 🌸 A genuinely body-positive AI persona — the stylist explains recommendations in an encouraging, affirming tone regardless of body type
- 🧠 Persistent preference learning — the system remembers what you liked and disliked, making every session more personalised than the last
- 🐳 Production-ready architecture — fully Dockerised, with a clean FastAPI backend, seeded MongoDB inventory, and a vector search index ready to scale
What we learned
- Multimodal AI is remarkably capable — Gemini Vision extracting structured body measurements from a photo in a single call is something that would have required a full CV pipeline just a year ago
- Vector search changes how you think about databases — MongoDB Atlas Vector Search let us build semantic discovery without a separate vector database, which simplified our architecture significantly
- Prompt engineering is product design — the difference between a discouraging and an empowering AI stylist came entirely down to how we wrote the system prompt, not the model itself
- Agent persona consistency requires deliberate effort — keeping a warm, body-positive tone reliable across diverse inputs took as much work as the technical integration
What's next for Fit Saathi
- 👗 Virtual try-on — overlay recommended outfits directly onto the user's uploaded photo using generative AI (infrastructure groundwork is already in the repo)
- 🛍️ Live retail integration — connect to real e-commerce APIs so recommendations link directly to purchasable products with live stock and pricing
- 📱 Mobile app — a native iOS/Android experience with camera integration for real-time photo capture
- 🌍 Regional fashion personalisation — style recommendations that adapt to local fashion trends, climate, and cultural context (starting with India)
- 🔄 Outfit occasion tagging — let users specify an occasion (wedding, office, casual) and get contextually appropriate recommendations from their saved profile
Log in or sign up for Devpost to join the conversation.