Inspiration
Buying skincare online is a guess. Product pages are written for everyone, ingredient lists are hard to read, and nobody can tell you whether a product suits your skin until you've already paid for it. Shoppers end up with products that irritate or dry them out. Retailers pay for those wrong purchases in returns and lost trust.
What it does
Shelf Check answers one question before you buy: will this product suit my skin?
- Measure. Take one selfie. The YouCam AI Skin Analysis API scores 8 concerns from 0 to 100: acne, moisture, oiliness, pores, redness, texture, wrinkles and dark circles.
- Paste. Copy the ingredient list from any product page.
- Judge. Three independent AI models from three different makers (Alibaba's Qwen3, DeepSeek and OpenAI's open-weight gpt-oss) each read the ingredients against your scores, concern by concern. For each concern they say helps, neutral or worsens, and name the ingredients behind it.
- Decide. You get one verdict (Good fit / Use with care / Poor fit) and how many models agree. Any concern where the models disagree is marked SPLIT instead of being hidden.
Example from the demo: for a sample gel cleanser, all three models agree on "use with care". Salicylic acid and niacinamide help pores, texture and oil control. Denatured alcohol, fragrance and menthol are likely to worsen redness and moisture on this skin.
How we built it
- YouCam API: AI Skin Analysis (server-to-server v2.0, SD mode, 8 concerns, 12 units per analysis). The flow is upload → pre-signed PUT → create task → poll → read
ui_score/raw_scoreper concern. - Backend: one AWS Lambda (Python 3.12, standard library only) behind a Function URL. The three judges run in parallel, and a reconciler computes the majority verdict, the agreement, per-concern splits and any dissent.
- Frontend: a single mobile-first HTML page with no external scripts.
- Tests: 5 offline tests cover the YouCam flow, error handling, JSON parsing and reconciliation.
Challenges we ran into
- Framing. Skin analysis needs the face to fill 60–80% of the frame, and real selfies are often too close or too far. The page now resizes in the browser and automatically re-frames and retries when YouCam reports
face_out_of_boundorface_too_small. - Making three models comparable. Models label concerns differently ("pores" vs "pore") and some wrap their JSON in prose. We pinned the concern keys in the prompt, normalised the labels, and made the parser robust.
Accomplishments that we're proud of
- It works end to end, live, in about 35 seconds: selfie, scores, verdict.
- Disagreement is shown as a feature. A shopper can see which parts of the answer all three makers agree on and which are still open.
What we learned
Skin data turns generic product claims into a personal answer. Asking independent models and reporting where they split is more honest than one confident answer.
What's next for Shelf Check
- A retailer widget: a "Check fit for my skin" button on product pages that reads the ingredient list automatically.
- Saved skin profiles, so one selfie works across every product.
- Comparing two products side by side for the same skin.
Built during the submission period
All code in the repository was written during the submission period (late October 2026); the commit history is public. The demo face is AI-generated, not a real person. The demo video uses no third-party music or trademarks other than naming the YouCam API.
Shelf Check is shopping guidance, not a medical device. For skin conditions, see a dermatologist.
Try it: https://rb3zrvsjhltwkfpadydcasehyu0iqlcu.lambda-url.us-east-2.on.aws/ (no sign-in: "Use the demo face" → "Try a sample product" → "Check this product") Code: https://github.com/DKJager/shelfcheck
Built With
- aws-lambda
- html5
- javascript
- nebius
- python
- youcam-api
Log in or sign up for Devpost to join the conversation.