Color Palette Extractor
Overview
Color Palette Extractor is a bilingual, offline-first desktop product for designers and developers who need repeatable palettes from visual references. The project combines product strategy, interface design, image processing, and machine learning in one focused creative workflow.
The challenge
Manual eyedropper sampling is slow and subjective. Designers needed a repeatable way to identify visually dominant colors while keeping private client imagery on their own computer.
Product strategy
The product was shaped as a lightweight, offline-first desktop utility for designers and frontend developers. Its bilingual English/Persian interface makes the workflow accessible without unnecessary steps.
Design and execution
OpenCV reads the source image and NumPy prepares the RGB pixel array. Scikit-learn KMeans groups related pixels around K centroids. These centroids become the dominant palette, presented as production-ready RGB and HEX values.
The desktop interface was implemented in Python with Tkinter and Pillow. Its linear workflow keeps the technical process out of the way: the user selects an image, chooses the palette size, runs the analysis, and compares the generated swatches with the source preview in the same window.
Deliverables
The completed product brings the core workflow and its supporting assets together:
- A palette size chosen by the user
- Image preview beside the generated palette
- Contrast-aware labels for legible HEX and RGB values
- English and Persian language modes
- Local processing for privacy-sensitive client assets
Outcome
Color Palette Extractor demonstrates Wiseland Studio's combined product-design and software-engineering practice: we do not only design creative tools—we can build them.
