Inspiration

Buying clothes online is a guessing game. You can't feel the fabric, can't check the fit, and the model in the product photo looks nothing like you. That guesswork has a real cost — industry benchmarks consistently put online apparel return rates at roughly 20–30%, and fit or sizing is repeatedly identified as the single largest driver of those returns — well ahead of damage, delivery issues, or buyer's remorse. Every one of those returns is a shipping cost, a restocking cost, and often a lost customer.

We wanted to build the thing that actually closes that gap — not a bare "upload a photo, call an API, show a result" tech demo, but a complete shopping product built around Perfect Corp.'s Clothes Virtual Try-On API, with the surrounding experience (browsing, deciding, saving, and even bridging back to a real store) that turns a cool AI trick into something a shopper—or a retailer — would actually use. Also, the customer can easily find the shops nearby. Here, the shop owner can display his/her shop location for two-sided benefit.

What it does

Try It Now — Pick from a set of sample model photos or upload your own, then browse a 17-piece garment catalog spanning tops, bottoms, dresses, jackets, bags, and full looks for both men and women. Pick a garment, optionally adjust it, and hit Generate Try-On.

AI-generated try-on — A processing screen animates while the backend calls Perfect Corp.'s Clothes VTO API in the background and returns a photorealistic image of you wearing the actual selected garment — not a generic model.

Before/after comparison — The result page shows your original photo against the try-on result on a draggable slider, so the difference is immediate and visual, not something you have to imagine.

Save Look — Signed-in shoppers can save results to their account, persisted to a real backend (not local/mock storage), so a look is still there next session.

Discover — Curated recommendation sections (an editorial "edit," not a raw product grid) let shoppers favorite pieces and jump straight into a try-on for anything they see.

Complete Your Look — After a result, the app surfaces complementary pieces to pair with what was just tried on — a direct, in-flow cross-sell moment.

Ask a Stylist — When someone's torn between two saved looks, they can ask for a second opinion: the app sends both images to an AI vision model and gets back a short, specific verdict — which one to lean toward and why — instead of leaving the shopper stuck.

MyStore — Retailers can register their physical store (name, address, geolocated in one tap) into a shop directory attached to the app. It's a lightweight bridge from "I like how this looks on me" to "there's a store near me that carries it"—valuable for smaller boutiques that will never build their own AR try-on but can piggyback on this one.

How we built it

  • Frontend: React + TypeScript + Vite + Tailwind CSS, with a custom editorial visual identity (Fraunces serif display type, a warm off-white/oxblood/camel palette) so the product reads like a fashion brand, not a hackathon prototype. The entire UI talks to a single service-layer switch point, so it can run fully offline against a bundled mock generator for instant local demoing or flip one flag to hit the real backend—no component code changes either way.
  • Backend: FastAPI (Python). POST /api/try-on creates a job and immediately kicks off generation in a background async task rather than blocking the request; the frontend's processing screen polls GET /api/try-on/:jobId until it resolves. It transparently handles both base64 data-URL uploads (a shopper's own photo) and plain image URLs (catalog garments).
  • Accounts & persistence: Supabase (Postgres + Auth) backs saved looks and the store directory, with row-level security so shop listings are public-read but owner-write only.
  • Deployment: Deployed to Vercel. The FastAPI app serves the built React SPA directly from a single process for simple deployment or can be split across origins with CORS configured for a separate frontend host.

The YouCam API, specifically

FitnTry integrates Perfect Corp.'s Fashion "Clothes." Virtual Try-On API (v2) end to end, entirely server-side, so the API key never reaches the browser:

  1. The backend uploads both the shopper's photo and the selected garment image to YouCam's file endpoint.
  2. It starts a clothes VTO task, mapping our catalog's categories (tops, bottoms, dresses, jackets, and full looks) to YouCam's upper_body / lower_body / full_body garment-category values.
  3. It polls the task endpoint until YouCam reports success and returns the generated result image, which the frontend streams into the before/after slider.

Consumer & retail value

For shoppers: it removes the single biggest source of hesitation in buying clothes online—not knowing how something will actually look on your own body—without leaving the browser or installing anything. The before/after slider and the Ask-a-Stylist opinion turn "I'm not sure" into a decision, right at the moment a shopper is deciding whether to add to cart.

For retailers: fit-related returns are one of the most expensive, hardest-to-fix line items in apparel e-commerce. A try-on step that lets a shopper confirm fit and look before checkout directly targets that cost, and the in-flow "Complete Your Look" recommendation increases items considered per session. MyStore extends that value beyond online-only sellers: it gives local, physically anchored retailers—the kind who'll never build their own AR try-on—a way to be discoverable inside the exact moment a shopper decides they like an item, turning a virtual try-on into a real store visit. Displaying their shop locations also gives an extra marketing opportunity.

Challenges we ran into

  1. Supabase Data integration problem: We faced a problem, while integrating the data on Supabase
  2. Picking the right model for Ask a Stylist: For the customer’s convenience, we added an AI overview option for helping to make decisions if they get confused. We choose Google Gemini Flash.
  3. Location mapping: For MyStore, we first looked at the Google Maps API for precise geocoding, but it's a paid API, so we fell back to fixed reference coordinates for now. Shops can still register with their own location, and a full geocoding integration is the natural next step.

Accomplishments we're proud of

  • A full seven-screen consumer product (Home, Try On, Result, Discover, Saved, My Store, Auth) built around one API, not a single-page proof of concept.
  • Real accounts and real persistence via Supabase, not mocked data—saved looks and store listings survive a refresh and a new session.
  • Accessibility treated as a requirement from the first component, not a pass at the end.

What's next

  • We have interest in adding a live video try-on feature in the future.
  • Let retailers self-serve on MyStore and, in the longer term, pair store listings with real inventory signals.
  • Extend Ask a Stylist to reason over occasion and existing wardrobe, not just two looks at a time.
  • We have a plan to operate this on a commercial scale. For R&D purposes we need funds, so it is very likely to open a subscription model in a newer or updated version of our product.

Uniqueness of Us

  • MyStore bridges virtual try-on to real, local sellers — no major player does this; they're all either locked to one retailer's catalog or purely virtual with no seller behind it.
  • Catalog-open, not catalog-locked — sits between big-retailer-owned VTO tools and generic "styling toy" apps with no real seller attached.
  • Self-serve onboarding for small/independent retailers with no e-commerce stack or AI budget of their own required.
  • Built for fragmented, small-boutique-dominated retail markets (like Dhaka) that Walmart/Zara/Google aren't designing for at all.
  • Differentiation lives around the API call, not in it — YouCam's own app already does photo-to-clothes try-on, so the catalog + accounts + MyStore layer is the actual pitch, not the swap itself.

Built With

Share this project:

Updates

Submission history