Color Analysis
Upload a portrait and get a personalized 12-season color analysis, palette, hair, and makeup direction, from Claude vision.
Seasonal color analysis is one of those things that's genuinely useful and almost impossible to get without paying a consultant. The advice is real (which colors make you look healthy versus washed out, what to do with your hair, how to approach makeup), but it's locked behind an appointment and a fair amount of jargon about undertones and contrast levels. I wanted to see how far a vision model could get on its own from a single photo.
Color Analysis is the answer. You drop in a portrait, the app sends it to Claude with vision, and you get back a structured 12-season read: your season, a wearable palette, hair direction, and optional makeup notes. Your photo goes to Claude for the read and isn't kept anywhere; there's no account, and the backend exists only to pass the image through and hand the result straight back.
How it works
- Upload a portrait: the React frontend takes one photo and lets you toggle whether you want makeup recommendations before you run the analysis.
- Claude does the vision read: an Express server writes the photo to a temp file, shells out to the Claude CLI in print mode, and parses the JSON it returns into a 12-season result.
- You get a full breakdown: season, a color palette to wear, hair direction, and makeup notes when you opted in, rendered as a card you can save as an image.
- Your photo isn't stored: it goes to Claude for the read, then the stateless server deletes the temp file the moment the CLI finishes; results live only in your browser's localStorage.
- It handles shared devices: each browser keeps its own list of past analyses (capped at 30), so several people on one laptop don't overwrite each other.
Stack
React 19 · Vite · TypeScript · Tailwind on the frontend, with an Express server that drives the Claude CLI for the vision analysis. No database, no auth, the API is stateless and results persist client-side in localStorage.