Miroo
An AI wardrobe stylist that gets you out the door. Snap one piece, and Miroo builds the full look — matched to your occasion, the weather, and an honest opinion you can actually trust.
A full closet and nothing to wear.
Most mornings the bottleneck isn't the clothes — it's the decision. You're holding one piece you like and you can't tell what goes with it, whether it's right for where you're going, or whether the whole thing is working at all. So you default to the same three outfits.
The apps that promise to fix this ask for the opposite of what that moment can give: photograph your entire wardrobe first, tag every item, then maybe get a suggestion. Or they're shopping funnels wearing a stylist costume — every answer ends at a checkout.
I wanted a second opinion in the sixty seconds I actually have.
So I designed and vibe-coded one — a stylist that works from a single snap, tells the truth, and never makes setup the price of admission.
What makes it a stylist, not a closet app.
Three features carry the product — and each one started as a refusal of how wardrobe apps usually work.
Snap first. The wardrobe builds itself.
No 200-item setup before the app is useful. Start with an empty wardrobe, snap the one piece you're holding, and in about a minute you get three rated looks. Save one and the pieces land in your wardrobe automatically — so the catalog fills up as a by-product of getting dressed, never as a chore you do up front.
"Cohesive palette, clean proportions — quietly expensive. This is the one."
"Gym shorts for a dinner reservation. Comfortable — but it reads as undone."
A number you can actually trust.
Every look gets a 1–10 score and a one-line verdict — and the score is allowed to be low. A 9.2 means walk out the door; a 3.4 says this isn't it, and why. The colour does the talking before you read a word: sage for go, grey for no.
Honest, not harsh — incompleteness gets a fix, never a low blow.
Already dressed? Get a second opinion.
Stand in front of the mirror, snap your full outfit, and Miroo scores the whole fit — silhouette, colour story, occasion fit, and finishing — with a fix for the weakest part. It's the gut-check you'd ask a stylish friend for, on demand.
Editorial, not utilitarian.
A wardrobe app that feels like a fashion magazine, not a spreadsheet. Below are real screens — styled looks, the wardrobe, and saved outfit sets — rendered live.
What I refused to build.
Every NO is a design decision. These six are the spine of Miroo — they're what kept it from becoming another catalog app or another store.
Most wardrobe apps make you photograph your whole closet first. Miroo styles a single snap. The catalog is a payoff, not a toll gate.
Ratings go all the way down. An honest 4 with a reason beats a polite 9. The colour of the verdict — grey, periwinkle, sage — tells you the truth before you read a word.
Suggestions are pairings for what you own, not a storefront. When Miroo names a missing piece, it's to complete a look — not to sell you one.
Every look you reject is banned for the rest of the session — by name, by combo item, by renamed-and-rerated lookalike. "Not feeling it" actually means something.
Looks factor your real local temperature and conditions. A great outfit for the wrong weather is a bad outfit.
Free to start, no credit card, sample photos one tap away. You can feel the whole loop before deciding to commit a single thing.
The colour is the verdict.
A good stylist friend tells you the truth kindly. Miroo encodes that in colour: every rated look is washed in one of three tints, so you read the verdict before you read a single word.
Pyjamas to a wedding. Said plainly, in muted grey — no shame, just a no.
Good bones. One swap from great, and the note tells you which swap.
Cohesive and occasion-ready. The one to walk out the door in.
Honest, not harsh. The "own" card rates what you already have — and the prompt is tuned so a stylish single item that's merely incomplete scores a fair 5–7, not a punishing 2. Incompleteness gets a missing-piece suggestion, never a low blow.
One snap, four moves.
The magic isn't one model call — it's a small chain of them, each checking the last. Designers don't usually talk about token cost or rate limits, but here they are the experience.
1 · Snap a piece
One tap, one garment — flat lay, on a hanger, or worn. The photo is added to your wardrobe instantly with a placeholder name.
free2 · See the clothes
GPT-4o vision describes each item — name, category, colour, style, and a Pexels-ready search query so labels match reality.
GPT-4o-mini3 · Build the looks
A stylist prompt returns three distinct cards: an honest verdict on what you own, plus two upgrades that pair it with one new piece.
GPT-4o-mini4 · Show, then check
Each suggested piece is fetched from Pexels, then re-described by vision so the caption matches the photo that actually came back.
PexelsThe details that make it feel real: a verify-the-image pass so captions never lie about the photo Pexels returned; a running seen-suggestions set so a rejected look can't sneak back renamed or re-rated; staggered requests and low-detail vision to keep it fast; and a full demo-data fallback so the app is never just a spinner that failed.
The right look for the actual day.
A great outfit for the wrong weather is a bad outfit. Miroo pulls your local conditions and folds them straight into the styling prompt — fabrics, layers, and footwear all shift with the forecast.
Wear a light jacket or cardigan + a waterproof layer. Miroo will factor this into every look.
Location stays on-device via Expo; weather comes from Open-Meteo — free, keyless, no tracking. A WMO weather code is mapped to a human verdict ("Wear a warm coat and cosy layers") and a one-sentence instruction the model reads before it styles a thing.
It's a small touch that does a lot of work: the difference between a stylist who knows it's raining and one who doesn't.
Cream, ink, and one periwinkle.
A warm editorial palette and a single playful accent — Playfair Display for the magazine voice, Jost for the quiet UI. It signals "this has taste" before you read a word.
What vibe-coding taught me about design.
Building this solo with Claude as my engineer moved the line between "design" and "build" — and put new decisions on my side of it.
I designed the AI prompt like a brand voice. "Be direct, confident, fashion-forward" is a design decision, written in the same file as the layout.
Cost and latency became layout problems. Staggering Pexels calls by 200ms and using detail:"low" vision aren't engineering footnotes — they're what keeps the results screen from feeling slow.
Fallbacks are part of the design, not an afterthought. Every call has a graceful demo path, so the app is never a spinner that fails.
I could test taste in minutes, not sprints. "Does an honest 4 feel kind or cruel?" is answerable when you can change the prompt and re-snap immediately.
The best stylist isn't the one with the most clothes — it's the one who tells you the truth in the time you have.