← Back to work

Generative AI Styling App

GeminiSerpAPIVision ModelsStructured OutputsLLMs
Visit curait.ai

A styling app that turns natural-language outfit intent into shoppable looks, with persistent style context across sessions and a TikTok-style feed for browsing outfits.

Problem

  • Online shopping is organized vendor by vendor, but outfit intent is not.
  • Users need broad search across stores, then compression based on occasion, formality, budget, body preferences, and taste history.
  • Curait turns that open-ended search problem into shoppable outfits.

System design

The core design challenge was hiding a roughly 10-second multi-service pipeline behind a feed: preserve user taste, search broadly, rank visual options, render the outfit, and prefetch the next result without blocking the interface.

Context Distillation

Onboarding and behavior are compressed into a short taste profile that can ride along in every generation prompt.

Non-Blocking Parallelization

Product search, filtering, ranking, and image generation run concurrently wherever possible so one slow external call does not freeze the feed.

Single-Pass Ranking

Candidate products are rendered into one numbered grid so the vision model ranks relative options in one call instead of isolated yes/no checks.

Latency UX

The full input-to-output path takes about 10 seconds per outfit, so the next result is generated in the background and cached results are paced.

Tradeoffs

  • Quality vs speed: longer model reasoning improves outfits, but hurts feed latency.
  • Context vs friction: richer onboarding improves personalization, but delays the first useful result.
  • General vs overfit: the profile has to capture taste without overreacting to one request or recent interaction.
  • Perceived latency vs cost: pre-generating future outfits feels faster, but wastes compute when users stop swiping.