Colour analysis is huge on TikTok right now: people hold coloured fabric ("drapes") under their face to see whether they're a Soft Summer, a Deep Winter, and so on. The paid apps in this space do very well, but most of them want an account, an app install, or a selfie uploaded to a server before you see anything.
So I built Paleta (https://paletacolor.com): a free colour-season quiz plus a live camera drape mirror, in English and Spanish, that runs entirely in the browser.
#
What it does
- A short quiz maps you to one of the 12 seasons (rule-based scoring, not AI).
- You get your season, your 6 best colours and a shareable palette card.
- The drape mirror opens your front camera and frames your face with a band of colour, so you can flip between palettes and see which shades brighten your skin and which make you look tired.
- No sign-up. The camera stream never leaves the device.
#
How it's built
One self-contained index.html. HTML, CSS, JS, fonts (subsetted woff2) and season data all inline. No framework, no build step for the core app. #
Camera mirror:getUserMedia({ video: { facingMode: 'user' } }) feeds a hidden<video> , and each frame is centre-cropped, mirrored and drawn to a<canvas> with the colour drape painted around the face. No ML, no uploads, so it stays smooth on cheap phones. #
Share card: drawn on a<canvas> and exported withtoBlob() , then handed to the Web Share API (navigator.share({ files }) ) with a download fallback. #
i18n: a tiny dictionary object with EN/ES strings, language picked fromnavigator.language and switchable. #
PWA: a manifest plus a small service worker that caches the single page, so it opens offline and installs to the home screen. #
Hosting: Cloudflare Pages, free tier, deployed through the Pages direct-upload API. #
Payments: an optional $4.99 one-time "Plus" unlock uses a Stripe Payment Link that redirects back with a flag. No backend at all (yes, that's spoofable; for a $5 unlock I'm fine with it for now).
#
Things I learned
- Mobile Safari needs
playsinlineandmutedon the<video>or the camera preview goes fullscreen. - Lighting matters more than any algorithm. The app tells you to face a window in daylight, which improves results more than any code could.
- Bilingual from day one is cheap when the whole app is one file, and the Spanish-speaking colour-analysis community is underserved.
Try it here: https://paletacolor.com. I'd love feedback, especially on the camera mirror on different phones.