Inspiration

Every group trip starts the same way: a group chat explodes with Pinterest links, carts get abandoned, and nobody agrees on what to wear. Shopping is social — the tools just haven't caught up. Ensemble makes group shopping feel as natural as a group playlist.

What it does

Ensemble turns a trip into a shared lookbook. Friends join a trip, each outing gets its own vibe, and an agent pipeline curates a personal shop for every friend. You see what your girlies have claimed, lock in your own fit, and get group deals when styles overlap. Airbnb Group Booking meets Spotify Blend, for what you're wearing.

How we built it

Frontend: React with a custom design system and a pixel-accurate iOS phone frame. Backend: FastAPI + LangGraph agent pipeline (Orchestrator → Stylists → Sourcing → Tribe v2 → Pricing), streaming over WebSockets. ML + Data: Tribe v2 visual scoring (OpenCLIP + V-JEPA2) over a scraped Nuuly and Revolve catalog.

Challenges we ran into

Tribe v2 inference latency — visual scoring was too slow at request time, so we pre-inferred the Nuuly catalog offline. Keeping four stylist agents distinct without fighting over the same SKUs.

Accomplishments that we're proud of

Pre-inferring scraped Nuuly data through Tribe v2 so the shop feels instant. A frontend that looks shipped, not hacked together. A real multi-agent pipeline with live agent state streaming to the UI.

What we learned

Multi-agent systems live or die on state discipline. The real ML unlock is knowing what to precompute. Fashion taste is a graph problem, not a filter problem.

What's next for Ensemble — Group Trips, Group Fits

Deeper Tribe v2 training on every new claim. Platform hooks: every Airbnb booking or wedding invite becomes a trip. Post-trip recap and re-wear tracking to close the flywheel.

Built With

  • fastapi
  • langgraph
  • openclip
  • react
Share this project:

Updates