← The Vault
Digital EngineeringMMXXIClient:Wiseland Studio R&D

Color Palette Extractor

RGB
#171417#6E2731#C9A45A#E0C783#315F50
Source image→RGB Pixels→KMeans→Custom-size palette

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.

Download the .exe file

View the open-source repository on GitHub

❦