Inspiration
I went on a trip to Egypt, and the sun did a lot of damage to my skin. It was so much harsher than at home. I used my usual routine, but within days my skin was burnt and dry, and dark marks stayed long after I got back. My weather app showed a UV number, but nothing told me what that sun would do to my skin, or what to pack before I left.
Then I thought about the people for whom that sun is far more dangerous. As many as 1 in 5,000 people in Sub-Saharan Africa have albinism, and in some countries a majority of persons with albinism die from skin cancer between 30 and 40 years of age (UN). With little or no melanin, strong sun can burn them in minutes
Sun advice forgets both ends of the scale. People with deep skin like mine are told we "don't really need sunscreen", while the sun leaves dark marks that take months to fade, and many sunscreens leave a white cast.
The brief says people think about their skin "right before a purchase, right after a bad breakout, or right when they're standing in front of a mirror." A trip has all three moments. So I built Parasol: sun safety for people with albinism, and every skin on the road.
What it does
Parasol is sun safety for people with albinism first, and every skin on the road. Turn on "I have albinism" and Parasol always uses the most protective setting: the shortest burn times, earlier protect hours, and a note on the result, forecast and today screens that strong sun can burn you in minutes. In the demo, start with Sam: YouCam read type V from her photo; with albinism Parasol uses type I.
One selfie and a trip in, a day-by-day skin forecast and a kit out. It's built around the brief's three moments.
. Right before a purchase: before you fly. You take one selfie (or skip it and pick your type by hand). YouCam reads your skin type, with the T-zone and cheeks read separately, eight concerns, and your sun type I to VI. You add your cities and dates. Parasol pulls the real hourly weather for every day from Open-Meteo and writes a forecast for your skin: humidity, cold, dry cabin air on flight days, UV, air quality. Very fair skin and albinism get a burn clock("you may start to burn in about X minutes") and protect hours, always labelled "Estimate. Not medical advice." Then Parasol builds a carry-on kit from 32 real products (sunscreens, moisturisers, cleansers, lip SPF, mist, after-sun, plus sun protection extras: UPF 50+ hats, sleeves, UV400 sunglasses). Every pick says why it's for you, and checkout runs through a real Shopify cart (test payment).
Right after a bad breakout: day 3 in a new city. You rescan in the hotel. Parasol compares the new scan with the one from home, shows only changes bigger than normal day-to-day noise, and names the likely cause from the real weather since you landed. In the demo, Ada's "Day 3 in Dubai" rescan shows her acne score 12 points worse, likely cause: muggy heat. You get a short "tonight" list and a safety line for when to see a pharmacist or doctor.
In front of the mirror: every morning. The Today page gives the routine for today's weather in the city's own time zone. Tap "I'm going out" and a sun timer counts down to your next reapply (2 hours, or 40/80 minutes after water or sweat). Read speaks every page. Low-vision mode gives big text and AAA contrast, and a gentle dark theme helps light-sensitive eyes.
Two demo travellers show both ends of the sun scale, on a Cairo → Dubai → Reykjavik trip with live weather:
- Sam, very fair skin with albinism: burn clock, protect hours, hat, sleeves and sunglasses.
- Ada, very deep skin: never told to skip sunscreen, advice about dark marks, and no-white-cast sunscreens first.
Their faces are AI-generated with YouCam, not real people, and the app says so.
How I built it
The YouCam call flow, wired end-to-end.** src/youcam.js is the one YouCam client; the key stays on the server.
POST /s2s/v2.0/file/skin-analysisregisters the photo once, then the bytes are PUT to the presigned URL. That gives onefile_id.- Two tasks run in parallel from that same
file_id:- AI Skin Analysis:
POST /s2s/v2.0/task/skin-analysiswith 9 actions (skin_type,oiliness,moisture,acne,redness,pore,age_spot,texture,radiance,format: json), polled atGET /s2s/v2.0/task/skin-analysis/{task_id}.skin_typecomes back per region (whole,t_zone,u_zone), which is how Parasol tells oily, dry, combination and normal apart. - Fitzpatrick Scale Analyzer:
POST /s2s/v2.0/task/fitzpatrick-scale-analyzer/pre-process(face check, which also catches group photos and no-face shots), thenPOST /s2s/v2.0/task/fitzpatrick-scale-analyzerwithversion: "1.0", polled until it returns type I to VI. That drives the burn clock and the advice.
- AI Skin Analysis:
- The server always polls to the end, because units are spent once a task runs. Results are cached by the photo's SHA-256, so the same photo never costs twice.
Two more YouCam tools built the demo:
- AI Skin Simulation (
POST /s2s/v2.0/task/skin-simulation) made Ada's "Day 3 in Dubai" photo from her baseline face. That photo was then analysed for real with Skin Analysis. - AI Image Generator V2: text-to-image (
POST /s2s/v2.0/task/text-to-image/youcam) made the demo faces for Sam and Ada, and image-to-image (POST /s2s/v2.0/task/image-to-image/youcam, modelyoucam-image-v2) made the campaign pictures from product photos. All are labelled as AI-generated.
The demo replays real captured YouCam results, so judges can try it at zero cost; a live scan uses the real API. Stack.Node 22 with plain ES modules, no framework and no npm dependencies. One router serves Vercel and local. Static HTML, CSS and JS front end, mobile-first and installable. Open-Meteo for hourly weather, air quality and city search. Shopify Storefront API for the catalog and cart (dev store, test checkout). Supabase only for the score cache and usage counters (no photos). Web Speech API for read-aloud. 200+ offline tests with YouCam, Shopify and Open-Meteo stubbed, including 68 attack tests (consent, unit abuse, cache poisoning, secrets, privacy).
The problem
Skin and sun care is sold as if everyone has the same middle-of-the-scale skin. Both ends lose.
Albinism: the sun is a real danger, and many can't read small screens.
- "As many as 1 in 5,000 people in Sub-Saharan Africa" have albinism, and "in some countries, a majority of persons with albinism die from skin cancer between 30 and 40 years of age." The same UN page says people with albinism "often have permanent visual impairment."
- The WHO's cancer agency IARC says "skin cancer is a leading cause of death" in people with albinism, who "develop skin cancer young, often in early adulthood."
- A 2026 meta-analysis of 12 studies (1,747 people) found a pooled skin cancer prevalence of 19% among people with albinism
Deep skin: willing to buy, but the products and advice don't fit.
- In a 2024 survey, 25% of skin-of-colour respondents named white cast as a barrier to sunscreen (7% of non-Hispanic White respondents), and 41% said they didn't know how to find suitable products (22%). Only 25% used sunscreen daily (31%).
- In darker skin, "pigmentation induced by visible light was darker and more sustained" than from UVA1. That's why Parasol talks about dark marks and tinted sunscreen, not just burning.
The survey above is a retail problem as much as a health one: shoppers who want to buy sun care but can't find a product that suits them leave without buying.
Growing Perfect Corp's own market.Perfect Corp has "a network of over 800 global brand partners" and its YouCam apps have "been downloaded over 1.1 billion times Parasol turns a YouCam skin scan into a reason to buy sun care before every trip, for the shoppers at both ends of the scale that beauty apps usually miss.
Challenges I ran into
- The analyzer and albinism. On the AI-generated face of a woman with albinism, the Fitzpatrick analyzer returned type V. I didn't hide it. Parasol shows the real reading, then uses type I, the most careful setting, when the person says they have albinism: "YouCam read type V; with albinism Parasol uses type I." The albinism switch and "Not right? Choose your sun type" are always one tap away.
- Telling a real change from noise. Two scans of the same face never match exactly. Parasol only shows changes past a set threshold, and only names a cause when the weather since landing supports it. Otherwise it says the weather doesn't explain the change.
- Spending units carefully. YouCam spends units once a task runs, so the server always polls to the end, caches by photo hash, and has a per-person limit, a daily cap, a unit floor and a kill switch.
- Real products, real claims. Every product claim (SPF, size, finish, water resistance) is traced to a source; anything I couldn't check was dropped. The shop says "Demo shop. Not affiliated with these brands."
- Weather beyond 16 days. Forecasts only reach about 16 days, so later trip days use last year's weather on those dates, clearly labelled "Typical (last year)".
Accomplishments that I'm proud of
- Both ends of the sun scale handled on purpose, with tests: deep skin is never told to skip sunscreen at any UV, and albinism is never under-protected.
- The honest type V / type I moment, shown on screen instead of hidden.
- Five YouCam tools in one product, and a real Shopify checkout at the end.
- Low-vision mode, gentle dark and read-aloud on every page, built in from day one, not added at the end.
- Photos are never stored by Parasol; "My data → Delete everything" removes the saved scores.
What I learned
- A skin score means little alone. Paired with the weather in the city you're in, it becomes something you can act on today.
- AI readings can be wrong at the edges. The right answer is to show the reading and let a person correct it.
- Accessibility features help everyone: big text and read-aloud are easier on a phone in bright sun, too.
What's next
- Partner with albinism groups in Nigeria and across Africa to test Parasol with real users and make it work on low-end phones.
- Let brands plug in their own catalogs, so a retailer can offer "your trip kit" next to a YouCam scan.
- A rescan reminder on day 2 or 3 of a trip, and offline mode for flights.
- More languages, starting with Yoruba, Hausa, Igbo and Nigerian Pidgin for read-aloud.
Honest limits
- Not medical advice. Parasol speaks weather and skincare, not medicine. Burn times are labelled estimates.
- The burn clock uses published average ranges per sun type, rounded down to stay careful. Real skin varies.
- The demo faces and campaign pictures are AI-generated, and Ada's Day 3 photo is a YouCam Skin Simulation. The app labels all of them.
- The shop is a Shopify development store with test payments; no real money moves, and Parasol is not affiliated with the brands.
- Parasol hasn't yet been tested with people with albinism or low vision. That's the first thing I want to do next.
Built With
- ai-image-generator
- ai-skin-analysis
- css3
- fitzpatrick-scale-analyzer
- html5
- javascript
- node.js
- open-meteo
- perfect-corp
- shopify
- shopify-storefront-api
- skin-simulation
- supabase
- vercel
- web-speechai
- youcam-api
Log in or sign up for Devpost to join the conversation.