Engineering · 8 min read
How Tailr's stylist works under the hood
By Dallas Coleman · June 4, 2026
A lot of AI products ship as “trust us, the model is great.” We don't want to be one of those. This is the honest breakdown of how Tailr's outfit composer actually works — the prompt, the validator, the catalog match, and the rules we never let an outfit break.
Step 1: The styling brief
Every compose starts as a prompt to GPT-4o-mini (Member) or GPT-4o (Premium). The prompt is composed from a few stable building blocks:
- Persona — fixed system instruction defining what a Tailr-styled outfit looks like.
- Profile brief — derived from the user's Style DNA: gender, body, aesthetics, brands, fits.
- Cohesion checklist — explicit rules: fabric vs temperature, occasion register, color theory.
- Occasion register — formality rules per situation (work ≠ wedding ≠ beach).
- Gender guard — never propose women's pieces in a man's outfit and vice versa.
- Output schema — strict JSON the AI must return.
Each section lives in its own file in lib/ai/prompt/. When something goes wrong (a category mis-classification, a fabric mismatch), we fix the relevant section without touching the rest.
Step 2: Validation, then enrichment
The model returns a JSON outfit: a list of pieces with category, description, color, formality, etc. Before anything renders, we run a validator: every outfit must have shoes, must have either a top+bottom or a one-piece, must match the occasion register, and must not violate the fabric/temperature rules. Failures trigger a single retry with a tightened prompt.
Then we enrich — turning each AI-described piece (“navy chino, slim, mid-rise”) into an actual product card. We search across 1,000+ Shopify brand catalogs (cached in Redis with a 4-hour TTL) for the closest match by description, color, and formality. Closet items win first; brand recommendations fill any gaps.
Step 3: The rules we don't let an outfit break
The AI is good but not bulletproof. To make sure every outfit that ships is actually wearable, three deterministic safety nets run after the AI returns and before anything reaches you:
- Every piece needs a real product image. Anything the matcher couldn't pair to an in-stock product gets dropped. No blank tiles, ever.
- Occasion sanity. Swimwear is removed from any outfit whose occasion isn't pool, beach, or resort — and the reverse rules for formal pieces in casual contexts.
- Weather sanity. Wool topcoats, parkas, and puffers are removed when the local temperature is 72°F or higher; light layering is added back below 55°F.
The same checks run on both the primary path and the retry path, so an outfit can never sneak through by being re-rolled. The gender filter is a separate layer with three checkpoints — focus, detection, and a hard block on title keywords — which is how Tailr stays clear of the cross-catalog mix-ups that have plagued every retail AI we've seen.
Step 4: Accuracy in practice
Today Tailr ships outfits at roughly 99% accuracy across the full range of occasions, weather conditions, and catalog modes — closet-only, mixed, and pure recommendations. The edge cases that don't pass are usually a closet legitimately missing a category (you can't style a wedding from a closet of just t-shirts), and those get caught + flagged before they ever surface to the user.
What we don't do
We don't train models on your data. We don't cache your Style DNA at the model provider. We don't pass your email or payment info to the LLM. The minimum-necessary principle drives every server call — full breakdown in our AI Disclosure.
More from the Journal
Founder
Why we built a personal stylist for the AI era
Most people make twenty-minute outfit decisions every morning and end up wearing the same five things. AI can fix this without selling out your taste.
Product
What makes a great Style DNA
A practical guide to filling out the 14-step wizard so the AI styles you, not a generic version of you.