Inspiration

Skin and style decisions almost never get made with real information — you find out whether a serum worked weeks later, and whether an outfit works at all only after you've bought it. The YouCam hackathon's combined track asked a specific question: what happens if Skin AI and Apparel Virtual Try-On aren't two separate features, but one connected decision? That's the problem GlowFit AI is built to answer — a selfie that leads directly to a skincare routine and an outfit that's color-matched to that same skin tone, rendered on the user's own photo before they have to guess.

What it does

  1. A selfie goes through YouCam AI Skin Analysis — acne, wrinkle, pore, and texture scores, each with a visual detection overlay so the user sees where, not just a number.
  2. An LLM reasoning layer turns those scores into a personal AM/PM routine, lifestyle guidance, and a shopping list — every line tied to the user's actual results.
  3. The user picks a real occasion — office, wedding, interview, date, party, gym, festival, casual. YouCam AI Skin Tone Analysis reads their undertone, and an AI stylist reasons about which colors and garments genuinely suit them, citing the actual tone data.
  4. YouCam Apparel Virtual Try-On (v3.0) renders that exact outfit onto the user's own photo — not a generic model.
  5. The agentic layer: a second AI call looks at the rendered photo itself (vision, not text) and honestly critiques it — does this actually work for this skin tone and occasion? If confidence is low, it automatically tries a different outfit, up to two attempts, and every attempt is shown to the user with its verdict and reasoning — not just the final picture.
  6. A cart and a downloadable PDF report combine the skincare plan, the outfit, and the try-on photo into one document.

How we built it

Angular 20 on the frontend, Spring Boot 3 (Java 17) on the backend. Every YouCam feature runs through one generic task client (upload → create task → poll), supporting both the v2.0 surface (Skin Analysis, Skin Tone Analysis) and v3.0 (Clothes Virtual Try-On). Every response — YouCam and LLM alike — is cached on disk by a content hash, so re-testing the same input never re-spends the limited free API unit budget. The LLM reasoning layer drives four different jobs: the skincare plan, the color-matched outfit recommendation, the vision-based try-on critique, and nothing else — no step is hand-authored copy pretending to be AI output. We built it in proven, working slices: get one real Skin Analysis call working before touching the UI, get one real Virtual Try-On call working before building the agentic loop around it, and so on.

Challenges we ran into

  • Our corporate network's TLS-inspecting proxy broke outbound HTTPS from the JVM (PKIX path building failed) — the browser trusted it, Java didn't, because they use different certificate stores. Fixed by pointing the JVM at the Windows trust store instead of disabling verification.
  • A pre-signed S3 upload URL kept failing signature validation — our HTTP client's URI templating was silently re-encoding an already-signed URL. Fixed by passing it as a raw URI.
  • Real API error codes (error_src_face_too_small, error_below_min_image_size, an actual Engine task timeout from YouCam's own inference server) taught us to translate raw errors into retake guidance instead of a generic failure message.
  • The docs didn't fully specify whether Apparel VTO accepted custom garment photos or only YouCam's own template library — we settled it by reading the actual request payload in YouCam's own Playground rather than guessing.
  • Our AI-generated reference outfit photos came out at 256×512 pixels, under YouCam's 512×384 minimum, causing every try-on call to fail — fixed with a 2x upscale once we diagnosed the real cause.
  • We planned to auto-generate the garment catalog through an image-generation API, but discovered both providers we tried gate image generation behind paid billing with zero free-tier quota — so we pivoted to sourcing outfit reference photos manually.
  • Making the critique step a genuine agent rather than decoration: it needed to see the actual rendered pixels (vision input), not just reason over text.

Accomplishments that we're proud of

  • Three real YouCam APIs, genuinely connected — the skin-tone reading grounds the outfit color reasoning, which is the outfit that gets rendered and then critiqued. Not three features side by side.
  • A real agentic loop: the AI looks at its own output, can decide it wasn't good enough, and tries again — with the reasoning trail visible, not hidden.
  • A full unit-budget discipline (SHA-256 response caching) that let us iterate for days without running out of the hackathon's free API allowance.

What we learned

  • When API documentation is thin, a live Playground call (or reading the actual error a request returns) settles the question faster than guessing from a docs summary.
  • "Agentic" only means something if the model evaluates a real outcome and can change course — a pipeline that always accepts its first output isn't an agent.
  • A small, curated set of real reference assets beats a large synthetic catalog when the deliverable has to render convincingly.

What's next for GlowFit AI

  • Expand the hero-outfit catalog well past its current 12 curated looks.
  • Let users upload their own wardrobe photos for try-on, not just the curated catalog.
  • Persist a user's skin history over time to track real progress.
  • Turn the shopping list into real, linkable product recommendations.

Built With

Share this project:

Updates

Submission history