Inspiration

Online shopping has a trust gap: you find a garment you like, but you have no real way to know whether it'll actually look right on you until it arrives. Existing virtual try-on tools only make this partially better — they render one image at a time and leave the actual comparing and deciding entirely up to you. We wanted to see what happens if the try-on step becomes the middle of the experience instead of the end of it.

What it does

MirrorIQ is a visual fashion decision engine, not just a try-on viewer.

  1. Upload one photo.
  2. Tell it your occasion (Everyday, Work, Date Night, Party) and style (Minimal, Street, Classic).
  3. Pick up to 3 garments you're actually considering — MirrorIQ surfaces your best-matching options first as a shortlist, while the full 10-piece catalog stays one scroll away.
  4. YouCam Apparel VTO (Perfect Corp) generates a real try-on render for each garment on your own photo, revealing into Look Lab as each one finishes.
  5. Every look gets a transparent, deterministic MirrorIQ Match Score based on occasion/style compatibility — computed entirely by MirrorIQ, never by YouCam, with no claim about physical fit or attractiveness.
  6. MirrorIQ highlights its strongest pick and explains exactly why, using only the real scored dimensions — never invented copy.

How we built it

  • Next.js 16 (App Router, Turbopack) + React 19 + TypeScript + Tailwind CSS v4, deployed on Vercel.
  • All YouCam calls are server-side only (/api/vto, /api/vto/status) — the API key never reaches the browser.
  • We use YouCam's presigned S3 upload flow (file_idPUT to S3 → src_file_id) rather than src_file_url, since YouCam's servers can't reliably fetch from arbitrary public URLs (hotlink/CDN protection causes error_download_image).
  • VTO generation is asynchronous, so we poll /api/vto/status and surface each garment's real stage — "Preparing garment," "Submitting try-on," "Generating your look" — never a fabricated percentage or ETA.
  • A DEMO_MODE flag runs the entire UI with canned responses and zero YouCam network calls, so the product can be reviewed without spending API units.
  • The Match Score is a small, fully deterministic scoring function — no LLM, no external model — so every recommendation is explainable and reproducible.

Challenges we ran into

  • YouCam's face/framing requirements are strict and specific. error_src_face_too_small turned out to mean the face must be >60% of image width — not just "a big face in frame" — and error_pose meant our test photos (great for a tight face crop) didn't show shoulders in a standing pose, which Apparel VTO actually needs. We ended up building a dedicated framing-guidance UI and a soft client-side heuristic to catch likely-bad photos before they ever reach the API.
  • capture="user" on file inputs doesn't work everywhere. It only triggers a real camera on mobile OSes — desktop browsers silently ignore it. We added device detection so "Take a photo" only appears where it actually does something, including handling the fact that modern iPadOS disguises itself as "Macintosh" in its user-agent string.
  • Progressive results without jank. We wanted Look Lab to reveal each YouCam render as it completed rather than making users wait through a separate loading screen — but re-sorting cards by score as results trickled in made them visually jump around. Cards now hold a stable order until every result is final, then arrange by score.

Accomplishments that we're proud of

  • A fully verified, live, end-to-end YouCam Apparel VTO integration (presigned upload → task submission → polling → rendered result).
  • A genuinely deterministic, explainable recommendation layer with zero fabricated reasoning — every "why it won" line is a real computed fact.
  • A mobile-first UI that stays polished from 375px up through desktop, with real accessibility work (focus states, prefers-reduced-motion, semantic controls) rather than an afterthought.

What we learned

That the real product opportunity in Apparel VTO isn't the rendering itself — it's what you build on top of it. YouCam is genuinely excellent at the visualization; the gap in the market is turning that visualization into an actual decision.

What's next for MirrorIQ

Expanding the garment catalog, refining the shortlist ranking, and exploring how a real retailer's own catalog could plug into the same decision layer.

Built With

Share this project:

Updates