Closets Closets Closets
We built a B2B AI styling copilot for retail businesses that helps store associates turn a customer’s vague preferences into personalized, catalog-grounded outfit recommendations.
Core trick
Guardrail agents reject poor NanoBanana try-on generations and constrain outfit recommendations to real catalog items.
Description
We built a B2B AI styling copilot for retail businesses that helps store associates turn a customer’s vague preferences into personalized, catalog-grounded outfit recommendations. Rather than replacing associates, our system supports them as they converse with customers, apply their styling experience, and guide shoppers toward the look they are trying to find.
Powered by Gemini 3.5 Flash, the copilot helps interpret customer conversations, reason over available products, and refine recommendations in real time. The system can also provide lightweight visual try-on support using NanoBanana to help customers imagine an outfit before committing. To keep the experience practical and trustworthy, recommendations are guardrailed around real catalog items, customer feedback, and associate review. We also use agent-based guardrails to detect and reject poor or misleading try-on generations before they are shown to the customer.
For customers, this creates a more confident, personalized, and engaging in-store shopping experience. For retailers, it can improve conversion, increase basket size through better outfit recommendations, and help associates serve customers more efficiently. Our long-term vision is to connect store inventory with customer preferences and personal closet context, creating a human-centered AI platform for the future of retail.
Head-inthe-Cloud/google-io-hackathon★ 00 forksTypeScriptCreated May 23, 2026 · last push May 24, 2026
README excerpt
# ClosetAI — Agentic Personal Closet Stylist ClosetAI is an advanced agentic styling assistant that recommends, refines, and generates outfit configurations from a store catalog based on personal style profiles, occasion context, and optional reference images. The system supports two first-class retail catalogs: 1. **Gymshark** (Default): Sports, leisure, and active apparel (52 curated closet items, or 8,730 full catalog items). 2. **Everlane (Dataset 2)**: Chinos, bags, casual tees, outerwear, and modern daily-wear apparel (10,000 items). --- ## 🚀 How to Use Dataset 2 (Everlane) ClosetAI is built to support dataset switching dynamically via the `DATASET` environment variable. To switch the entire backend, catalog database, and recommendation agent services to **Everlane (Dataset 2)**, simply set `DATASET=dataset2`. ### 1. Seeding and Querying the Catalog When `DATASET=dataset2` is active, the backend's in-memory store automatically loads the compact Everlane catalog from `data/dataset2_products.json` (10,000 items) and seeds all items into memory, dynamically mapping: - Product names and detailed descriptions. - Hierarchical category structures (Tops, Bottoms, Outerwear, etc.). - Metadata fields (brand, color, fit, gender, activity). - Precomputed facet indexes and navigation trees (`data/dataset2_search_tree.json`). ### 2. Standalone Recommender Agent Setting `DATASET=dataset2` instructs the standalone recommendation agent service to resolve all outfit recommendation