A color season analysis app that turns a season record into a full styling report: palettes, makeup, hair, jewelry, patterns, wardrobe notes, shopping guidance, and PDFs.
The report content is intentionally boring under the hood. Each of the twelve seasons lives in structured JSON and gets validated before it reaches the UI. Components receive a finished report model; they do not know how the data was loaded, where it came from, or whether a classifier was involved.
That separation helps because photo analysis is noisy. The classifier can say “soft autumn, medium confidence” and provide observations, but it does not write the wardrobe advice. The report comes from the same season data whether you visit a season page, download the PDF, or upload a photo.
Current state
All twelve season reports render from static data, with a season index and generated PDFs. The upload flow is being shaped as an ephemeral request: validate the file, classify it server-side, build the existing report, store nothing.
Notes
The useful part is the data model. The UI can stay simple and the classifier can be replaced. The hard part is keeping the content structured enough that the system does not drift into guesses.