Inspiration The idea for AURA didn't start with technology. It started with a conversation I overheard at a beauty counter. A woman with deep brown skin asking a sales associate if a "nude" lipstick would actually look nude on her. The associate handed her three options. None of them were close. That moment crystallized something I had been circling for a long time; the beauty and fashion industry has a representation problem that technology has the power to fix but hasn't. Most AI recommendation systems were trained on datasets that skew heavily toward lighter skin tones, Western body proportions and a narrow definition of "standard." The result is that the majority of the world's shoppers over 3.2 billion people with medium to deep skin tones shop in a system that was never really designed for them. When I discovered Perfect Corp's API suite, I saw something I hadn't seen before; a technology stack purposely built for this exact problem. The AI Skin Analysis API does not just detect a face; it reads biological skin attributes such as Undertone, Hydration, Texture and Concerns. That is not a filter. It is the foundation of genuine personalization. The question I asked myself was “what if skin intelligence was not the output of a shopping experience”, “what if it was the input?” That question became AURA. What it does It reads the skin undertone and creates the future of what the user desire to wear. How we built it AURA is a progressive web app built on Next.js 14 with the App Router, deployed on Lovable. No native app install is required. The entire AR try-on experience runs in the browser via Perfect Corp's WebAR SDK API. The user journey technically. Step 1 — Skin intelligence capture Step 2 — AI Stylist conversation Step 3 — Generative look visualization Step 4 — AR try-on Step 5 — Shoppable results

Challenges we ran into

  1. Camera-to-API latency on mobile- The first version of AURA took 11–14 seconds to return skin analysis results on a mid-range Android device. That is an eternity in a live demo. I solved this in three layers: compressing the captured frame to 480p before the API call (reducing payload size by 73%), moving the API call to a Lovable Edge Function (cutting cold start time from 900ms to 120ms) and adding a real-time animated overlay during analysis so the wait felt purposeful rather than empty.
  2. Generative image consistency- Getting the Gen AI Text-to-Image API to reliably produce images where the model's skin tone matched the user was the most technically frustrating challenge of the build. The API is probabilistic such that the same prompt can produce meaningfully different results.
  3. The AR-to-image transition- Switching from a static generated image to a live AR try-on experience without a jarring context break was a UX and engineering problem simultaneously. The solution was a "mirror reveal" animation. The generated image fades into the live camera feed while the AR overlay loads, creating the illusion of a continuous visual transformation. It took three days and eleven prototypes to get the timing right. What we learned
  4. Skin science is deeply personal data- Reading someone's skin undertone, hydration level and dermal concerns with an AI API cross into genuinely intimate territory. I learned that the difference between a product that feels magical and one that feels invasive is entirely in the framing; how you ask for permission, how you explain what the AI is doing and how you give the user control over their data at every step. AURA's onboarding flow went through six iterations just on that consent moment.
  5. Generative AI needs a constraint to be useful- When I first integrated the Gen AI Text-to-Image call, I gave it maximum creative freedom. The outputs were beautiful and completely useless, fantastical, unshoppable looks that bore no relationship to what a real person could actually buy. I learned that the best generative outputs come from tightly constrained inputs. The prompt I eventually settled on feeds the model skin tone hex value, undertone classification, occasion string, and three style tokens extracted from user preference — and nothing else. The constraint is what makes the output feel personal rather than random. What's next for Aura This hackathon prototype demonstrates the core loop. The roadmap is clear: • Retailer SDK — a 3-line embed that adds AURA's skin-intelligent try-on to any existing e-commerce product page • Body try-on — extending Perfect Corp's AR capabilities to clothing and silhouette fitting • Skin journey tracking — longitudinal skin analysis that recommends skincare regimens based on how a user's skin changes over time.

Built With

  • 1.-languages-typescript
  • 4.
  • 5.
  • ai
  • analysis
  • api
  • cloud
  • corp?s
  • css-2.-frontend-next.js
  • framer-motion
  • javascript
  • lovable
  • lovable-edge-functions
  • perfect
  • python
  • react-18
  • react-webcam-3.-backend-next.js-api-routes
  • skin
  • tailwind-css
  • zod
  • zustand
Share this project:

Updates

Submission history