Inspiration

Beauty shopping is personal, but most beauty recommendation tools are still generic. They ask broad questions, show trending products, or give static skin quizzes without understanding how someone’s face actually looks that day.

Skin changes daily. A user may have tired-looking eyes before dinner, redness before a meeting, lower radiance before an interview, or extra oiliness before a party. The best makeup routine depends on that real-time context.

MoodLook was built to make beauty shopping more adaptive, visual, and useful.

It turns a real face photo into a personalized AI/AR beauty shopping journey:

Face scan → visible skin analysis → mood/occasion → personalized makeup look → AR try-on → shoppable routine

What it does

MoodLook is a skin-aware AR beauty shopping assistant powered by Perfect Corp technology.

Users upload a face photo or use demo mode. The app analyzes visible skin concerns such as moisture, oiliness, pores, texture, redness, acne, dark circles, eye bags, spots, wrinkles, radiance, and firmness. Then the user selects a mood or occasion, such as “I look tired,” “date night,” “job interview,” “party look,” or “professional meeting.”

MoodLook combines the skin analysis with the user’s context to generate a personalized beauty plan. For example, if a user chooses “I look tired” and the scan shows dark circles, eye bags, lower moisture, and lower radiance, MoodLook recommends a bright-eyed look focused on hydration, under-eye brightening, soft glow, and a smooth base.

The app shows:

  • Overall skin score and skin age
  • Main visible focus areas
  • Individual skin concern cards
  • Skin analysis mask previews
  • Personalized skin prep routine
  • Makeup steps tailored to the selected mood
  • Recommended look style and color palette
  • Makeup Virtual Try-On handoff
  • Shoppable product recommendations with explanations

MoodLook is not a medical app and does not diagnose skin conditions. It uses consumer beauty language such as visible skin concerns, skin state, focus areas, beauty goals, and product routines.

How it uses Perfect Corp

MoodLook integrates Perfect Corp AI Skin Analysis through the backend.

Since Perfect Corp expects a hosted image URL through src_file_url, uploaded images are first sent to Cloudinary. The backend then sends the hosted image URL to the Perfect Corp AI Skin Analysis endpoint and returns the results to the frontend.

The app also includes a backend flow for Perfect Corp Makeup Virtual Try-On using a structured look configuration, including lip color, texture, intensity, style, and shape. If live try-on is unavailable or demo mode is being used, MoodLook shows a polished AR-ready state so the full consumer journey remains clear.

Perfect Corp is the visual intelligence layer of MoodLook. It powers the transition from face photo to skin insight, makeup direction, try-on configuration, and product intent.

Retail value

MoodLook is not just a skin dashboard. It turns skin analysis into shopping action.

Instead of only saying “your moisture score is low,” MoodLook translates that result into a routine: hydrating moisturizer, dewy primer, lightweight foundation, brightening concealer, cream blush, warm lip tint, and glow setting spray.

Each product recommendation explains why it was suggested and includes an “Add to Routine” action. This creates a direct path from scan to purchase intent.

For consumers, MoodLook reduces uncertainty and helps them choose products based on how they actually look and feel that day. For retailers, it can increase engagement, improve product discovery, support bundled purchases, and make online beauty shopping feel more personalized.

How we built it

MoodLook is a full-stack web application built with React, Vite, Tailwind CSS, Framer Motion, Node.js, Express, Cloudinary, and Perfect Corp APIs.

The frontend provides the full consumer flow: image upload, demo mode, skin results, mood selection, personalized routine, try-on section, and product cards.

The backend handles image upload, Cloudinary hosting, Perfect Corp API requests, and serverless deployment support. We also built a normalization layer to handle different Perfect Corp response formats, including ui_score, score, mask URLs, summary values like all and skin_age, and image-only records like resize_image.

From there, MoodLook maps lower-scoring skin areas into beauty focus areas, prep steps, makeup techniques, try-on settings, and shoppable product categories.

Challenges

The biggest challenge was turning raw skin analysis data into a meaningful shopping experience. A skin score alone is useful, but users want to know what to do next.

We solved this by translating each visible concern into a beauty action: prep step, makeup recommendation, try-on configuration, and product suggestion.

Another challenge was working with the real image and API pipeline. Perfect Corp requires a hosted image URL, so we added Cloudinary as a temporary hosting layer before sending images to the skin analysis endpoint.

We also worked on making the app feel like a polished consumer product instead of a technical dashboard, with clear copy, demo mode, loading states, error handling, and a complete end-to-end flow.

What we learned

We learned that the strongest AI/AR beauty experiences are not just about virtual try-on. They are about context.

A user’s beauty needs depend on how their skin looks today, where they are going, how they want to feel, and what kind of finish they prefer. MoodLook connects those signals into one retail journey.

What’s next

Next, we would expand MoodLook with deeper Makeup Virtual Try-On support, real beauty product catalogs, live camera capture, saved skin profiles, trend tracking over time, budget-aware recommendations, and retailer analytics.

The long-term vision is for MoodLook to become a daily AI beauty companion that answers one simple question:

Based on how my skin looks today and where I am going, what should I wear, try on, and buy?

Built With

Share this project:

Updates