Auto Palette
Turn any photo into a ready-to-use color palette
An ML-powered web app that extracts a clean, usable color palette from any uploaded image using K-Means clustering — handy for designers who want colors straight from a photo or mood board.
Auto Palette gives designers and developers a fast way to pull a coherent color scheme out of any image, instead of manually eyeballing hex codes with a color picker.
- Picking a matching color palette from an image by hand is tedious and inconsistent.
- Most online color-pickers only sample a single pixel at a time instead of representing the image as a whole.
A Next.js front end sends the uploaded image to a Flask backend, which processes it with K-Means clustering and returns the dominant colors.
User uploads an image in the Next.js UI
Image is sent to the Flask backend API
Backend preprocesses the image with Pillow/NumPy
K-Means clustering groups pixels into dominant color clusters
Cluster centers are converted to hex codes
Palette is returned and rendered in the UI
Key Architectural Decisions
- ✓Built a Flask API that runs K-Means clustering on image pixels to find the dominant colors.
- ✓Built a Next.js front end where users upload an image and instantly see the generated palette.
- ✓Added the ability to copy hex codes or download the palette for use in design tools.
- K-Means is a lightweight but effective way to summarize an image's color composition.
- Splitting the app into a Next.js frontend and a separate Flask ML service keeps each piece focused and easy to deploy independently.
- Small UX touches, like one-click copy of hex codes, matter a lot for a tool aimed at designers.