SkinCause
AI-powered acne insights, affordable guidance, and measurable progress.
Inspiration
Acne-related concerns can affect confidence and create an expensive cycle of trial-and-error purchases. A person may change several products at once, follow generic nutrition advice, and react to a single selfie score without knowing whether lighting or camera conditions affected the result. Professional guidance is not always immediately accessible, while many skincare applications stop after generating a score or recommending more products.
We created SkinCause to offer a more accessible starting point. The idea is to combine visible skin measurements, an affordable product plan, practical nutrition context, and a controlled one-change experiment. Instead of promising a cure or treating an AI result as a diagnosis, SkinCause helps users choose one measurable action and observe what happens through repeatable scans.
What it does
SkinCause is an acne-focused web and Android application that guides the user through a complete measurement and experimentation loop:
- The user uploads a portrait, takes a photo, or selects the synthetic demo image.
- YouCam AI Skin Analysis measures visible acne-related cosmetic signals such as blemishes, redness, oiliness, pores, and texture.
- The scan page displays normalized measurements and available YouCam segmentation overlays.
- Acne Plan combines the scan baseline with the user's routine and a quantified nutrition plan.
- The user enters a budget and asks the AI Experiment Studio for one product action: keep, suspend, replace, or add a product.
- The suggestion can include a real candidate product, image, package size, price context, availability, and source link.
- YouCam AI Skin Simulation applies selected cosmetic parameters to the same baseline portrait.
- An interactive before-and-after slider makes the experiment goal understandable while labeling it as an illustration—not a guaranteed outcome.
- Follow-up YouCam scans let the user compare real measurements over time.
The complete journey is available through a disposable guest demo, so judges can test it without creating an account or providing their own face image.
How we built it
SkinCause is a TypeScript monorepo designed so the web and mobile applications share the same product rules and backend integrations.
Architecture
┌──────────────────────────── Client applications ────────────────────────────┐
│ Next.js web app Expo / React Native Android app │
│ Landing, Scan, Acne Plan, Native camera/gallery, same plans, │
│ Experiment Studio, Products experiments, products, simulation │
└───────────────────────────────┬──────────────────────────────────────────────┘
│
Shared contracts, API client, domain rules,
wording, and design tokens
│
▼
Versioned Next.js /api/v1
│
▼
┌──────────────────────── Server-core orchestration ──────────────────────────┐
│ Contract validation • task idempotency • polling • normalization • errors │
│ experiment rules • recommendation context • privacy and retention policy │
└───────────────┬──────────────────────┬───────────────────────┬───────────────┘
│ │ │
▼ ▼ ▼
YouCam Skin Analysis YouCam Skin Simulation OpenAI Responses API
v2.1 v2.0 structured guidance
│ │ │
└──────────────────────┴───────────────┬───────┘
▼
Supabase Auth, Postgres,
private Storage, and RLS
The primary layers are:
apps/web: Next.js App Router interface and thin/api/v1transport handlers.apps/mobile: Expo Router client that uses the same API, contracts, and domain wording as the web application.packages/contracts: Zod schemas for requests, responses, provider states, and error envelopes.packages/api-client: a portable fetch client used by browsers and React Native.packages/domain: shared experiment policy, nutrition data, labels, seeded demo data, and simulation parameter calculation.packages/association-engine: deterministic evidence calculations for controlled one-change experiments.packages/server-core: server-only YouCam and OpenAI provider adapters, task orchestration, normalization, and persistence services.- Supabase: anonymous/email authentication, owner-scoped Postgres records, private image storage, Row Level Security, and data deletion.
YouCam AI Skin Analysis v2.1
Skin Analysis establishes the baseline and supplies the repeatable measurements used throughout the product. Credentials remain on the server; neither client calls YouCam directly.
For each requested scan, SkinCause:
- validates the image type, size, dimensions, ownership, and client request ID;
- requests a YouCam file slot through
POST /s2s/v2.1/file/skin-analysis; - uploads the image to the signed URL returned by YouCam;
- creates an asynchronous task through
POST /s2s/v2.1/task/skin-analysis; - requests the selected cosmetic concerns with mask overlays enabled;
- polls
GET /s2s/v2.1/task/skin-analysis/{task_id}until success or a normalized error; - validates the response schema with Zod; and
- converts the provider scores into a consistent visible-severity scale while preserving safe segmentation masks and provider/profile versions.
These YouCam results are not discarded after the result screen. They become the Acne Plan baseline, determine which measurements are locked into the experiment, provide structured evidence for the affordable routine suggestion, and support follow-up comparisons.
OpenAI receives normalized YouCam measurements and structured routine information—not the user's image, YouCam authorization headers, or raw provider URLs.
YouCam AI Skin Simulation v2.0
Skin Simulation is used at a separate lifecycle moment: after the experiment goal has been selected. SkinCause sends the same baseline portrait with the selected cosmetic parameters, including relevant acne, oiliness, pore, redness, spot, radiance, and texture settings.
The server performs YouCam's asynchronous file/upload/task/poll workflow, validates the returned HTTPS image and its file type and size, and exposes the result through private short-lived storage or a no-store guest response. Persisted task IDs and idempotency hashes prevent repeated button presses or application resumes from creating duplicate paid tasks.
The original and YouCam-generated images are rendered in an interactive comparison slider. The interface explicitly states that the simulation is an illustrative goal rather than a prediction that a recommended product will produce that appearance. Real progress must be evaluated through later YouCam Skin Analysis scans.
SkinCause
AI-powered acne insights, affordable guidance, and measurable progress.
Inspiration
Acne-related concerns can affect confidence and create an expensive cycle of trial-and-error purchases. A person may change several products at once, follow generic nutrition advice, and react to a single selfie score without knowing whether lighting or camera conditions affected the result. Professional guidance is not always immediately accessible, while many skincare applications stop after generating a score or recommending more products.
We created SkinCause to offer a more accessible starting point. The idea is to combine visible skin measurements, an affordable product plan, practical nutrition context, and a controlled one-change experiment. Instead of promising a cure or treating an AI result as a diagnosis, SkinCause helps users choose one measurable action and observe what happens through repeatable scans.
What it does
SkinCause is an acne-focused web and Android application that guides the user through a complete measurement and experimentation loop:
- The user uploads a portrait, takes a photo, or selects the synthetic demo image.
- YouCam AI Skin Analysis measures visible acne-related cosmetic signals such as blemishes, redness, oiliness, pores, and texture.
- The scan page displays normalized measurements and available YouCam segmentation overlays.
- Acne Plan combines the scan baseline with the user's routine and a quantified nutrition plan.
- The user enters a budget and asks the AI Experiment Studio for one product action: keep, suspend, replace, or add a product.
- The suggestion can include a real candidate product, image, package size, price context, availability, and source link.
- YouCam AI Skin Simulation applies selected cosmetic parameters to the same baseline portrait.
- An interactive before-and-after slider makes the experiment goal understandable while labeling it as an illustration—not a guaranteed outcome.
- Follow-up YouCam scans let the user compare real measurements over time.
The complete journey is available through a disposable guest demo, so judges can test it without creating an account or providing their own face image.
How we built it
SkinCause is a TypeScript monorepo designed so the web and mobile applications share the same product rules and backend integrations.
Architecture
┌──────────────────────────── Client applications ────────────────────────────┐
│ Next.js web app Expo / React Native Android app │
│ Landing, Scan, Acne Plan, Native camera/gallery, same plans, │
│ Experiment Studio, Products experiments, products, simulation │
└───────────────────────────────┬──────────────────────────────────────────────┘
│
Shared contracts, API client, domain rules,
wording, and design tokens
│
▼
Versioned Next.js /api/v1
│
▼
┌──────────────────────── Server-core orchestration ──────────────────────────┐
│ Contract validation • task idempotency • polling • normalization • errors │
│ experiment rules • recommendation context • privacy and retention policy │
└───────────────┬──────────────────────┬───────────────────────┬───────────────┘
│ │ │
▼ ▼ ▼
YouCam Skin Analysis YouCam Skin Simulation OpenAI Responses API
v2.1 v2.0 structured guidance
│ │ │
└──────────────────────┴───────────────┬───────┘
▼
Supabase Auth, Postgres,
private Storage, and RLS
The primary layers are:
apps/web: Next.js App Router interface and thin/api/v1transport handlers.apps/mobile: Expo Router client that uses the same API, contracts, and domain wording as the web application.packages/contracts: Zod schemas for requests, responses, provider states, and error envelopes.packages/api-client: a portable fetch client used by browsers and React Native.packages/domain: shared experiment policy, nutrition data, labels, seeded demo data, and simulation parameter calculation.packages/association-engine: deterministic evidence calculations for controlled one-change experiments.packages/server-core: server-only YouCam and OpenAI provider adapters, task orchestration, normalization, and persistence services.- Supabase: anonymous/email authentication, owner-scoped Postgres records, private image storage, Row Level Security, and data deletion.
YouCam AI Skin Analysis v2.1
Skin Analysis establishes the baseline and supplies the repeatable measurements used throughout the product. Credentials remain on the server; neither client calls YouCam directly.
For each requested scan, SkinCause:
- validates the image type, size, dimensions, ownership, and client request ID;
- requests a YouCam file slot through
POST /s2s/v2.1/file/skin-analysis; - uploads the image to the signed URL returned by YouCam;
- creates an asynchronous task through
POST /s2s/v2.1/task/skin-analysis; - requests the selected cosmetic concerns with mask overlays enabled;
- polls
GET /s2s/v2.1/task/skin-analysis/{task_id}until success or a normalized error; - validates the response schema with Zod; and
- converts the provider scores into a consistent visible-severity scale while preserving safe segmentation masks and provider/profile versions.
These YouCam results are not discarded after the result screen. They become the Acne Plan baseline, determine which measurements are locked into the experiment, provide structured evidence for the affordable routine suggestion, and support follow-up comparisons.
OpenAI receives normalized YouCam measurements and structured routine information—not the user's image, YouCam authorization headers, or raw provider URLs.
YouCam AI Skin Simulation v2.0
Skin Simulation is used at a separate lifecycle moment: after the experiment goal has been selected. SkinCause sends the same baseline portrait with the selected cosmetic parameters, including relevant acne, oiliness, pore, redness, spot, radiance, and texture settings.
The server performs YouCam's asynchronous file/upload/task/poll workflow, validates the returned HTTPS image and its file type and size, and exposes the result through private short-lived storage or a no-store guest response. Persisted task IDs and idempotency hashes prevent repeated button presses or application resumes from creating duplicate paid tasks.
The original and YouCam-generated images are rendered in an interactive comparison slider. The interface explicitly states that the simulation is an illustrative goal rather than a prediction that a recommended product will produce that appearance. Real progress must be evaluated through later YouCam Skin Analysis scans.
Meeting the hackathon requirement
The hackathon requires a working application that meaningfully integrates at least one Perfect Corp. YouCam API and demonstrates consumer or retail value. SkinCause integrates two YouCam Skin APIs in a non-trivial end-to-end workflow:
- Skin Analysis v2.1 acts as a repeatable measurement instrument at baseline and follow-up.
- Skin Simulation v2.0 creates a visual, motivational representation of the selected experiment goal.
- The application implements provider file creation, signed upload, asynchronous task creation, polling, response validation, segmentation overlays, normalization, idempotency, recovery states, and privacy controls.
- The YouCam outputs drive the Acne Plan, experiment measurements, affordable recommendation context, simulation, and longitudinal comparison across both web and Android clients.
This creates clear consumer value: a user can move from an abstract skin score to one affordable, testable action while keeping the difference between measurement, AI guidance, and illustration visible.
OpenAI, affordability, and nutrition
The OpenAI Responses API receives a structured context containing normalized YouCam measurements, routine products, experiment evidence, the user's budget, market preference, and nutrition guardrails. It returns schema-validated guidance that can be automatically applied to the experiment. Product price and availability remain visibly time-sensitive, and users are directed to verify them before purchasing.
Nutrition guidance uses practical daily quantities and conservative food context. It does not prescribe restrictive diets or claim that a food caused acne. Food observations remain separate from the active product change so the experiment does not introduce multiple variables at once.
Reliability and privacy
We built deterministic mock providers for automated testing and a live provider path for the deployed demonstration. External tasks use idempotency keys, stored task IDs, resumable polling, timeouts, schema-drift handling, and user-facing recovery states. YouCam, OpenAI, and Supabase service credentials stay on the server. Original images are deleted by default after normalized results are available, and users can delete the disposable workspace from Acne Plan.
Challenges we ran into
The hardest work was making two asynchronous YouCam APIs reliable across Vercel, a browser, and a native Android client. We also had to keep the same baseline image connected to analysis, experiment evidence, and simulation while handling temporary provider URLs, resumable tasks, and strict privacy boundaries.
Accomplishments that we're proud of
We built a working web and Android experience that uses two YouCam APIs at distinct moments, not as isolated demos. We are especially proud of the consistent synthetic journey, inspectable segmentation overlays, budget-aware experiment plan, and honest before-and-after simulation slider.
What we learned
We learned that an AI score becomes much more useful when its capture conditions, uncertainty, and next measurement are visible. We also learned that simulation is most trustworthy when it motivates a goal without being presented as evidence that a product will work.
What's next for SkinCause
Next, we want to strengthen the longitudinal experience with scheduled follow-up reminders, capture-consistency checks, and clearer trend visualization across several YouCam scans. We also plan to expand the affordable product catalog with region-aware price and availability verification while keeping one-change experiment rules intact.
Future work includes user-configurable nutrition observations, exportable dermatologist discussion reports, production-signed Android and iOS releases, stronger accessibility testing, and additional privacy controls for image retention. Any clinical expansion would require qualified medical review; SkinCause will continue to distinguish cosmetic measurements, general guidance, and illustrative simulations from diagnosis or treatment.
Reliability and privacy
We built deterministic mock providers for automated testing and a live provider path for the deployed demonstration. External tasks use idempotency keys, stored task IDs, resumable polling, timeouts, schema-drift handling, and user-facing recovery states. YouCam, OpenAI, and Supabase service credentials stay on the server. Original images are deleted by default after normalized results are available, and users can delete the disposable workspace from Acne Plan.
Challenges we ran into
The hardest work was making two asynchronous YouCam APIs reliable across Vercel, a browser, and a native Android client. We also had to keep the same baseline image connected to analysis, experiment evidence, and simulation while handling temporary provider URLs, resumable tasks, and strict privacy boundaries.
Accomplishments that we're proud of
We built a working web and Android experience that uses two YouCam APIs at distinct moments, not as isolated demos. We are especially proud of the consistent synthetic journey, inspectable segmentation overlays, budget-aware experiment plan, and honest before-and-after simulation slider.
What we learned
We learned that an AI score becomes much more useful when its capture conditions, uncertainty, and next measurement are visible. We also learned that simulation is most trustworthy when it motivates a goal without being presented as evidence that a product will work.
What's next for SkinCause
Next, we want to strengthen the longitudinal experience with scheduled follow-up reminders, capture-consistency checks, and clearer trend visualization across several YouCam scans. We also plan to expand the affordable product catalog with region-aware price and availability verification while keeping one-change experiment rules intact.
Future work includes user-configurable nutrition observations, exportable dermatologist discussion reports, production-signed Android and iOS releases, stronger accessibility testing, and additional privacy controls for image retention. Any clinical expansion would require qualified medical review; SkinCause will continue to distinguish cosmetic measurements, general guidance, and illustrative simulations from diagnosis or treatment.
Built With
- react
- skin-analysis
- skin-simulation
- youcam
Log in or sign up for Devpost to join the conversation.