About Ardezan
Inspiration
Buying clothes online asks you to do something a little strange. You look at an outfit on a model who isn't you, and then you imagine. You imagine the fit, the way the fabric falls, how the color sits against your skin. Most of the time the guess is wrong, so you order three sizes and send two back. We kept running into the same grim number. Almost a third of everything bought online in fashion comes right back. That is a mountain of waste for stores, and a quiet feeling of never quite being sure for the rest of us.
We wanted to take the guessing out of it. The idea behind Ardezan is honestly pretty simple. Before you buy anything, you should be able to see it on your own body. And if the thing you want doesn't exist yet, you should be able to dream it up and see that too.
What it does
Ardezan is a real clothing store with two AI features living on top of it.
The first is Try On. You upload one full body photo and a stylist agent puts together ten complete outfits from the real catalog, then renders them onto you. If a look isn't quite right, you just tell it what you want in plain words, something like "make this more weekend ready", and it goes back to work.
The second is Design Me. You pick a fabric from a curated library, things like hand woven Kente, Italian linen, or Japanese denim, then describe the piece you have in your head. You watch yourself wearing something that has never existed, and a human tailor makes the real thing afterwards. The price you see is honest. It is the fabric cost times the yardage plus the tailoring, worked out live, and the order drops straight into the tailor's queue.
None of this floats on a fake shell either. It is a working store, with a cart, Stripe checkout, order tracking, returns, an admin dashboard, an inventory ledger, and cost tracking on every AI call with a kill switch for when we need it.
A real agent, not a generator
This is the part we are most proud of. A lot of "AI shopping" is really one image generation call wearing a nice coat. Ardezan's stylist is an actual agent, built on Google's Agent Development Kit and running on Gemini 2.5.
It has to be an agent, because dressing someone is a search problem, not a single guess. A catalog with dozens of pieces hides a huge number of possible outfits, far more than one prompt could ever reason over. So the agent works in steps. It reads your photo into a private profile of your proportions. It searches the live catalog through the official MongoDB MCP server, which means real tool calls against real inventory instead of a canned answer. It composes outfits against your body, explains its choices the way a stylist would, and only then does Gemini render the pixels. Reasoning first, pixels second.
How we built it
The storefront and the admin both run on Next.js. The backend is FastAPI on Python 3.13, streaming its responses over SSE. A Redis backed arq worker handles the slower AI orchestration so the API never blocks. The agent layer is Google ADK talking to the MongoDB MCP server, with Gemini 2.5 doing both the reasoning and the rendering. Data lives in MongoDB, payments run through Stripe, and images are served from Backblaze with signed URLs. The whole thing is orchestrated on Google Cloud.
What we learned
The biggest lesson was that grounding matters far more than generating. A beautiful render is worthless if the clothes aren't real. We ended up forcing the model to use the exact titles from the catalog, then matching those titles back to real product and variant IDs ourselves, and quietly throwing away anything that didn't line up. A customer never sees an item we made up.
We also learned that privacy belongs inside the product, not in a policy page nobody reads. Anonymous photos delete themselves within minutes, and renders within a day. Anything you save stays only until you choose to remove it.
And we learned that the unglamorous production work is exactly what makes AI feel trustworthy. Logging the latency and cost of every Gemini call, with a daily ceiling and a kill switch, turned something that felt like magic into something we could actually run with a straight face.
Challenges we ran into
The first one caught us off guard. Google's models will not render a person unless they are confident that person is an adult, which is the right instinct to have. But Try On lives on full body photos, so the face is tiny in the frame, and the model often simply couldn't tell. It would come back saying the person's age was difficult to determine with certainty, even when the subject was very obviously an adult. We learned the hard way that it judges the picture, not your intentions, so we had to design around photo quality and catch that refusal gracefully instead of leaking a scary error to the customer.
Another one cost us a very confusing afternoon. We reseeded the catalog to serve product images from a static folder, but the cart still tried to resolve thumbnails from the old media pipeline. So try on results showed real, correct products sitting next to blank grey squares where the photos should have been. The fix was getting every part of the app to agree on the same order, prefer the static image, and fall back to the signed one only if it is missing.
The last challenge was keeping the agent coherent. When someone asks for a mix of things at once, warmer layers and a softer palette in the same breath, the agent has to run a few different searches and reason across all of them, so the ten outfits actually hold together instead of coming back as ten copies of the same idea.
What's next
We want to condition the render on the actual garment photos for even sharper results, let the agent suggest swaps when a piece sells out, and open the fabric library up to more makers.
Ardezan is the fitting room for the internet. See it on you, then own it.


Log in or sign up for Devpost to join the conversation.